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/1-getting-started/lessons/4-connect-internet/wio-terminal-telemetry.md

3.8 KiB

שלוט בתאורת הלילה שלך דרך האינטרנט - Wio Terminal

בחלק זה של השיעור, תשלח נתוני טלמטריה עם רמות אור מה-Wio Terminal שלך ל-MQTT broker.

התקנת ספריות JSON עבור Arduino

אחת הדרכים הפופולריות לשלוח הודעות דרך MQTT היא באמצעות JSON. קיימת ספריית Arduino עבור JSON שמקלה על קריאה וכתיבה של מסמכי JSON.

משימה

התקן את ספריית Arduino JSON.

  1. פתח את פרויקט תאורת הלילה ב-VS Code.

  2. הוסף את השורה הבאה כרשומה נוספת לרשימת lib_deps בקובץ platformio.ini:

    bblanchon/ArduinoJson @ 6.17.3
    

    זה מייבא את ArduinoJson, ספריית JSON עבור Arduino.

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

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

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

פרסם נתוני טלמטריה ל-MQTT broker.

  1. הוסף את הקוד הבא לתחתית קובץ config.h כדי להגדיר את שם נושא הטלמטריה עבור ה-MQTT broker:

    const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";
    

    CLIENT_TELEMETRY_TOPIC הוא הנושא שבו המכשיר יפרסם את רמות האור.

  2. פתח את קובץ main.cpp.

  3. הוסף את הוראת #include הבאה לראש הקובץ:

    #include <ArduinoJSON.h>
    
  4. הוסף את הקוד הבא בתוך הפונקציה loop, ממש לפני delay:

    int light = analogRead(WIO_LIGHT);
    
    DynamicJsonDocument doc(1024);
    doc["light"] = light;
    
    string telemetry;
    serializeJson(doc, telemetry);
    
    Serial.print("Sending telemetry ");
    Serial.println(telemetry.c_str());
    
    client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());
    

    קוד זה קורא את רמת האור, יוצר מסמך JSON באמצעות ArduinoJson שמכיל את הרמה הזו. לאחר מכן המסמך מסודר למחרוזת ונשלח לנושא הטלמטריה של MQTT על ידי לקוח ה-MQTT.

  5. העלה את הקוד ל-Wio Terminal שלך, והשתמש ב-Serial Monitor כדי לראות את רמות האור שנשלחות ל-MQTT broker.

    Connecting to WiFi..
    Connected!
    Attempting MQTT connection...connected
    Sending telemetry {"light":652}
    Sending telemetry {"light":612}
    Sending telemetry {"light":583}
    

💁 תוכל למצוא את הקוד הזה בתיקייה code-telemetry/wio-terminal.

😀 הצלחת לשלוח נתוני טלמטריה מהמכשיר שלך.


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