תוכן עניינים:
- אספקה
- שלב 1: הכנת חומרה
- שלב 2: התקנת Cloud4RPi
- שלב 3: חיבור החיישן
- שלב 4: שליחת קריאות חיישן לענן
- שלב 5: תרשימים והתראות
וִידֵאוֹ: לחות בענן: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
הקיץ מתקרב, ועל אלה ללא מזגן להיות ערוכים לשלוט באווירה בתוך הבית באופן ידני. בפוסט זה, אני מתאר את הדרך המודרנית למדידת הפרמטרים החשובים ביותר לנוחות האדם: טמפרטורה ולחות. הנתונים שנאספו נשלחים לענן ומעובדים שם.
אספקה
אני משתמש בלוח Raspberry Pi ובחיישן DHT22. אתה יכול לעשות את אותו הדבר בכל מחשב שיש בו אינטרנט, GPIO ופייתון. גם חיישן DHT11 הזול יותר פועל מצוין.
שלב 1: הכנת חומרה
נתחיל מההתחלה, מכיוון שלא השתמשתי ב- Raspberry Pi במשך די הרבה זמן.
אנחנו נצטרך:
- לוח Raspberry Pi (או פלטפורמה אחרת מוכוונת IoT).
- כרטיס SD או microSD (תלוי בפלטפורמה).
- 5V/1A באמצעות כבל מיקרו USB. LAN, המספק את חיבור האינטרנט.
- צג HDMI, תצוגת RCA או יציאת UART (להפעלת SSH).
השלב הראשון הוא הורדת Raspbian. בחרתי בגרסת Lite, מכיוון שאני הולך להשתמש ב- SSH במקום בתצוגה.
דברים השתנו מאז הפעם האחרונה שעשיתי את זה: עכשיו יש תוכנת צריבה נהדרת בשם Etcher, שעובדת בצורה מושלמת ובעלת עיצוב מהמם.
לאחר השלמת צריבת התמונה, הכנסתי את כרטיס ה- SD אל ה- Pi שלי, חיברתי את כבלי ה- LAN וכבל החשמל, ולאחר זמן מה, הנתב שלי רשם את המכשיר החדש.
גדול! בואו נמשיך ו SSH לתוך זה.
האבטחה בסדר, אני אוהב את זה, אבל זה קצת מקשה על העניינים. אשתמש במתאם UART-USB כדי לגשת למעטפת ולאפשר SSH …
השימוש בתצוגה במקום ב- UART מקלה הרבה יותר.
לאחר אתחול מחדש, אני סוף סוף נכנס.
ראשית, בואו לעדכן:
sudo apt update && sudo apt upgrade -y
עכשיו בואו נחבר את המכשיר החדש הזה לענן.
שלב 2: התקנת Cloud4RPi
החלטתי לנסות את פלטפורמת הענן בשם Cloud4RPi, המיועדת ל- IoT.
על פי המסמכים, אנו זקוקים לחבילות הבאות כדי להפעיל אותו:
sudo apt להתקין git python3 python3 -pip -y
ניתן להתקין את ספריית הלקוחות בפקודה אחת:
sudo pip3 התקן cloud4rpi
כעת אנו זקוקים לקוד לדוגמא.
שיבוט git https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python
סקריפט ההפעלה הוא control.py.
אנו זקוקים לאסימון, המאפשר ל- Cloud4RPi לקשר בין המכשירים לחשבונות. כדי להשיג אחד, צור חשבון ב- cloud4rpi.io ולחץ על כפתור מכשיר חדש בדף זה. החלף את מחרוזת _YOUR_DEVICE_TOKEN_ בקובץ control.py באסימון המכשיר ושמור את הקובץ. כעת אנו מוכנים להשקה הראשונה.
sudo python3 control.py
פתח את דף המכשיר ובדוק שהנתונים קיימים.
עכשיו נעבור לנתונים מהעולם האמיתי.
שלב 3: חיבור החיישן
אנחנו נצטרך:
- חיישן לחות DHT22 או DHT11
- נגד משיכה (5-10 KΩ)
- חוטים
חיישן DHT22 מודד טמפרטורה ולחות בו זמנית. פרוטוקול התקשורת אינו סטנדרטי, ולכן איננו צריכים לאפשר אותו ב- raspi -config - סיכת GPIO פשוטה מספיקה.
כדי לרכוש את הנתונים אשתמש בספרייה הנהדרת של Adafruit לחיישני DHT, אך יתכן שהוא לא יפעל כפי שהוא. גיליתי פעם עיכוב קבוע ומוזר בקוד, שלא עבד עבור החומרה שלי, ואחרי שנתיים בקשת המשיכה שלי עדיין תלויה ועומדת. שיניתי גם את קבועי זיהוי הלוח מכיוון ש- Raspberry Pi 1 שלי עם BCM2835 זוהה באופן מפתיע כ- Raspberry Pi 3. הלוואי שזה היה נכון … לכן, אני ממליץ להשתמש במזלג שלי. אם אתה נתקל בבעיות עם זה, נסה את המאגר המקורי, אולי זה עובד עבור מישהו, אבל אני לא אחד מהם.
שיבוט git https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT
מכיוון שהספרייה כתובה ב- C, היא דורשת אוסף, כך שאתה צריך את חבילות ה- build-essential ו- python-dev.
sudo apt להתקין build-essential python-dev -ysudo python setup.py להתקין
בזמן התקנת החבילות, חבר את ה- DHT22 כפי שמוצג בתמונה.
ובדוק את זה:
cd ~ python -c "יבוא Adafruit_DHT כ- d; הדפס d.read_retry (d. DHT22, 4)"
אם אתה רואה משהו כמו (39.20000076293945, 22.600000381469727), אתה צריך לדעת שזו הלחות באחוזים ובטמפרטורה בצלזיוס.
עכשיו, בואו להרכיב הכל ביחד!
שלב 4: שליחת קריאות חיישן לענן
אשתמש ב- control.py כבסיס ואוסיף לתוכו את האינטראקציה DHT22.
cp cloud4rpi-raspberrypi-python/control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python/rpi.py./rpi.pyvi cloud_dht22.py
הסר את הקוד לדוגמא כמו בתמונה למעלה.
כאשר DHT22 מחזיר את הטמפרטורה והלחות בשיחה אחת, אני עומד לאחסן אותם ברחבי העולם ולעדכן רק פעם אחת בבקשה, בהנחה שהעיכוב ביניהם הוא יותר מעשר שניות. שקול את הקוד הבא, שרוכש את נתוני DHT22:
יבוא Adafruit_DHT
טמפ ', זמזום = אין, אין
last_update = time.time () - 20
def update_data ():
global_update global, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time ()
def get_t ():
update_data () סיבוב חזור (temp, 2) אם temp הוא לא None else None def get_h (): update_data () round return (hum, 2) if hum is no אף אחד אחר אין
הכנס קוד זה לאחר הייבוא הקיים וערוך את סעיף המשתנים כך שישתמש בפונקציות החדשות:
משתנים = {'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 לחות': {'type': 'numeric', 'bind': get_h}, 'Temp CPU': {'type': 'numeric', 'bind': cpu_temp}}
אם אתה מוצא כי מניפולציות מבלבלות, קח את הגירסה הסופית של הקובץ הזה. לחץ על הכפתור האדום כדי להתחיל בהעברת הנתונים:
לאחר מכן תוכל לבדוק את דף המכשיר.
python3 cloud_dht22.py
לאחר מכן תוכל לבדוק את דף המכשיר.
אתה יכול להשאיר אותו כפי שהוא, אבל אני מעדיף לקבל שירות לכל דבר. זה מבטיח שהתסריט תמיד פועל. יצירת שירות עם הסקריפט האוטומטי לחלוטין שכבר יש לך בספריית cloud4rpi-raspberrypi-python:
service_install.sh cloud_dht22.py
התחלת השירות:
sudo service cloud4rpi התחלה
ובודקים את זה:
pi@raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service -שדון Cloud4RPi טעון: טעון (/lib/systemd/system/cloud4rpi.service; מופעל) פעיל: פעיל (פועל) מאז רביעי 2017-05-17 20: 22: 48 UTC; לפני דקה אחת PID ראשי: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.py
17 במאי 20:22:51 raspberrypi python [560]: פרסום iot-hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]}
17 במאי 20:22:53 raspberrypi python [560]: פרסום iot-hub/messages: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 במאי 20: 22:53 raspberrypi python [560]: פרסום iot-hub/messages: {'type': 'system', 'ts': '2017-05-17T20….4'}}
אם הכל עובד כצפוי, נוכל להמשיך ולהשתמש ביכולות של פלטפורמת Cloud4RPi כדי לתמרן עם הנתונים.
שלב 5: תרשימים והתראות
קודם כל, בואו נשרטט את המשתנים כדי לראות כיצד הם משתנים. ניתן לעשות זאת על ידי הוספת לוח הבקרה החדש והכנסת התרשימים הנדרשים בו.
דבר נוסף שנוכל לעשות כאן הוא הגדרת התראה. תכונה זו מאפשרת לך להגדיר את הטווח הבטוח עבור משתנה. ברגע שהטווח חורג, הוא שולח הודעת דוא ל. בדף העריכה בלוח הבקרה, תוכל לעבור להתראות ולהגדיר אחת.
מיד לאחר מכן, הלחות בחדר שלי החלה לרדת במהירות ללא כל סיבה ניכרת, והזעקה באה מיד.
אתה יכול להשתמש ב- Cloud4RPi בחינם עם כל חומרה שמסוגלת לבצע Python. מבחינתי, עכשיו אני תמיד יודע מתי להפעיל את מכשיר האדים, ואני יכול אפילו לחבר אותו לממסר לשליטה מרחוק באמצעות Cloud4RPi. אני מוכן לחום! ברוך הבא קיץ!
עם Cloud4RPi, אתה יכול לשלוט ב- Raspberry Pi ובמכשירי IoT אחרים מרחוק בזמן אמת. בקר באתר שלנו וחבר מכשירים ללא הגבלה בחינם.
מוּמלָץ:
אוטומציה ביתית מבוקרת באינטרנט/בענן באמצעות Esp8266 (aREST, MQTT, IoT): 7 שלבים (עם תמונות)
אוטומציה ביתית מבוקרת באינטרנט/בענן באמצעות Esp8266 (aREST, MQTT, IoT): כל הקרדיטים ל- http://arest.io/ עבור שירות הענן !! IoT הנושא המדובר ביותר בעולם כרגע !! שרתי ושירותי ענן המאפשרים זאת היא נקודת המשיכה של העולם של היום … הפסקת מחסום המרחק הייתה והיא
בנה חיישן איכות אוויר IoT Inhouse אין צורך בענן: 10 שלבים
בנה חיישן איכות אוויר IoT Inhouse אין צורך בענן: איכות האוויר הפנימי או החיצוני תלויה במקורות זיהום רבים וגם במזג האוויר. מכשיר זה לוכד כמה מהפרמטרים הנפוצים וחלקם המעניינים ביותר באמצעות 2 שבבי חיישן. טמפרטורה לחות לחץ גז אורגני מיקרו
אוטומציה של חממה עם LoRa! (חלק 1) -- חיישנים (טמפרטורה, לחות, לחות קרקע): 5 שלבים
אוטומציה של חממה עם LoRa! (חלק 1) || חיישנים (טמפרטורה, לחות, לחות קרקע): בפרויקט זה אראה לכם כיצד הפכתי את החממה לאוטומטית. זה אומר שאני אראה לך איך בניתי את החממה וכיצד חיברתי את החשמל והאלקטרוניקה האוטומטית. כמו כן, אראה לך כיצד לתכנת לוח Arduino המשתמש ב- L
Raspberry PI טמפרטורת ולחות רישום, תחנת מזג אוויר בענן, Wifi וסטטיסטיקות ניידות: 6 שלבים
Raspberry PI טמפרטורת ולחות רישום, תחנת מזג אוויר בענן, Wifi וסטטיסטיקות ניידות: עם מכשיר Raspberry PI אתה יכול לרשום נתוני טמפרטורה ולחות בחוץ, בחדר, בחממה, במעבדה, בחדר הקירור או בכל מקומות אחרים בחינם לגמרי. דוגמה זו נשתמש כדי לרשום טמפרטורה ולחות. המכשיר יחובר לאינטרנט v
צג לחות אלחוטי (ESP8266 + חיישן לחות): 5 שלבים
צג לחות אלחוטי (ESP8266 + חיישן לחות): אני קונה פטרוזיליה בסיר, ורוב היום האדמה הייתה יבשה. אז אני מחליט לעשות את הפרויקט הזה, בנושא חישה של לחות של אדמה בסיר עם פטרוזיליה, לבדוק מתי אני צריך לשפוך אדמה עם מים. אני חושב שהחיישן הזה (חיישן לחות קיבולית v1.2) הוא טוב