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

תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT: 4 שלבים
תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT: 4 שלבים

וִידֵאוֹ: תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT: 4 שלבים

וִידֵאוֹ: תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT: 4 שלבים
וִידֵאוֹ: כיצד להשתמש ביקסבי 2024, נוֹבֶמבֶּר
Anonim
תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT
תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT
תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT
תצוגת מזג אוויר פשוטה באמצעות פטל PI ו- Cyntech WeatherHAT

* בשנת 2019 Yahoo שינתה את ה- API שלה, וזה הפסיק לפעול. לא הייתי מודע לשינוי. בספטמבר 2020 פרויקט זה עודכן לשימוש ב- OPENWEATHERMAP API עיין בסעיף המעודכן להלן, אולם מידע זה עדיין טוב. תודה שהסתכלת, ותודה שהודעת לי על השינוי ביאהו. *

לאחרונה רכשתי Cyntech WeatherHAT, אך התאכזבתי מעט מחוסר התוכנה עבורו.

נראה כי הכובע עצמו בנוי היטב, עם 6 נוריות כחולות בצורת טיפות גשם, 6 נוריות כתומות בצורת רעם, 6 נוריות לבנות בצורת ענן. 1 (מה שאני מאמין שהוא LED RGB) עבור SUN - הוא מציג כתום (כך שאולי אני טועה לגבי היותו RGB). ו -6 נוריות WS2812 (אלה RGB:-))

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

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

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

בואו נתחיל:

אנו זקוקים לכרטיס SD (לפחות 8 ג'יגה -בתים)

PI פטל (אני משתמש ב- Zero W) הוא צריך גישה לאינטרנט.

ואנחנו צריכים את מזג האוויר Cyntech

אם אתה משתמש ב- Raspberry PI Zero W תצטרך גם להלחם קבוצת כותרות ללוח.

אחרת הכישורים הדרושים הם היכולת להשתמש בתוכנה ולהתקין את כרטיס ה- SD.

שלב 1: הגדר את כרטיס ה- SD ו- Raspberry PI

הגדר את כרטיס ה- SD ו- Raspberry PI
הגדר את כרטיס ה- SD ו- Raspberry PI
הגדר את כרטיס ה- SD ו- Raspberry PI
הגדר את כרטיס ה- SD ו- Raspberry PI

יהיה עליך להוריד את ה- Raspbian העדכני ביותר (בזמן ההוראה הזו הוא Raspbian Stretch March 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

השתמשתי במהדורת שולחן העבודה, אפילו אתה מפעיל את ההתקנה שלי ללא ראש, ועושה את רוב הדברים מתוך CLI (ממשק שורת הפקודה) באמצעות ssh.

עקוב אחר מדריך ההתקנה שנמצא כאן:

www.raspberrypi.org/documentation/installa…

לאחר ביצוע האצ'ר, הסר את כרטיס ה- SD והכנס אותו מחדש למחשב.

* אתה באמת צריך לעשות את השלב הזה למטה אם אתה מתכנן לבצע התקנה ללא ראש

עלינו להתקין SSH ו- WIFI לפני שנשתמש בכרטיס ה- SD ב- Raspberry PI. במחיצת BOOT של הכרטיס, צור קובץ בשם "ssh" ללא הציטוטים. שום דבר לא חייב להיות בקובץ הזה. כאשר ה- PI יתחיל הוא יראה את הקובץ הזה ויפעיל SSH.

עלינו גם ליצור קובץ בשם "wpa_supplicant.conf". עלינו לערוך קובץ זה עם הגדרות ה- wifi שלך.

זה אמור להיראות בערך כך:

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev

update_config = רשת אחת = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}

* אתה באמת צריך לעשות זאת רק אם אתה מתכנן לבצע התקנה ללא ראש

ברגע שזה נעשה, הסר בבטחה את כרטיס ה- SD והכנס את ה- RI של הפטל (ודא שאין כוח על ה- PI).

חבר את weatherHAT והפעל את ה- PI של הפטל.

שלב 2: הגדר את ספריות WeatherHAT

הגדר את ספריות WeatherHAT
הגדר את ספריות WeatherHAT
הגדר את ספריות WeatherHAT
הגדר את ספריות WeatherHAT

עבור שלב זה אנו נעקוב אחר מדריך תחילת העבודה שנמצא

guides.cyntech.co.uk/weatherhat/getting-sta…

אם אתה מתקין התקנה ללא ראש, תרצה ssh [email protected]

אם אין לך לקוח ssh - PUTTY הוא טוב.

אם אתה משתמש במקלדת וצג - המדריך למעלה הוא טוב לעקוב אחריו, הוא יפעיל אותך בשולחן העבודה של GUI.

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

עדכון sudo apt-get

sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git שיבוט https://github.com/jgarff/rpi_ws281x.git> שיבוט git https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py להתקין

כעת עלינו לוודא כי I2C מופעל.

sudo raspi-config

המדריך כתוב לגרסה ישנה יותר של raspi-config ואומר ללכת אל "אפשרויות מתקדמות" שהוחלף על ידי אני מאמין "ממשקים"

לאחר שתפעיל את I2C יהיה עליך לאתחל מחדש.

עכשיו הגיע הזמן לבדוק את ה- HAT

cd WeatherHAT

sudo python cycle.py

אם הכל הלך טוב אתה צריך לראות את כל התכונות וקשת בענן.

ctrl-z יעצור את התוכנית.

*הערות מיוחדות: למדתי שהזמנים של Raspberry PI 3 שונים וייתכן שהקשת לא עובדת כראוי. אם יש לך בעיה זו הנה כיצד לתקן אותה.

github.com/CyntechUK/WeatherHAT/issues/3

guides.cyntech.co.uk/raspberry-pi/assemblin…

ברגע שהכל עובד, נוכל להמשיך לשלב הבא.

עדכון: (6 באוקטובר 2020) מאגר זה מכיל כעת את הסקריפט שלי getWeather.py, אלה חדשות מצוינות, מכיוון שהעניין עורר שוב ודברים חדשים צפויים לקרות.

שלב 3: התקנת Weather-api ו- GetWeather Script

התקנת Weather-api ו- GetWeather Script
התקנת Weather-api ו- GetWeather Script
התקנת Weather-api ו- GetWeather Script
התקנת Weather-api ו- GetWeather Script
התקנת Weather-api ו- GetWeather Script
התקנת Weather-api ו- GetWeather Script
התקנת Weather-api ו- GetWeather Script
התקנת Weather-api ו- GetWeather Script

אז שמתי בקשה PULL ל- CyntechUK לתסריט שלי - אני מקווה שהם יקבלו את הבקשה ותוכלו לדלג על הורדת המאגר שלי. (אולי הם לא ירצו לכלול את הקוד שלי)

(6 באוקטובר 2020) הבקשה PULL אושרה, סקריפט getWeather שלי כלול כעת במאגר Weatherhat.

********* עדיין תוכל להשתמש במידע זה אם תרצה, אולם getWeather.py נכלל במאגר מזג האוויר כעת ******************* *****************

ניתן למצוא את המאגר שלי כאן:

github.com/kd8bxp/WeatherHAT/tree/getWeath…

והתסריט שלי נקרא getWeather.py

אם הם אכן מקבלים את בקשת המשיכה כבר יהיה לך סקריפט זה - אם לא תצטרך לשכפל את המאגר.

בספריית הבית שלך (/home/pi) הקלד:

שיבוט git https://github.com/kd8bxp/WeatherHAT.git getWeather

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

cd getWeather

git checkout getWeather

**********************************************************************

יהיה עליך תקליטור לספריית weatherHAT ששוכפלה קודם לכן ו-

עלינו לערוך את הסקריפט getWeather.py למיקום שלך.

ננו getWeather.py

אתה אמור לראות קו שמתחיל

מיקום ומסתיים בחיפוש (45042) - זהו המיקוד שלי, גיליתי שהוא לא עובד כמו שאתה חושב

והקו ממש מעליו שמגיבים עליו עובד טוב יותר עם שם עיר. זה זה שאתה כנראה רוצה להשתמש בו. אז הגיבו על שורת המיקוד (#) ואל תגיבו ושנו את שם העיר שלכם.

*********** מידע ישן על YAHOO - לא צריך יותר ***********

עלינו להתקין ספרייה נוספת כדי שזה יעבוד, weather-api המהווה עטיפה של ממשק ה- API של Yahoo Weather.

pypi.python.org/pypi/weather-api/0.0.5

ההתקנה קלה -

pip התקן weather-api

***********************************************************************************

כעת נוכל להריץ את הסקריפט:

sudo python getWeather.py &

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

שינה (60 * 5)

תוכל להגדיר עבודת crontab (זכור שצריך להריץ כ- root) שתתחיל את הסקריפט בכל אתחול.

להשתמש:

sudo crontab -e

להיכנס:

@reboot python /home/pi/weatherHAT/getWeather.py

אני חושב שזה אמור לעבוד - עדיין לא התקנתי את cron במערכת שלי.

זה פחות או יותר -

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

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

שלב 4: מידע מעודכן עבור: API של Openweathermap

בספטמבר 2020 עדכנתי את הסקריפט כדי להשתמש ב- https://openweathermap.org API.

הערה: זה היה תיקון "מהיר" בשבילי, ובדיקה מוגבלת - (היה מעונן בימים האחרונים, וכל מה שאני רואה הוא תצוגת הענן והגשם) - למרות שאני מאמין שתפסתי את כל התנאים שקל לבצע תצוגה, יתכן שהתגעגעתי לזוג בגלל כמה "מהיר" התיקון הזה בוצע. עם זאת, אם אתה חושב שיש בעיה אנא השאר הערה והזמן יאפשר אבדוק אותה - או אנסה להפנות אותך בכיוון הנכון. *

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

הערות נוספות:

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

openweathermap.org/current דבר אחד שחשוב לציין הוא שאתה יכול להשתמש בעיר, מדינה ומדינה.

IE: העיר "דייטון" הופכת ל"דייטון, אוה, ארה"ב "שים לב כיצד המדינה וקודי המדינה שניהם גדולים, זה נדרש. ה- API אומר שהוא יכול להשתמש רק ב- "Dayton, OH" אך קיבלתי שגיאות מהתסריט כשעשיתי זאת - ומכיוון שזה היה תיקון מהיר, לא בדקתי מדוע. אז, אני ממליץ להשתמש ב"עיר, מדינה, מדינה"

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

עליך לשנות את כתובת האתר גם בתסריט.

עוד הערות: 3 באוקטובר 2020

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

הקלד פקודה זו לתוך CLI: בקשות להתקנת pip של python -m

ואתה אמור להיות טוב.

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

עדכון (6 באוקטובר 2020) הבקשה למשוך github התקבלה, המאגר המקורי של CyntechUK כולל כעת תסריט זה. https://github.com/CyntechUK/WeatherHAT למשתמש Boeerb יש כמה רעיונות כיצד להציג כמה מהתנאים שאינם מוצגים כרגע, כמו גם כמה רעיונות אחרים לשימוש. אז שימו עין על המאגר הזה. ובתקווה שיקרו דברים.

עדכון: (8 באוקטובר 2020) במפת מזג האוויר הפתוחה יש הדרכה קצרה על הגדרת ושימוש ב- API, https://openweathermap.org/appid מקום טוב להתחיל בו.

מוּמלָץ: