תוכן עניינים:

בנה לוח מחוונים של מזג אוויר באמצעות API של Sky Sky: 5 שלבים (עם תמונות)
בנה לוח מחוונים של מזג אוויר באמצעות API של Sky Sky: 5 שלבים (עם תמונות)

וִידֵאוֹ: בנה לוח מחוונים של מזג אוויר באמצעות API של Sky Sky: 5 שלבים (עם תמונות)

וִידֵאוֹ: בנה לוח מחוונים של מזג אוויר באמצעות API של Sky Sky: 5 שלבים (עם תמונות)
וִידֵאוֹ: The Ten Commandments | Dwight L Moody | Free Christian Audiobook 2024, יולי
Anonim
Image
Image

Dark Sky מתמחה בחיזוי מזג אוויר והדמיה. ההיבט המגניב ביותר של Dark Sky הוא ה- API של מזג האוויר שבו אנו יכולים להשתמש כדי לאחזר את נתוני מזג האוויר כמעט מכל מקום בעולם. לא רק שמזג האוויר גשום או שטוף שמש אלא הטמפרטורה, נקודת הטל, משב רוח, לחות, משקעים, לחץ, מדד UV ועוד, והכל זמין בקלות לכל מקום שתרצו, מתי שתרצו.

בואו ללמוד כיצד להשתמש ב- API הסופר פשוט של Dark Sky. אם אתה משתמש חדש ב- API אני מבטיח לך שזה יהיה ממש קל! ואם השתמשת בעבר בממשקי API, אני מקווה שנוכל ללמד אותך משהו חדש עם הקוד שהשתמשנו בו.

מה תצטרך לפרויקט זה:

  • חשבון API של Dark Sky
  • חשבון המדינה הראשוני
  • פטל פאי או מחשב נייד

שלב 1: תחילת העבודה

כבר השקענו הרבה עבודת רגליים בשביל שאתה מחבר את הקוד וארגן את המידע. רק נצטרך לבצע כמה התאמות בדרך. אם אתה רוצה קצת אתגר בצע כמה שינויים בקוד שלנו ובאיזה נתוני מזג אוויר נשלחים, יש אפשרויות בלתי מוגבלות!

כדי לאחזר את כל הדברים שהכנו עבורך, יהיה עליך לשכפל את המאגר מ- GitHub. GitHub הוא שירות המאפשר לנו לאחסן, לשנות ולנהל פרויקטים כאלה. תרצה להריץ סקריפט זה במכשיר ייעודי. פטל פטל היא אפשרות מושלמת להפעלת יישומים כמו הדרכה זו.

כדי לשכפל את המאגר כל שעלינו לעשות הוא להיכנס למסוף ה- Pi שלנו, או למסוף המחשבים שלך ש- SSH היה לתוך ה- Pi שלך והקלד פקודה זו:

שיבוט $ git

הקש enter ותראה מידע זה:

שיבוט לתוך 'דארקסקי' …

מרחוק: ספירת אובייקטים: 2, הסתיים. מרחוק: סה כ 2 (דלתא 0), שימוש חוזר 0 (דלתא 0), שימוש חוזר באריזה 2 אובייקטים של פריקה: 100% (2/2), נעשה. בודק קישוריות … הסתיים.

ברגע שאתה רואה את זה אז כל הכבוד לך, שיבטת בהצלחה את Repo GitHub ויש לך את כל הקבצים הדרושים לבניית הפרויקט הזה. לפני שנמשיך לשלב הבא, בואו ניקח זמן לחקור בספרייה זו וללמוד כמה פקודות בסיסיות של שורת הפקודה.

הקלד את הפקודה למטה במסוף שלך:

ש ס

פקודה זו מפרטת את כל מה שיש בספרייה שבה אתה נמצא כרגע. רשימה זו מראה שה- GitHub Repo שלנו שוכפל בהצלחה לתוך הספרייה שלנו בשם "darksky". בואו נסתכל על מה שיש בספרייה הזו. כדי לעבור לספרייה, כל שעליך לעשות הוא להקליד "cd" ולאחר מכן להקליד את שם הספרייה שאליה ברצונך לעבור.

במקרה זה, נקליד:

$ cd darksky

ברגע שנלחץ על enter, תראה שאנחנו נמצאים כעת בספריית darksky. בואו להקליד "ls" שוב כדי לראות אילו קבצים התקנו ב- pi שלנו.

README.md darksky.py…

כאן אנו רואים שיש לנו את מסמך ה- readme שלנו וקובצי פייתון. בואו נסתכל על darksky.py באמצעות הפקודה "ננו". פקודת nano מאפשרת לנו לפתוח את עורך הטקסט של nano שבו יש לנו את כל קוד הפיתון שלנו עבור כל קטע של הפרויקט הזה. קדימה והקלד:

$ nano darksky.py

כאן תוכל לראות את כל הקוד שהכנו עבורך לפרויקט זה. אנחנו לא מתכוונים לבצע שינויים במסמך זה עדיין, אך אל תהסס לגלול ולראות מה אנחנו הולכים לעשות מאוחר יותר במדריך זה.

שלב 2: שימוש בממשק ה- Dark Sky

מצב התחלתי
מצב התחלתי

על מנת להשתמש ב- Dark Sky API, תחילה עליך מפתח API משלך. אל תדאג, קבלת מפתח API היא מהירה וללא תשלום. כל שעליך לעשות הוא להיכנס לאתר וללחוץ על "נסה בחינם" כדי ליצור חשבון.

  • אתה מקבל 1,000 קריאות API בחינם בכל יום. כל בקשת API מעל למגבלה היומית החינמית עולה $ 0,0001.
  • מגבלה זו מתאפסת באופן אוטומטי בכל יום בחצות UTC.
  • בקשת התחזית מחזירה את תחזית מזג האוויר הנוכחית לשבוע הקרוב.
  • The Time Machine Request מחזירה את תנאי מזג האוויר שנצפו או צפויים לתאריך בעבר או בעתיד.

מפתח ה- API הסודי שלך של Dark Sky ייראה בערך כך: 0123456789abcdef9876543210fedcba.

תוכל לבצע קריאת API ל- Dark Sky על ידי הקלדת כתובת אתר בדפדפן שלך בפורמט הבא:

api.darksky.net/forecast/phiakey]/[latitude], [אורך]

החלף את "מפתח" במפתח ה- API שלך ב- Dark Sky ובאורך/רוחב בכל מה שאתה רוצה. תוכל למצוא את אורך הרוחב שלך על ידי מעבר למפות Google וחיפוש במיקום שלך. ערכים אלה יהיו בכתובת האתר. העתק והדבק את כתובת ה- URL של השמים האפלים לעיל עם מפתח הגישה והערכים שלך הוסיף לשורת כתובת.

ברגע שתעשה זאת תראה משהו כזה:

day "," nearbyStormDistance ": 57," nearbyStormBearing ": 15," precipIntensity ": 0," precipProbability ": 0," טמפרטורה ": 53.9," לכאורה טמפרטורה ": 53.9," dewPoint ": 29.59," לחות ": 0.39, "לחץ": 1022.45, "windSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "נראות": 7.8, "אוזון": 309.71}, "דקות": {"סיכום": "נקה לשעה.", "סמל": "יום בהיר", "נתונים": [{"זמן": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…

זה יכול להיות קצת מכריע וקשה לקרוא אז מה שאני ממליץ לעשות הוא להשתמש בפורמט JSON כדי להפוך את הנתונים לקריאים יותר. כשאתה עושה את זה זה יראה בערך כך:

אובייקט {9}

קו הרוחב: 37.8267 אורך: -122.4233 אזור הזמן: אמריקה/לוס_אנג'לס כרגע {19} זמן: 1550615286 סיכום: סמל ברור: יום בהיר הקרוב ביותר סופה מרחק: 57 הקרוב ביותר סופה נושאת: 15 משקעים עוצמה: 0 משקעים סבירות: 0 טמפרטורה: 53.9 לכאורה טמפרטורה: 53.9 טל: 29.59 לחות: לחץ 0.39: 1022.45 רוח מהירות: 3.87 רוח משב: 9.25 רוח מיסב: 259 ענן כיסוי: 0.01 uv אינדקס: 3 ראות: 7.8 אוזון: 309.71

רק עשית שיחת API! רואים כמה זה היה קל? לא היית צריך אפילו לכתוב שורת קוד אחת. כעת, לאחר ששלטת בממשקי API, אנו יכולים לעבור לחלק הזרמת הנתונים.

שלב 3: מצב ראשוני

אנחנו רוצים להזרים את כל נתוני מזג האוויר שלנו לשירות ענן ושירות זה יהפוך את הנתונים שלנו ללוח מחוונים נחמד שאליו נוכל לגשת מהמחשב הנייד או מהמכשיר הנייד שלנו. הנתונים שלנו זקוקים ליעד. נשתמש במצב התחלתי כיעד זה.

שלב 1: הירשם לחשבון המדינה הראשוני

עבור אל https://iot.app.initialstate.com וצור חשבון חדש. אתה מקבל ניסיון חינם למשך 14 יום וכל מי שיש לו כתובת דוא ל של edu יכול להירשם לתכנית סטודנטים בחינם.

שלב 2: התקן את ISStreamer

התקן את מודול ה- Python Initial State על ה- Raspberry Pi שלך. בשורת הפקודה, הפעל את הפקודה הבאה:

$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

שלב 3: בצע כמה Automagic לאחר שלב 2 תראה משהו הדומה לפלט הבא למסך:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: החל מ- ISStreamer פייתון התקנה קלה! ההתקנה עשויה להימשך מספר דקות, לקחת קפה:) אבל אל תשכח לחזור, יהיו לי שאלות בהמשך! נמצא easy_install: setuptools 1.1.6 נמצא pip: pip 1.5.6 מתוך /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer נמצא, מתעדכן … הדרישה כבר מעודכנת: ISStreamer ב- /Library/Python/2.7/site-packages ניקוי … האם אתה רוצה לקבל אוטומטית סקריפט לדוגמה? [y/N] היכן ברצונך לשמור את הדוגמה? [ברירת מחדל:./is_example.py] אנא בחר באיזו אפליקציית מצב ראשוני אתה משתמש: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com הזן אפשרות 1 או 2: הזן iot.app שם משתמש.initialstate.com: הזן את הסיסמה של iot.app.initialstate.com:

כשנשאל אם ברצונך לקבל סקריפט לדוגמה באופן אוטומטי שים "y" עבור כן ולחץ על enter כדי לשמור את הסקריפט שלך במיקום ברירת המחדל. לשאלה לגבי איזו אפליקציה אתה משתמש, בחר 2 (אלא אם נרשמת לפני נובמבר 2018) והזן את שם המשתמש והסיסמה שלך.

שלב 4: הפעל את הסקריפט לדוגמה

הפעל את סקריפט הבדיקה כדי לוודא שנוכל ליצור זרם נתונים לחשבון המדינה הראשונית שלך. כתוב את הפקודה הבאה:

$ python is_example.py

שלב 6: נתוני דוגמה

חזור לחשבון המדינה הראשונית שלך בדפדפן האינטרנט שלך. דלי נתונים חדש בשם "דוגמת זרם פייתון" היה צריך להופיע בצד שמאל במדף היומן שלך (ייתכן שיהיה עליך לרענן את הדף). לחץ על דלי זה כדי להציג את הנתונים שלך.

שלב 4: לוח המחוונים של מזג אוויר כהה

לוח מחוונים של מזג אוויר כהה
לוח מחוונים של מזג אוויר כהה

עכשיו לחלק המהנה. אנו מוכנים להתחיל להשתמש ב- Dark Sky API כדי ליצור לוח מחוונים של מזג אוויר ולתעד את היסטוריית מזג האוויר עבור המיקום שאנו בוחרים. לשם כך אנו הולכים להשתמש בסקריפט Python: https://github.com/initialstate/darksky/blob/master/darksky.py. סקריפט זה פשוט מכנה את ה- API של Sky Sky באמצעות מפתח ה- API שלך ומאחזר את פרטי מזג האוויר במרווח זמן שצוין. הוא גם זורם נתונים אלה לחשבון המדינה הראשונית שלך, שיאפשר לך ליצור לוח מחוונים של מזג אוויר כהה.

אתה יכול להעתיק את הסקריפט הזה ל- Pi שלך, או לגשת אליו באמצעות מאגר GitHub ששבטנו קודם לכן. אתה יכול לעשות זאת על ידי שינוי לספריית darksky שלך על ידי הקלדת:

$ cd darksky

מכאן תוכל לגשת לקובץ הפייתון שנפעיל כדי ליצור את לוח המחוונים של מזג האוויר. לפני שתפעיל אותו, עליך להגדיר את הפרמטרים הרצויים ולהכניס את המפתחות שלך. ננו לתוך הקובץ darksky.py על ידי הקלדת:

$ nano darksky.py

לאחר מכן ערוך את הקטע ליד החלק העליון של התסריט:

# --------- הגדרות משתמש ---------

CITY = "נאשוויל" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "מקם את DARK SKY API שלך כאן" BUCKET_NAME = ": Part_sunny:" + CITY + "Weather" BUCKET_KEY = "ds1" ACCACECKEY = מפתח כאן "MINUTES_BETWEEN_READS = 15 # ---------------------------------

עליך להגדיר את קואורדינטות ה- GPS ואת שם העיר הרצויה. עליך גם להכניס את מפתח ה- API של Dark Sky ואת מפתח הגישה לחשבון המדינה הראשונית שלך, אחרת הנתונים שלך לא יגיעו לשום מקום. הפרמטר MINUTES_BETWEEN_READS יקבע את התדירות שבה התסריט שלך יסקור את ה- API של Sky Sky למידע על מזג האוויר. 15 דקות מספקות מרווח נחמד לטווח ארוך. לצורך בדיקות לטווח קצר, אתה יכול להגדיר את זה ל- 0.5 דקות. בצע את השינויים ולאחר מכן הזן את השליטה+X כדי לצאת ולשמור.

לאחר שתגדיר את הפרמטרים שלך, אתה מוכן להריץ את הסקריפט שלך:

$ python darksky.py

אם אתה נכנס ל- Pi שלך ורוצה להשאיר את התסריט פועל ללא הפרעה במשך זמן רב, תוכל להשתמש בפקודת nohup (ללא ניתוק) כדלקמן:

$ nohup פייתון darksky.py &

התסריט הזה הולך לעשות קצת יותר מאשר רק לקרוא את נתוני מזג האוויר ולשלוח אותם למצב התחלתי. סקריפט זה עומד לנצל את התמיכה באמוג'י המובנית בכלים של Initial State כדי להפוך את לוח המחוונים לקצת יותר מגניב. אתה יכול לראות את ההיגיון המשמש להוצאת מצב מזג האוויר מהסמל כרגע -> ולהמיר אותו לאסימון אמוג'י בפונקציית weather_icon. משהו דומה קורה לשלב הירח בפונקציית moon_icon ולכיוון הרוח בפונקציית wind_dir_icon.

שלב 5: מסקנה

סיכום
סיכום
סיכום
סיכום

עבור אל חשבון המדינה הראשונית שלך והסתכל על הנתונים שלך. שיניתי את כל ערכי האחוזים שלי למדדי קשת, המשקעים למד נוזלי, והטמפרטורה למד טמפרטורה. אתה יכול לשנות את כל סוגי סוגי האריחים ולבחור את הצבעים שלך עבור מדידי ותרשימי הקווים. אתה יכול להפוך את לוח המחוונים שלך לכהה או בהיר ולהטמיע את המוצר הסופי לאתר באמצעות הטמעה iFrame.

אם אתה רוצה להשתמש בפריסת לוח המחוונים משיתוף ציבורי בתור לוח המחוונים שלך, תוכל לייבא פריסה לדלי הנתונים שלך על ידי ביצוע ההנחיות המופיעות כאן. אתה יכול להוסיף תמונת רקע ללוח המחוונים שלך כדי לתת לה יותר הקשר.

כתובת האתר השיתופית הציבורית של מרכז השליטה שלנו היא

עכשיו אתה שולט ב- API של Sky Sky האפשרויות הן אינסופיות! יש כמות בלתי מוגבלת של ממשקי API בחינם באינטרנט, אז התחל.

מוּמלָץ: