4.3 KiB
פרסום טמפרטורה - חומרה וירטואלית לאינטרנט של הדברים ו-Raspberry Pi
בחלק זה של השיעור, תפרסמו את ערכי הטמפרטורה שזוהו על ידי ה-Raspberry Pi או מכשיר IoT וירטואלי באמצעות MQTT, כך שניתן יהיה להשתמש בהם מאוחר יותר לחישוב GDD.
פרסום הטמפרטורה
לאחר קריאת הטמפרטורה, ניתן לפרסם אותה באמצעות MQTT לקוד 'שרת' שיקרא את הערכים וישמור אותם לשימוש בחישוב GDD.
משימה - פרסום הטמפרטורה
תכנתו את המכשיר לפרסם את נתוני הטמפרטורה.
-
פתחו את פרויקט האפליקציה
temperature-sensor
אם הוא עדיין לא פתוח. -
חזרו על השלבים שביצעתם בשיעור 4 כדי להתחבר ל-MQTT ולשלוח טלמטריה. אתם תשתמשו באותו Mosquitto broker ציבורי.
השלבים לכך הם:
- הוסיפו את חבילת ה-pip של MQTT
- הוסיפו את הקוד להתחברות ל-MQTT broker
- הוסיפו את הקוד לפרסום טלמטריה
⚠️ עיינו ב-הוראות להתחברות ל-MQTT וב-הוראות לשליחת טלמטריה מהשיעור הרביעי אם יש צורך.
-
ודאו ש-
client_name
משקף את שם הפרויקט הזה:client_name = id + 'temperature_sensor_client'
-
עבור הטלמטריה, במקום לשלוח ערך אור, שלחו את ערך הטמפרטורה שנקרא מהחיישן DHT בתכונה במסמך JSON שנקראת
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
אין צורך לקרוא את ערך הטמפרטורה לעיתים קרובות - הוא לא ישתנה הרבה בזמן קצר, לכן הגדירו את
time.sleep
ל-10 דקות:time.sleep(10 * 60);
💁 הפונקציה
sleep
מקבלת את הזמן בשניות, ולכן כדי להקל על הקריאה הערך מועבר כתוצאה מחישוב. 60 שניות בדקה, כך ש-10 x (60 שניות בדקה) נותן עיכוב של 10 דקות. -
הריצו את הקוד באותו אופן שבו הרצתם את הקוד מהחלק הקודם של המשימה. אם אתם משתמשים במכשיר IoT וירטואלי, ודאו שאפליקציית CounterFit פועלת ושחיישני הלחות והטמפרטורה נוצרו על הפינים הנכונים.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 תוכלו למצוא את הקוד הזה בתיקיית code-publish-temperature/virtual-device או בתיקיית code-publish-temperature/pi.
😀 הצלחתם לפרסם את הטמפרטורה כטלמטריה מהמכשיר שלכם.
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.