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

Raspberry Pi תחנת מזג אוויר אינטרנט: 5 שלבים (עם תמונות)
Raspberry Pi תחנת מזג אוויר אינטרנט: 5 שלבים (עם תמונות)

וִידֵאוֹ: Raspberry Pi תחנת מזג אוויר אינטרנט: 5 שלבים (עם תמונות)

וִידֵאוֹ: Raspberry Pi תחנת מזג אוויר אינטרנט: 5 שלבים (עם תמונות)
וִידֵאוֹ: OpenSSH for Windows: The IT Admin's Key to Remote Management 2024, יולי
Anonim
Raspberry Pi תחנת מזג אוויר אינטרנט
Raspberry Pi תחנת מזג אוויר אינטרנט
Raspberry Pi תחנת מזג אוויר אינטרנט
Raspberry Pi תחנת מזג אוויר אינטרנט

*** עדכון ***

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

https://piweatherrock.technicalissues.us/

תודה רבה לך לג'ין ליברמן ב- PiWeatherRock על לקחת את מעטפת הפרויקט הזה.

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

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

שלב 1: דור 1 - תחנת מזג האוויר Lunchbox Pi

דור 1 - תחנת מזג האוויר Lunchbox Pi
דור 1 - תחנת מזג האוויר Lunchbox Pi
דור 1 - תחנת מזג האוויר Lunchbox Pi
דור 1 - תחנת מזג האוויר Lunchbox Pi

המחשבה הראשונה שלי הייתה להשתמש בתצוגת וידאו מורכבת קטנה. הרמתי את זה שבתמונה ב- Ebay תמורת 22 דולר - פשוט חפש על "4.3 אינץ 'TFT LCD רכב צג אחורי צג רכב". לתצוגה יש רזולוציה מדווחת של 656 על 416 פיקסלים מה שהופך בהתרסה הצגת מידע שימושי לאתגר! התצוגה דורשת 12Vdc כמתח האספקה. ה- Raspberry Pi, כמובן, צריך 5Vdc כמתח האספקה. כדי לפתור זאת, קניתי מטען לרכב USB זול מאמזון. בסביבות $ 6 דולר מצאתי מחליף רכב 5Vdc על ידי 2 אמפר. לכן, לארוחת הצהריים יש ספק כוח חיצוני בקיר 12Vdc. 12Vdc מפעילה את הצג ישירות. ה- 12Vdc עובר גם למטען לרכב USB המוריד את המתח לרמה של 5Vdc מוסדר. כפריצה אחרונה הלחמתי זוג חוטים ישירות בין המטען לרכב לבין פטל הפטל - לא הרעיון הטוב ביותר שלי.

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

שלב 2: Gen 2 - צג HDMI + מארז ארקייד מסוג פרספקס

Gen 2 - צג HDMI + מארז ארקייד מסוג פרספקס בלייזר
Gen 2 - צג HDMI + מארז ארקייד מסוג פרספקס בלייזר
Gen 2 - צג HDMI + מארז ארקייד מסוג פרספקס בלייזר
Gen 2 - צג HDMI + מארז ארקייד מסוג פרספקס בלייזר
Gen 2 - צג HDMI + מארז ארקייד מסוג פרספקס בלייזר
Gen 2 - צג HDMI + מארז ארקייד מסוג פרספקס בלייזר

בחזרה לאיביי מצאתי צג מסגרת פתוח פתוח של $ 54 דולר עם רזולוציה של 800x600. מעצם הגדרתו, מסגרת פתוחה לכל דבר צריכה מסגרת להרכבה. מאחר וחמידותה של קופסת האוכל הייתה ארוכה, הגיע הזמן לקצת אקריליק חתוך בלייזר. בחלל ההאקר המקומי שלי i3Detroit יש חותך ממש נחמד של 150 וואט שיכול להכין בשר טחון של אקריליק 4.5 מ מ.

ביססתי את מארז הארקייד שלי באופן רופף על קופסת הארקייד של האייפד. אם אי פעם אעשה עיצוב Gen 3 הוא יכלול בהתרסה מגש נשלף / החלק החוצה עבור ה- Pi. מסתבר שזהו כאב גדול בצוואר בניסיון לחבר ולחבר את הדברים מהפי מכיוון שאין הרבה מקום בין הפי לקירות הצדדיים.

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

אם מישהו מעוניין במקרה הארקייד שלח תגובה למטה ואעלה את קבצי DXF. או שהקבצים נמצאים באתר האינטרנט שלי בכתובת ph-elec.com.

שלב 3: התקנת Pi

הגדרת פי
הגדרת פי

לא כל כך קשה להגדיר פטל פטל חדש עם התוכנה הדרושה. כל התוכנה כתובה ב- Python עם רק מודול Python נוסף. מודול ה- Python הנוסף נקרא "pywapi". הנה קישור שבו תוכל להוריד את המודול. מודול זה מקל על קבלת מזג אוויר בזמן אמת מ- Yahoo, Weather.com או NOAA.

ראשית כל, הנה רשימת בדיקות להקמת פטל פטל גולמי:

  1. הורד את ה- Raspbian העדכני ביותר (דביאן וויזי). לפתוח את הקובץ כדי להשיג קובץ.img.
  2. כתוב את כרטיס ה- SD עם "dd bs = 4M if = 2014-09-09-wheezy-raspbian.img of =/dev/sdb"
  3. הפקודה dd אורכת כחמש דקות. בסיום, הפעל "סנכרון" כדי לשטוף את הצינורות.
  4. התקן את כרטיס ה- SD ב- Pi והפעל מחדש. ודא שיש חיבור Ethernet ל- Pi.
  5. באמצעות דף "התקנים מצורפים" בנתב, מצא את כתובת ה- IP של ה- Pi החדש.
  6. התחבר ל- Pi באמצעות "ssh [email protected]. ???" איפה ??? הוא מספר ה- IP מלמעלה. הסיסמה תהיה "פטל".
  7. ב- Pi, השתמש בפקודה "raspi-config" כדי להגדיר ברירות מחדל.

    1. הפעל אתחול אוטומטי ל- GUI.
    2. הגדר את שם המארח למשהו כמו "MyPi".
  8. התקן את VNC ב- Pi עם "sudo apt-get install tightvncserver".

    הפעל את "tightvncserver" הקובע את הסיסמה

  9. בחזרה לתיבת לינוקס הגדולה, השתמש ב"שולחן עבודה מרוחק "כדי לצפות בשולחן העבודה של Pi GUI.

    1. הגדר את הפרוטוקול ל- "VNC" ומספר ה- IP ל "192.168.1.???:1". שים לב ": 1" בקצה מספר ה- IP.
    2. לחץ על כפתור החיבור וספק את סיסמת VNC.
    3. בינגו, שולחן עבודה מרוחק של GUI Pi!

      זה חוסך גרירה של צג, מקלדת ועכבר כדי להתחבר ל- Pi החדש

    4. בשולחן העבודה, הפעל את סמל הגדרת ה- WiFi. התקן את ה- Pi / USB WiFi החדש כדי להתחבר לרשת.
    5. סגור את חיבור VNC - סיימנו כעת מחשבים שולחניים מרוחקים.
  10. בחזרה לחלון ssh, הפעל מחדש את ה- Pi עם "אתחול סודו". נתק את כבל ה- Ethernet מכיוון שה- WiFi מותקן כעת.
  11. חזרה בנתב הביתי, מצא את מספר ה- IP החדש שבו משתמש ה- Pi עם WiFi.
  12. באמצעות ssh, היכנס שוב באמצעות מספר ה- IP החדש. הפעם החיבור יהיה באמצעות WiFi.
  13. באמצעות קובץ העריסה ב- Linux, התחבר ל- Pi באמצעות הפקודה "התחבר לשרת".

    כתובת השרת היא "sftp: //192.168.1. ???/home/pi"

  14. ההתקנה הבסיסית הושלמה.

לאחר מכן, יש להוריד ולהתקין את pywapi. שוב, זה לא קשה מדי עם השלבים הבאים:

  1. הורד את העדכון מכאן. חלץ את הארכיון לספרייה חדשה.
  2. באמצעות File Manger, העתק את הספרייה לספריית הבית של Pi.
  3. השתמש ב- ssh, בצע את הפעולות הבאות ב- Pi:

    1. cd pywapi-0.3.8
    2. sudo python setup.py build
    3. sudo python setup.py להתקין
  4. בוצע.

עדכון, שכחתי ששני אזכרו שני דברים נוספים:

  1. ב- Pi הפעל את הפקודה הבאה:

    1. sudo apt-get install avahi-daemon

      זה מאפשר חיבור לפי השם בשם. לכן, במחשב הראשי שלך אתה יכול להתחבר כ- "ssh [email protected]" במקום להשתמש במספרי IP. עם מספר פי'ים ברשת קל לבלבל אותם אלא אם כן קוראים להם בשם

    2. sudo raspi-config

      1. חפש והפעל את האפשרות הרביעית בשם "אפשרויות בינלאומיות" והגדר את אזור הזמן שלך.
      2. עם הגדרת אזור הזמן ו- ntpd (שד פרוטוקול זמן רשת) הפעל ה- Pi תמיד יציג את הזמן הנכון תוך מספר אלפיות השנייה! חייב לאהוב את זה.
  2. בסדר, עכשיו סיימנו שוב.

שלב 4: קוד המקור

קוד מקור
קוד מקור

כל קוד המקור לתצוגת מזג אוויר קטנה זו מבוסס על Python, PyGame ו- Pywapi. כל קוד פתוח / תוכנות חינמיות.

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

כדי להפעיל את קוד המקור שלי, פשוט פתח את רף הקובץ המצורף והעתק את כל הספרייה אל ה- Pi באמצעות ניהול קבצים. לאחר ההעתקה, הפעל את הקוד והשתמש בפקודות ssh הבאות:

  1. cd מזג אוויר
  2. sudo python weather.py

יש צורך בפקודת sudo כדי שפייתון יוכל לשלוט / לקרוא את סיכות ה- GPIO. כנראה שיש דרך לעקוף את המגבלה הזו אבל היא חמקקת ממני.

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

  1. הפעל את "sudo vi /etc/rc.local" באמצעות ssh
  2. רגע לפני השורה האחרונה, עליה כתוב "יציאה 0", הוסף את השורות הבאות לשורות.

    1. cd/home/pi/Weather
    2. sudo python weather.py &> err.log

פעולה זו תפעיל אוטומטית את יישום מזג האוויר ב- Pi לאחר אתחול מחדש. אם מאוחר יותר אתה רוצה לכבות את זה, פשוט השתמש ב- ssh כדי לערוך את הקובץ ולהוסיף את תו ההערה "#" מול שתי השורות ולאתחל מחדש.

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

עוד כמה דברים שחשוב לשים לב לגבי הקוד שלי. אם תקבור שם תראה כמה קוד לדבר עם מכשיר X10. זה היה הניסיון שלי לשלוט בנורות המוט החיצוניות שלי שבכתובת A3. פשוט רציתי שהמנורות יהיו דולקות בשעת בין ערביים וכבות עם עלות השחר. נראה מספיק קל וחשבתי שזה עובד. באמצעות דונגל USB-to-RS232 ב- Pi חיברתי מודול CM11A X10. ה- CM11A הוא מודול מאקרו ישן X10. ל- CM11A יש גם יציאת RS232 המאפשרת שליטה על אוטובוס X10. נראה שיש עדיין כמה באגים מכיוון שנורות עמוד המנורה לא מבינות את ההודעה!

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

לקבלת העדכונים האחרונים והגדולים ביותר בקר באתר האינטרנט שלי בכתובת ph-elec.com.

ובכן, הודע לי בסעיף ההערות למטה בכל שאלה שיש לך.

תודה, ג'ים.

אה, ואל תשכחו להצביע עבורי! שוב תודה.

BTW: תמיד יש מידע נוסף באתר האינטרנט שלי: www.ph-elec.com

שלב 5: עדכון מטרי

מצורפת גרסה חדשה המאפשרת להציג מטרי או אימפריאלי.

מקווה שזה עוזר, ג'ים

מוּמלָץ: