תוכן עניינים:
- שלב 1: תחילת העבודה
- שלב 2: AirVisual API
- שלב 3: מצב ראשוני
- שלב 4: לוח מחוונים לאיכות אוויר
- שלב 5: צור לוח מחוונים של מזג אוויר כולל
וִידֵאוֹ: לוח המחוונים של AirVisual Air Quality API: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
AirVisual (https://www.airvisual.com) הוא אתר אינטרנט המספק נתונים על איכות האוויר ברחבי העולם. יש להם ממשק API שבו נשתמש כדי לשלוח נתוני איכות אוויר ללוח מחוונים. אנו נתקשר עם API זה בדומה לאופן שבו עשינו עם לוח המחוונים של מזג האוויר.
זהו פרויקט פשוט המלמד אותך כיצד להשתמש ב- API. בואו נתחיל!
שלב 1: תחילת העבודה
כבר חיברנו את רוב הקוד יחד, אך תצטרך לבצע מספר התאמות בדרך. יש הרבה הזדמנויות להרחיב גם את מה שעשינו.
כדי לאחזר את כל הדברים שהכנו עבורך, יהיה עליך לשכפל את המאגר מ- GitHub. GitHub הוא שירות מדהים המאפשר לנו לאחסן, לשנות ולנהל פרויקטים כאלה. תרצה להריץ סקריפט זה במכשיר ייעודי. אתה יכול להשתמש במחשב נייד, Raspberry Pi או מחשב לוח אחד אחר. כדי לשכפל את המאגר כל שעלינו לעשות הוא להיכנס למסוף המחשב שלנו או פי, ולהקליד פקודה זו:
שיבוט $ git
הקש enter ותראה מידע זה:
שיבוט $ git https://github.com/InitialState/airvisual.git שיבוט לתוך 'אוויר ויזואלי' … מרחוק: ספירת אובייקטים: 13, נעשה. מרחוק: ספירת אובייקטים: 100% (13/13), נעשה. מרחוק: דחיסת אובייקטים: 100% (12/12), נעשה. מרחוק: סה כ 13 (דלתא 2), שימוש חוזר 0 (דלתא 0), שימוש חוזר באריזה 0 פריקת חפצים: 100% (13/13), נעשה.
ברגע שאתה רואה את זה אז כל הכבוד לך, שיבטת בהצלחה את Repo GitHub ויש לך את כל הקבצים הדרושים לבניית הפרויקט הזה. בואו נעבור לספרייה החדשה. כדי לשנות את המדריכים, כל שעליך לעשות הוא להקליד "cd" ולאחר מכן להקליד את שם הספרייה שאליה ברצונך לעבור. במקרה זה, נקליד:
$ cd airvisual
ברגע שנלחץ על enter, תראה שאנחנו נמצאים כעת בספרייה האווירוזואלית. בואו להקליד "ls" כדי לראות אילו קבצים התקנו. אתה אמור להיראות משהו כדלקמן:
רישיון רישיון.md airquality.py
אנחנו צריכים כמה פריטים אחרים לפני שנוכל לערוך את הקוד, אז בואו נסתכל על ה- API של איכות האוויר הבא.
שלב 2: AirVisual API
ל- AirVisual API של איכות אוויר (AQI) וזיהום המאפשר עד 10, 000 שיחות API לחודש בחינם. אתה יכול להירשם לשכבה הקהילתית. לאחר שנרשמת, תוכל לעבור לכרטיס האוויר שלי ולכרטיסייה ה- API. כאן תוכל למצוא את מפתחות ה- API ואת התיעוד שלך על ה- API.
לחץ על הלחצן +מפתח חדש ליצירת מפתח הגישה הראשון שלנו ל- API. עבור בחר תוכנית, השתמש בתפריט הנפתח כדי לבחור קהילה ולחץ על צור. אם הכל ילך כשורה תראה הודעת הצלחה ותוכל לחזור ללוח המחוונים של ה- API שלך כדי למצוא את פרטי המפתח החדשים שלך. ערך המפתח (מספרים ותווים) הוא מה שאתה צריך לפרויקט זה. אם תעיין בתיעוד ה- API תראה שיש מספר סוגים של קריאות API שתוכל לבצע. לפרויקט זה אנו רוצים לקבל את נתוני העיר הקרובים ביותר על סמך קואורדינטות GPS. לצורך שיחה זו תזדקק למפתח האורך, הרוחב ומפתח ה- API שלך. הזן את הפרמטרים האלה בשיחה למטה, הכנס אותם לשורת כתובת בדפדפן שלך ולחץ על enter.
api.airvisual.com/v2/nearest_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}
פעולה זו תחזיר את נתוני העיר הקרובה ביותר על סמך קואורדינטות ה- GPS. זה יראה בערך כך:
אני ממליץ להשתמש בפורמט JSON כדי לקבל תצוגה טובה יותר של הנתונים. אם תשתמש בזה זה ייראה קצת כך במקום:
"status": "הצלחה", "data": {"city": "נאשוויל", "state": "טנסי", "מדינה": "ארה"ב", "מיקום": {"type": "נקודה", "קואורדינטות": [-86.7386, 36.1767]}, "current": {"weather": {"ts": "2019-04-08T19: 00: 00.000Z", "_v": 0, "createdAt": "2019-04-08T19: 04: 18.662Z "," hu ": 88," ic ":" 04d "," pr ": 1012," tp ": 18," updatedAt ":" 2019-04-08T19: 46: 53.140Z "," wd ": 90, "ws": 3.1}, "זיהום": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}
כעת אנו יכולים לראות בקלות שיש לנו מידע על מיקום, מזג אוויר וזיהום. שני הערכים בהם אנו מתמקדים לפרויקט זה הם מדד איכות האוויר בארה ב (aquis) ומזהם עיקרי (mainus). ערך מדד איכות האוויר מספר לנו מהו ערך איכות האוויר המקומי וכיצד הוא נוגע לבריאותך. התרשים המקודד בצבעים נמצא למטה. המזהם הראשי מספר לנו מהו המזהם העיקרי באוויר עבור אזורכם (חלקיקים, תחמוצת חנקן, אוזון, פחמן חד חמצני, תחמוצת גופרית). מזהמים אלה הם בדרך כלל תוצרי לוואי של ערימות עשן או פליטות רכב.
כעת, כאשר אנו יודעים כיצד להשתמש ב- Air Visual API, הדבר הבא שנצטרך הוא פלטפורמת לוח מחוונים להצגת הנתונים.
שלב 3: מצב ראשוני
אנחנו רוצים להזרים את כל נתוני מזג האוויר שלנו לשירות ענן ולתת לשירות הזה להפוך את הנתונים שלנו ללוח מחוונים נחמד. הנתונים שלנו זקוקים ליעד ולכן נשתמש במצב התחלתי כיעד זה.
הירשם לחשבון המדינה הראשוני
עבור אל https://iot.app.initialstate.com וצור חשבון חדש.
התקן את ISStreamer
התקן את מודול ה- Python Initial State על המחשב הנייד שלך או Raspberry Pi. בשורת פקודה, הפעל את הפקודה הבאה:
$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash
עשה קצת Automagic
לאחר שתפעיל את הפקודה curl, תראה משהו הדומה לפלט הבא למסך:
$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash
סיסמא: החל מ- ISStreamer Python התקנה קלה! ההתקנה עשויה להימשך מספר דקות, לקחת קפה:) אבל אל תשכח לחזור, יהיו לי שאלות בהמשך! נמצא 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 והזן שם משתמש וסיסמה. לאחר מכן ההתקנה תושלם.
מפתחות גישה
בואו נסתכל על התסריט לדוגמה שנוצר. $ nano is_example.py בשורה 15 תראה שורה שמתחילה ב- streamer = Streamer (bucket_…. שורות אלה יוצרות דלי נתונים חדש בשם "דוגמת זרם פייתון" ומשויך לחשבונך. קשר זה קורה בגלל access_key = "…" פרמטר באותה שורה. אותה סדרה ארוכה של אותיות ומספרים היא מפתח הגישה לחשבון המדינה הראשונית שלך. אם אתה נכנס לחשבון המדינה הראשונית שלך בדפדפן האינטרנט שלך, לחץ על שם המשתמש שלך בפינה השמאלית העליונה ולאחר מכן עבור אל אל "ההגדרות שלי", תמצא אותו מפתח גישה בתחתית הדף תחת "מפתחות גישה לזרם". בכל פעם שאתה יוצר זרם נתונים, מפתח גישה זה יכוון את זרם הנתונים אל חשבונך (אז אל שתף את המפתח שלך עם כל אחד).
הפעל את exampleRun הפעל את סקריפט הבדיקה כדי לוודא שנוכל ליצור זרם נתונים לחשבון המצב הראשוני שלך. הפעל את הפעולות הבאות בשורת הפקודה שלך:
$ python is_example.py
נתונים לדוגמה
חזור לחשבון המדינה הראשונית שלך בדפדפן האינטרנט שלך. דלי נתונים חדש בשם "דוגמת זרם פייתון" היה אמור להופיע בצד שמאל במדף הדלי שלך (ייתכן שיהיה עליך לרענן את הדף). לחץ על דלי זה כדי להציג את הנתונים.
כעת אתה מוכן להתחיל להזרים נתונים אמיתיים מממשק ה- API של AirVisual.
שלב 4: לוח מחוונים לאיכות אוויר
עכשיו לחלק המהנה. אנו מוכנים להתחיל להשתמש ב- AirVisual API ליצירת לוח מחוונים באיכות אוויר ולכידת נתוני זיהום האוויר לכל מקום שנבחר. סקריפט airquality.py זה פשוט קורא ל- AirVisual API באמצעות מפתח ה- API שלך ומאחזר את המידע על זיהום האוויר הנוכחי. הוא גם זורם נתונים אלה לחשבון המדינה הראשונית שלך, שיאפשר לך ליצור לוח מחוונים באיכות אוויר.
תוכל לגשת לסקריפט באמצעות מאגר Github ששבטנו קודם לכן. הדבר הראשון שעלינו לעשות הוא לוודא שאנחנו נמצאים בספריית AirVisual:
$ cd airvisual
מכאן תוכל לגשת לקובץ הפייתון שנפעיל כדי ליצור את לוח המחוונים של איכות האוויר שלנו. עלינו לבצע כמה שינויים בקובץ לפני שנפעיל אותו. כדי לפתוח את קובץ הפייתון, השתמש בפקודה nano כדי לפתוח את עורך הטקסט:
$ nano airquality.py
לאחר שעורך הטקסט פתוח, תראה את הדברים הבאים בחלק העליון של התסריט שלך:
# --------- הגדרות משתמש ---------
LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "איכות אוויר מקומית" BUCKET_KEY = "aq1" ACCESS_KEY = "INITIAL STATE ACCES KEY" MINUTES_BETE = 5 -------------------------
עליך להזין את קו הרוחב, האורך, מפתח ה- API של AirVisual ואת מפתח הגישה למצב ראשוני. הפרמטר MINUTES_BETWEEN_READS יקבע את התדירות שבה הסקריפט שלך יסקור את ה- API של AirVisual למידע על איכות אוויר. 5 דקות מספיק זמן, כך שלא תעבור את מגבלת 10,000 שיחות ה- API לחודש. לצורך בדיקות לטווח קצר, אתה יכול להגדיר את זה ל- 0.5 דקות. לאחר שהזנת את הפרמטרים שלך, שמור ויצא מכניסת הטקסט על ידי הקלדת Control+X. כעת אתה מוכן להריץ את הסקריפט שלך:
$ python airquality.py
אם ברצונך להשאיר את התסריט פועל ללא הפרעה במשך זמן רב, תוכל להשתמש בפקודת nohup (ללא ניתוק) כדלקמן:
$ nohup python airquality.py &
ברגע שזה פועל עבור למצב ההתחלתי כדי להציג את הנתונים שלך. לוח המחוונים שלך צריך להיראות בערך כמו התמונה למטה. יש לך את מיקום ה- GPS שלך, ערך מדד איכות האוויר שלך והמזהם העיקרי שלך.
ההמלצה שלי הייתה לשנות את ערך ה- AQI שלך לאריח מד. כמו כן, הזיזו את האריחים ותשנו את הגודל לפי הצורך. אם אתה משתמש בזה ללוח מחוונים מוטבע, תוכל להעביר אותם כך שיתאימו לפי הצורך.
אם תחליט להפוך את ערך ה- AQI שלך למד, תוכל להגדיר את סף הצבעים שיהיה דומה לתרשים מדד איכות האוויר. זה נותן לך עדכון מיידי היכן ערך AQI נופל על התרשים כאשר אתה בודק את לוח המחוונים שלך. אתה יכול להוסיף תמונת רקע ללוח המחוונים שלך כדי לתת לה יותר הקשר.
אז יש לך כל מה שאתה צריך כדי ליצור לוח מחוונים באיכות אוויר. אבל מה אם אתה רוצה להוסיף עוד או להוסיף את זה ללוח המחוונים של מזג האוויר שכבר יצרת? אם זה המצב אז המשך לקרוא!
שלב 5: צור לוח מחוונים של מזג אוויר כולל
האם נתוני איכות האוויר פשוט לא מספיקים לך? ובכן, יש הרבה אפשרויות להוסיף יותר ללוח המחוונים שלך או להזרים נתונים אלה ללוח מחוונים של מזג אוויר שכבר יש לך!
הזרם מזג אוויר ואיכות אוויר ללוח מחוונים יחיד
אם כבר יישמת את ה- DarkSky API או את פרויקט לוח המחוונים של Hyper-Local Weather, תוכל להוסיף נתוני איכות אוויר אלה ללוח המחוונים הקיים שלך. זה די פשוט, כל שעליך לעשות הוא לשנות את הפרמטרים שלך בתסריט איכות האוויר כך שיהיה לו אותו שם דלי, מפתח דלי ומפתח גישה כמו מה שהשתמשת עבור לוח המחוונים של מזג האוויר שלך. זה יאפשר לשלוח את הנתונים לאותו לוח מחוונים. כעת יהיה לך לוח מחוונים כולל של מזג אוויר!
פנה לקובץ פייתון מזג האוויר שלך כדי להפעיל את קובץ פייתון איכות האוויר
אפשרות נוספת אם אינך רוצה להריץ שתי תוכנות נפרדות היא לשים את קובץ הפיתון באיכות האוויר בספריית פרויקט מזג האוויר. בקש מקובץ הפייתון של פרויקט מזג האוויר להתקשר לקובץ איכות האוויר כך שהוא יפעל כאשר קובץ מזג האוויר שלך פועל. שוב, הקפד לשים את אותו שם דלי, מפתח דלי ומפתח גישה כך שיפעילו לאותו לוח מחוונים.
צור קובץ יחיד עם מזג אוויר ואיכות אוויר
ואם אתה מרגיש אמיץ באמת, תוכל להכניס חלק מקוד איכות האוויר לתסריט הפיתון של מזג האוויר ופשוט להפעיל סקריפט אחד. זה ידרוש קצת יותר מאמץ קידוד משתי האפשרויות האחרות, אך זה מאפשר תוכנית פשוטה יותר.
הזרם מידע נוסף מממשק ה- API של AirVisual
כפי שראית כאשר התקשרנו ל- API של AirVisual, יש בו יותר מידע מאשר רק איכות אוויר. הוא מספק גם טמפרטורה, לחות, מהירות הרוח, כיוון הרוח ולחץ אטמוספרי. אנו יכולים לשלוח מידע זה למצב ההתחלתי באותה דרך שבה שלחנו את ערך מדד איכות האוויר והמזהם העיקרי. זה רק מחייב אותך לכתוב עוד כמה הצהרות אם.
מוּמלָץ:
השתמש בווידג'טים של לוח המחוונים עם Magicbit [Magicblocks]: 5 שלבים
השתמש בווידג'טים של לוח המחוונים באמצעות Magicbit [Magicblocks]: מדריך זה ילמד אותך להשתמש ביישומונים של לוח המחוונים של Magicblocks עם ה- Magicbit שלך. אנו משתמשים ב- magicbit כלוח הפיתוח בפרויקט זה המבוסס על ESP32. לכן ניתן להשתמש בכל לוח פיתוח ESP32 בפרויקט זה
לוח המחוונים של COVID-19 WHO: 8 שלבים (עם תמונות)
לוח המחוונים של COVID-19 WHO: מדריכים אלה מראים כיצד להשתמש ב- ESP8266/ESP32 ו- LCD לבניית לוח המחוונים של ה- WHO
לוח המחוונים של COVID19 על מפת העולם (באמצעות פייתון): 16 שלבים
לוח המחוונים של COVID19 על מפת העולם (באמצעות Python): אני יודע שכמעט כולנו יודעים את רוב המידע על COVID19. וההנחיה הזו היא על יצירת מפת בועות, לשרטט את הנתונים בזמן אמת (של מקרים) על מפת העולם. לנוחות רבה יותר , הוספתי את התוכנית למאגר Github: https: //github.co
לוח המחוונים של COVID-19 (פשוט וקל): 4 שלבים
לוח המחוונים של COVID-19 (פשוט וקל): בכל מקום יש התפרצות אדירה של נגיף ה- COVID-19 החדש. היה צורך לעקוב אחר התרחיש הנוכחי של COVID-19 במדינה. אז בהיותי בבית, זה היה הפרויקט שחשבתי עליו: " לוח מידע " - דא
מעקב אחר Covid19 חי באמצעות ESP8266 ו- OLED - לוח המחוונים של Covid19 בזמן אמת: 4 שלבים
מעקב אחר Live Covid19 באמצעות ESP8266 ו- OLED | לוח מחוונים בזמן אמת של Covid19: בקר באתר Techtronic Harsh: http: //techtronicharsh.com בכל מקום יש התפרצות אדירה של נגיף הקורונה החדש (COVID19). זה הפך להיות נחוץ לעקוב אחר התרחיש הנוכחי של COVID-19 בעולם. אז בהיותך בבית, זה היה נקודת