You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/he/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-...

4.3 KiB

פרסום טמפרטורה - חומרה וירטואלית לאינטרנט של הדברים ו-Raspberry Pi

בחלק זה של השיעור, תפרסמו את ערכי הטמפרטורה שזוהו על ידי ה-Raspberry Pi או מכשיר IoT וירטואלי באמצעות MQTT, כך שניתן יהיה להשתמש בהם מאוחר יותר לחישוב GDD.

פרסום הטמפרטורה

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

משימה - פרסום הטמפרטורה

תכנתו את המכשיר לפרסם את נתוני הטמפרטורה.

  1. פתחו את פרויקט האפליקציה temperature-sensor אם הוא עדיין לא פתוח.

  2. חזרו על השלבים שביצעתם בשיעור 4 כדי להתחבר ל-MQTT ולשלוח טלמטריה. אתם תשתמשו באותו Mosquitto broker ציבורי.

    השלבים לכך הם:

    • הוסיפו את חבילת ה-pip של MQTT
    • הוסיפו את הקוד להתחברות ל-MQTT broker
    • הוסיפו את הקוד לפרסום טלמטריה

    ⚠️ עיינו ב-הוראות להתחברות ל-MQTT וב-הוראות לשליחת טלמטריה מהשיעור הרביעי אם יש צורך.

  3. ודאו ש-client_name משקף את שם הפרויקט הזה:

    client_name = id + 'temperature_sensor_client'
    
  4. עבור הטלמטריה, במקום לשלוח ערך אור, שלחו את ערך הטמפרטורה שנקרא מהחיישן DHT בתכונה במסמך JSON שנקראת temperature:

    _, temp = sensor.read()
    telemetry = json.dumps({'temperature' : temp})
    
  5. אין צורך לקרוא את ערך הטמפרטורה לעיתים קרובות - הוא לא ישתנה הרבה בזמן קצר, לכן הגדירו את time.sleep ל-10 דקות:

    time.sleep(10 * 60);
    

    💁 הפונקציה sleep מקבלת את הזמן בשניות, ולכן כדי להקל על הקריאה הערך מועבר כתוצאה מחישוב. 60 שניות בדקה, כך ש-10 x (60 שניות בדקה) נותן עיכוב של 10 דקות.

  6. הריצו את הקוד באותו אופן שבו הרצתם את הקוד מהחלק הקודם של המשימה. אם אתם משתמשים במכשיר 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. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.