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

4.2 KiB

Publikovanie teploty - Wio Terminal

V tejto časti lekcie budete publikovať hodnoty teploty zistené pomocou Wio Terminal cez MQTT, aby mohli byť neskôr použité na výpočet GDD.

Publikovanie teploty

Keď je teplota odčítaná, môže byť publikovaná cez MQTT na nejaký 'serverový' kód, ktorý tieto hodnoty prečíta a uloží ich, aby mohli byť použité na výpočet GDD. Mikrokontroléry neodčítavajú čas z internetu a nesledujú čas pomocou reálneho časového hodín automaticky, zariadenie musí byť naprogramované na túto úlohu, za predpokladu, že má potrebný hardvér.

Aby sme veci v tejto lekcii zjednodušili, čas nebude posielaný spolu s údajmi zo senzora, namiesto toho ho môže pridať serverový kód neskôr, keď prijme správy.

Úloha

Naprogramujte zariadenie na publikovanie údajov o teplote.

  1. Otvorte projekt temperature-sensor pre Wio Terminal.

  2. Opakujte kroky, ktoré ste vykonali v lekcii 4 na pripojenie k MQTT a odosielanie telemetrie. Budete používať rovnaký verejný Mosquitto broker.

    Kroky sú nasledovné:

    • Pridajte knižnice Seeed WiFi a MQTT do súboru .ini
    • Pridajte konfiguračný súbor a kód na pripojenie k WiFi
    • Pridajte kód na pripojenie k MQTT brokeru
    • Pridajte kód na publikovanie telemetrie

    ⚠️ Pozrite si pokyny na pripojenie k MQTT a pokyny na odosielanie telemetrie z lekcie 4, ak je to potrebné.

  3. Uistite sa, že CLIENT_NAME v hlavičkovom súbore config.h odráža tento projekt:

    const string CLIENT_NAME = ID + "temperature_sensor_client";
    
  4. Pre telemetriu, namiesto odosielania hodnoty svetla, odošlite hodnotu teploty odčítanú zo senzora DHT ako vlastnosť v JSON dokumente nazvanú temperature zmenou funkcie loop v main.cpp:

    float temp_hum_val[2] = {0};
    dht.readTempAndHumidity(temp_hum_val);
    
    DynamicJsonDocument doc(1024);
    doc["temperature"] = temp_hum_val[1];
    
  5. Hodnota teploty nemusí byť odčítaná veľmi často - nebude sa meniť výrazne v krátkom čase, preto nastavte delay vo funkcii loop na 10 minút:

    delay(10 * 60 * 1000);
    

    💁 Funkcia delay berie čas v milisekundách, takže aby bolo jednoduchšie čítať hodnotu, je odovzdaná ako výsledok výpočtu. 1 000 ms v sekunde, 60 s v minúte, takže 10 x (60 s v minúte) x (1000 ms v sekunde) dáva 10-minútové oneskorenie.

  6. Nahrajte toto na váš Wio Terminal a použite sériový monitor na sledovanie odosielania teploty na MQTT broker.

    --- 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}
    

💁 Tento kód nájdete v priečinku code-publish-temperature/wio-terminal.

😀 Úspešne ste publikovali teplotu ako telemetriu zo svojho zariadenia.


Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho pôvodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.