3.6 KiB
Objavljivanje temperature - Virtualni IoT hardver i Raspberry Pi
U ovom dijelu lekcije objavit ćete vrijednosti temperature koje detektira Raspberry Pi ili Virtualni IoT uređaj putem MQTT-a kako bi se kasnije mogle koristiti za izračun GDD-a.
Objavljivanje temperature
Nakon što se temperatura očita, može se objaviti putem MQTT-a nekom 'server' kodu koji će očitati vrijednosti i pohraniti ih za kasniju upotrebu u izračunu GDD-a.
Zadatak - objavite temperaturu
Programirajte uređaj da objavi podatke o temperaturi.
-
Otvorite projekt aplikacije
temperature-sensor
ako već nije otvoren. -
Ponovite korake koje ste radili u lekciji 4 za povezivanje s MQTT-om i slanje telemetrije. Koristit ćete isti javni Mosquitto broker.
Koraci za to su:
- Dodajte MQTT pip paket
- Dodajte kod za povezivanje s MQTT brokerom
- Dodajte kod za objavljivanje telemetrije
⚠️ Pogledajte upute za povezivanje s MQTT-om i upute za slanje telemetrije iz lekcije 4 ako je potrebno.
-
Provjerite da
client_name
odražava naziv ovog projekta:client_name = id + 'temperature_sensor_client'
-
Za telemetriju, umjesto slanja vrijednosti svjetla, pošaljite vrijednost temperature očitanu s DHT senzora u svojstvu JSON dokumenta nazvanom
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Vrijednost temperature ne treba se očitavati često - neće se puno mijenjati u kratkom vremenskom razdoblju, pa postavite
time.sleep
na 10 minuta:time.sleep(10 * 60);
💁 Funkcija
sleep
uzima vrijeme u sekundama, pa je za lakše čitanje vrijednost proslijeđena kao rezultat izračuna. 60 sekundi u minuti, dakle 10 x (60 sekundi u minuti) daje kašnjenje od 10 minuta. -
Pokrenite kod na isti način kao što ste pokrenuli kod iz prethodnog dijela zadatka. Ako koristite virtualni IoT uređaj, provjerite da je CounterFit aplikacija pokrenuta i da su senzori za vlagu i temperaturu kreirani na ispravnim pinovima.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Ovaj kod možete pronaći u mapi code-publish-temperature/virtual-device ili u mapi code-publish-temperature/pi.
😀 Uspješno ste objavili temperaturu kao telemetriju s vašeg uređaja.
Odricanje od odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako nastojimo osigurati točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati mjerodavnim izvorom. Za ključne informacije preporučuje se profesionalni prijevod od strane stručnjaka. Ne preuzimamo odgovornost za bilo kakve nesporazume ili pogrešne interpretacije proizašle iz korištenja ovog prijevoda.