3.8 KiB
Publică temperatura - Hardware IoT Virtual și Raspberry Pi
În această parte a lecției, vei publica valorile temperaturii detectate de Raspberry Pi sau Dispozitivul IoT Virtual prin MQTT, astfel încât să poată fi utilizate ulterior pentru calcularea 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.
Sarcină - publică temperatura
Programează dispozitivul să publice datele despre temperatură.
-
Deschide proiectul aplicației
temperature-sensor
dacă nu este deja deschis. -
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ă pachetul pip pentru MQTT
- Adaugă codul pentru a te conecta la brokerul MQTT
- Adaugă codul pentru a publica telemetrie
⚠️ Consultă instrucțiunile pentru conectarea la MQTT și instrucțiunile pentru trimiterea telemetriei din lecția 4, dacă este necesar.
-
Asigură-te că
client_name
reflectă numele acestui proiect:client_name = id + 'temperature_sensor_client'
-
Pentru telemetrie, în loc să trimiți o valoare de lumină, trimite valoarea temperaturii citită de senzorul DHT într-o proprietate din documentul JSON numită
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Valoarea temperaturii nu trebuie citită foarte des - nu se va schimba mult într-un interval scurt de timp, așa că setează
time.sleep
la 10 minute:time.sleep(10 * 60);
💁 Funcția
sleep
ia timpul în secunde, așa că pentru a fi mai ușor de citit, valoarea este transmisă ca rezultat al unui calcul. 60s într-un minut, deci 10 x (60s într-un minut) oferă o întârziere de 10 minute. -
Rulează codul în același mod în care ai rulat codul din partea anterioară a temei. Dacă folosești un dispozitiv IoT virtual, asigură-te că aplicația CounterFit este pornită și senzorii de umiditate și temperatură au fost creați pe pinii corecți.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Poți găsi acest cod în folderul code-publish-temperature/virtual-device sau în folderul code-publish-temperature/pi.
😀 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ă rețineți că traducerile automate pot conține erori sau inexactități. Documentul original în limba sa maternă 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.