תוכן עניינים:
- שלב 1: הכנת חומרה
- שלב 2: הפעלת SSH
- שלב 3: התקנת Cloud4RPi
- שלב 4: חיבור החיישן
- שלב 5: שליחת קריאות חיישן לענן
- שלב 6: תרשימים והתראות
וִידֵאוֹ: ניטור טמפרטורה ולחות באמצעות פטל פטל: 6 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:14
הקיץ מתקרב, ועל אלה ללא מזגן להיות ערוכים לשלוט באווירה בתוך הבית באופן ידני. בפוסט זה, אני מתאר את הדרך המודרנית למדידת הפרמטרים החשובים ביותר לנוחות האדם: טמפרטורה ולחות. הנתונים שנאספו נשלחים לענן ומעובדים שם.
אני משתמש בלוח Raspberry Pi 1 ובחיישן 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 וכבל החשמל, ולאחר זמן מה, הנתב שלי רשם את המכשיר החדש.
שלב 2: הפעלת SSH
SSH מושבת כברירת מחדל. אני יכול להשתמש בממיר UART-USB או פשוט לחבר צג כדי לגשת למעטפת ולהפעיל SSH.
לאחר אתחול מחדש, אני סוף סוף נכנס. ראשית, ראשית, נעדכן:
sudo apt update && sudo apt upgrade -y
עכשיו בואו נחבר את המכשיר החדש הזה לענן.
שלב 3: התקנת Cloud4RPi
החלטתי לנסות את פלטפורמת הענן בשם Cloud4RPi, המיועדת ל- IoT.
על פי המסמכים, אנו זקוקים לחבילות הבאות כדי להפעיל אותו:
sudo apt להתקין git python python -pip -y
ניתן להתקין את ספריית הלקוחות בפקודה אחת:
sudo pip התקן cloud4rpi
כעת אנו זקוקים לקוד לדוגמא כדי לוודא שהוא פועל.
שיבוט git https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git שיבוט https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/minimal.py minimal.py && rmdir -re
החלטתי להריץ minimal.py, אבל אני לא אוהב את הנתונים המזויפים. למרבה המזל, שמתי לב לדרך קלה להפוך את נתוני האבחון לאמיתיים בדוגמה זו. הוסף יבוא נוסף לקטע היבוא:
מיבוא rpi *
לאחר מכן מחק את הפונקציות האלה המספקות נתונים מזויפים (rpi.py מגדיר אותן כעת):
def cpu_temp ():
החזר 70 def ip_address (): החזר '8.8.8.8' def hostname (): החזר 'שם מארח' def os_name (): החזר 'osx'
כעת אנו זקוקים לאסימון, המאפשר ל- Cloud4RPi לקשר בין המכשירים לחשבונות. כדי להשיג אחד, צור חשבון ב- cloud4rpi.io ולחץ על כפתור מכשיר חדש בדף זה. החלף את מחרוזת _YOUR_DEVICE_TOKEN_ בקובץ minimal.py באסימון של המכשיר ושמור את הקובץ. כעת אנו מוכנים להשקה הראשונה.
python minimal.py
פתח את דף המכשיר ובדוק שהנתונים קיימים.
עכשיו נעבור לנתונים מהעולם האמיתי.
שלב 4: חיבור החיישן
אנחנו נצטרך:
- חיישן לחות 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…. 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), אתה צריך לדעת שזו הלחות באחוזים ובטמפרטורה בצלזיוס.
עכשיו, בואו להרכיב הכל ביחד!
שלב 5: שליחת קריאות חיישן לענן
אשתמש ב- minimal.py כבסיס ואוסיף לתוכו את האינטראקציה DHT22.
cd cloud4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
מכיוון ש- DHT22 מחזיר את הטמפרטורה והלחות בשיחה אחת, אני מאחסן אותם ברחבי העולם ומעדכן רק פעם אחת בבקשה, בהנחה שהעיכוב ביניהם הוא יותר מעשר שניות. שקול את הקוד הבא, שרוכש את נתוני DHT22:
יבוא Adafruit_DHT
temp, hum = None, None last_update = time.time () - 20 def update_data (): global last_update, 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 הוא לא אף אחד אחר אף def get_h (): update_data () סיבוב חוזר (זמזום, 2) אם זמזום אינו אף אחד אחר אין
הכנס קוד זה לאחר הייבוא הקיים וערוך את סעיף המשתנים כך שישתמש בפונקציות החדשות:
משתנים = {
'DHT22 Temp': {'type': 'numeric', 'bind': get_t}, 'DHT22 לחות': {'type': 'numeric', 'bind': get_h}, 'Temp CPU': {'type ':' מספריים ',' bind ': cpu_temp}}
לחץ על הכפתור האדום כדי להתחיל בהעברת הנתונים:
python cloud_dht22.py
לאחר מכן תוכל לבדוק את דף המכשיר.
אתה יכול להשאיר אותו כפי שהוא, אבל אני מעדיף לקבל שירות לכל דבר. זה מבטיח שהתסריט תמיד פועל. יצירת שירות עם הסקריפט האוטומטי לחלוטין:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s 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; לפני 1 דקות PID ראשי: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMay 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/הודעות: {'type': 'מערכת', 'ts': '2017-05-17T20….4'}}
אם הכל עובד כצפוי, נוכל להמשיך ולהשתמש ביכולות של פלטפורמת Cloud4RPi כדי לתמרן עם הנתונים.
שלב 6: תרשימים והתראות
קודם כל, בואו נשרטט את המשתנים כדי לראות כיצד הם משתנים. ניתן לעשות זאת על ידי הוספת לוח הבקרה החדש והכנסת התרשימים הנדרשים בו.
דבר נוסף שנוכל לעשות כאן הוא הגדרת התראה. תכונה זו מאפשרת לך להגדיר את הטווח הבטוח עבור משתנה. ברגע שהטווח חורג, הוא שולח הודעת דוא ל. בדף העריכה בלוח הבקרה, תוכל לעבור להתראות ולהגדיר אחת.
מיד לאחר מכן, הלחות בחדר שלי החלה לרדת במהירות ללא כל סיבה ניכרת, והזעקה באה מיד.
אתה יכול להשתמש ב- Cloud4RPi בחינם עם כל חומרה שמסוגלת לבצע Python. מבחינתי, עכשיו אני תמיד יודע מתי להפעיל את מכשיר האדים, ואני יכול אפילו לחבר אותו לממסר לשליטה מרחוק באמצעות Cloud4RPi. אני מוכן לחום! ברוך הבא קיץ!
מוּמלָץ:
ניטור טמפרטורה ולחות באמצעות NODE MCU ו- BLYNK: 5 שלבים
ניטור טמפרטורה ולחות באמצעות NODE MCU ו- BLYNK: היי חבר'ה במדריך זה ניתן ללמוד כיצד להשיג טמפרטורה ולחות אטמוספרה באמצעות חיישן טמפרטורה ולחות DHT11 באמצעות Node MCU ו- BLYNK
ניטור טמפרטורה ולחות DHT באמצעות ESP8266 ופלטפורמת IoT של AskSensors: 8 שלבים
ניטור טמפרטורה ולחות DHT באמצעות ESP8266 ופלטפורמת IoT של AskSensors: בהנחיה קודמת הצגתי מדריך צעד אחר צעד להתחלת ה- nodeMCU ESP8266 ופלטפורמת IoT AskSensors. במדריך זה אני מחבר חיישן DHT11. לצומת MCU של הצומת. DHT11 הוא טמפרטורה נפוצה ולחות
ניטור טמפרטורה ולחות באמצעות ESP-01 & DHT וענן AskSensors: 8 שלבים
ניטור טמפרטורה ולחות באמצעות ESP-01 & DHT וענן AskSensors: במדריך זה נלמד כיצד לעקוב אחר מדידות הטמפרטורה והלחות באמצעות לוח IOT-MCU/ESP-01-DHT11 ופלטפורמת IoT של AskSensors. .אני בוחר את מודול IOT-MCU ESP-01-DHT11 ליישום זה מכיוון שהוא
ניטור טמפרטורה ולחות באמצעות Blynk: 6 שלבים
ניטור טמפרטורה ולחות באמצעות Blynk: במדריך זה אנו הולכים לניטור טמפרטורה ולחות באמצעות DHT11 ושולחים את הנתונים לענן באמצעות Blynk רכיבים הדרושים למדריך זה: מודול WiFi Arduino UnoDHT11 לחות ESP8266-01 WiFi
ניטור טמפרטורה ולחות באמצעות SHT25 ו- Arduino Nano: 5 שלבים
ניטור טמפרטורה ולחות באמצעות SHT25 וארדואינו ננו: לאחרונה עבדנו על פרויקטים שונים הדורשים ניטור טמפרטורה ולחות ואז הבנו ששני הפרמטרים הללו ממלאים תפקיד מרכזי בהערכה ליעילות העבודה של מערכת. שניהם באינדוס