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/sr/2-farm/lessons/1-predict-plant-growth/wio-terminal-temp-publish.md

6.1 KiB

Објављивање температуре - Wio Terminal

У овом делу лекције, објавићете вредности температуре које Wio Terminal детектује преко MQTT-а, како би касније могле да се користе за израчунавање GDD.

Објављивање температуре

Када се температура очита, може се објавити преко MQTT-а неком 'серверском' коду који ће читати вредности и чувати их, спремне за употребу у израчунавању GDD. Микроконтролери не читају време са интернета и не прате време помоћу реалног временског сата у основној конфигурацији, уређај мора бити програмиран да то ради, под условом да има потребан хардвер.

Да би ствари биле једноставније за ову лекцију, време неће бити послато са подацима сензора, већ га серверски код може додати касније када прими поруке.

Задатак

Програмирајте уређај да објављује податке о температури.

  1. Отворите пројекат temperature-sensor за Wio Terminal.

  2. Поновите кораке које сте радили у лекцији 4 да се повежете на MQTT и пошаљете телеметрију. Користићете исти јавни Mosquitto брокер.

    Кораци за ово су:

    • Додајте Seeed WiFi и MQTT библиотеке у .ini датотеку
    • Додајте конфигурациону датотеку и код за повезивање на WiFi
    • Додајте код за повезивање на MQTT брокер
    • Додајте код за објављивање телеметрије

    ⚠️ Погледајте упутства за повезивање на MQTT и упутства за слање телеметрије из лекције 4 ако је потребно.

  3. Уверите се да CLIENT_NAME у заглавној датотеци config.h одражава овај пројекат:

    const string CLIENT_NAME = ID + "temperature_sensor_client";
    
  4. За телеметрију, уместо да шаљете вредност светлости, пошаљите вредност температуре очитану са DHT сензора у својству JSON документа названом temperature тако што ћете променити функцију loop у main.cpp:

    float temp_hum_val[2] = {0};
    dht.readTempAndHumidity(temp_hum_val);
    
    DynamicJsonDocument doc(1024);
    doc["temperature"] = temp_hum_val[1];
    
  5. Вредност температуре не треба да се очитава често - неће се много мењати у кратком временском периоду, па поставите delay у функцији loop на 10 минута:

    delay(10 * 60 * 1000);
    

    💁 Функција delay узима време у милисекундама, па је ради лакшег читања вредност прослеђена као резултат израчунавања. 1.000ms у секунди, 60s у минуту, па 10 x (60s у минуту) x (1000ms у секунди) даје кашњење од 10 минута.

  6. Отпремите ово на ваш Wio Terminal и користите серијски монитор да видите како се температура шаље на MQTT брокер.

    --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time
    --- More details at http://bit.ly/pio-monitor-filters
    --- Miniterm on /dev/cu.usbmodem1201  9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    Connecting to WiFi..
    Connected!
    Attempting MQTT connection...connected
    Sending telemetry {"temperature":25}
    Sending telemetry {"temperature":25}
    

💁 Овај код можете пронаћи у фасцикли code-publish-temperature/wio-terminal.

😀 Успешно сте објавили температуру као телеметрију са вашег уређаја.


Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људи. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу произаћи из коришћења овог превода.