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

4.5 KiB

Publică temperatura - Wio Terminal

În această parte a lecției, vei publica valorile temperaturii detectate de Wio Terminal prin MQTT, astfel încât să poată fi utilizate ulterior pentru a calcula GDD.

Publică temperatura

Odată ce temperatura a fost citită, aceasta poate fi publicată prin MQTT către un cod 'server' care va citi valorile și le va stoca, pregătite pentru a fi utilizate în calculul GDD. Microcontrolerele nu citesc ora de pe Internet și nu urmăresc timpul cu un ceas în timp real din fabrică; dispozitivul trebuie programat pentru a face acest lucru, presupunând că are hardware-ul necesar.

Pentru a simplifica lucrurile în această lecție, ora nu va fi trimisă împreună cu datele senzorului; în schimb, aceasta poate fi adăugată ulterior de codul serverului când primește mesajele.

Sarcină

Programează dispozitivul să publice datele despre temperatură.

  1. Deschide proiectul temperature-sensor pentru Wio Terminal.

  2. Repetă pașii pe care i-ai făcut în lecția 4 pentru a te conecta la MQTT și a trimite telemetrie. Vei folosi același broker public Mosquitto.

    Pașii pentru aceasta sunt:

    • Adaugă bibliotecile Seeed WiFi și MQTT în fișierul .ini
    • Adaugă fișierul de configurare și codul pentru conectarea la WiFi
    • Adaugă codul pentru conectarea la brokerul MQTT
    • Adaugă codul pentru publicarea telemetriei

    ⚠️ Consultă instrucțiunile pentru conectarea la MQTT și instrucțiunile pentru trimiterea telemetriei din lecția 4, dacă este necesar.

  3. Asigură-te că CLIENT_NAME din fișierul header config.h reflectă acest proiect:

    const string CLIENT_NAME = ID + "temperature_sensor_client";
    
  4. Pentru telemetrie, în loc să trimiți o valoare de lumină, trimite valoarea temperaturii citită de senzorul DHT într-o proprietate a documentului JSON numită temperature, modificând funcția loop din main.cpp:

    float temp_hum_val[2] = {0};
    dht.readTempAndHumidity(temp_hum_val);
    
    DynamicJsonDocument doc(1024);
    doc["temperature"] = temp_hum_val[1];
    
  5. Valoarea temperaturii nu trebuie citită foarte des - nu se va schimba mult într-un timp scurt, așa că setează delay în funcția loop la 10 minute:

    delay(10 * 60 * 1000);
    

    💁 Funcția delay primește timpul în milisecunde, așa că, pentru a face mai ușor de citit, valoarea este transmisă ca rezultat al unui calcul. 1.000ms într-o secundă, 60s într-un minut, deci 10 x (60s într-un minut) x (1.000ms într-o secundă) oferă o întârziere de 10 minute.

  6. Încarcă acest cod pe Wio Terminal și folosește monitorul serial pentru a vedea temperatura trimisă către brokerul 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}
    

💁 Poți găsi acest cod în folderul code-publish-temperature/wio-terminal.

😀 Ai publicat cu succes temperatura ca telemetrie de pe dispozitivul tău.


Declinare de responsabilitate:
Acest document a fost tradus folosind serviciul de traducere AI Co-op Translator. Deși ne străduim să asigurăm acuratețea, vă rugăm să fiți conștienți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa natală ar trebui considerat sursa autoritară. Pentru informații critice, se recomandă traducerea profesională realizată de un specialist uman. Nu ne asumăm responsabilitatea pentru eventualele neînțelegeri sau interpretări greșite care pot apărea din utilizarea acestei traduceri.