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

לחות בענן: 5 שלבים
לחות בענן: 5 שלבים

וִידֵאוֹ: לחות בענן: 5 שלבים

וִידֵאוֹ: לחות בענן: 5 שלבים
וִידֵאוֹ: שלי גפני-5 שלבים להסתרת פיגמנטציה 2024, נוֹבֶמבֶּר
Anonim
לחות בענן
לחות בענן

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

אספקה

אני משתמש בלוח 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
התקנת 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 אחרים מרחוק בזמן אמת. בקר באתר שלנו וחבר מכשירים ללא הגבלה בחינם.

מוּמלָץ: