3.9 KiB
Pubblicare la temperatura - Hardware IoT Virtuale e Raspberry Pi
In questa parte della lezione, pubblicherai i valori di temperatura rilevati dal Raspberry Pi o dal dispositivo IoT virtuale tramite MQTT, in modo che possano essere utilizzati successivamente per calcolare i GDD.
Pubblicare la temperatura
Una volta letta la temperatura, può essere pubblicata tramite MQTT a un codice 'server' che leggerà i valori e li memorizzerà pronti per essere utilizzati nel calcolo dei GDD.
Attività - pubblicare la temperatura
Programma il dispositivo per pubblicare i dati della temperatura.
-
Apri il progetto dell'app
temperature-sensor
se non è già aperto. -
Ripeti i passaggi che hai eseguito nella lezione 4 per connetterti a MQTT e inviare telemetria. Utilizzerai lo stesso broker pubblico Mosquitto.
I passaggi sono:
- Aggiungi il pacchetto pip MQTT
- Aggiungi il codice per connetterti al broker MQTT
- Aggiungi il codice per pubblicare la telemetria
⚠️ Consulta le istruzioni per connettersi a MQTT e le istruzioni per inviare telemetria dalla lezione 4, se necessario.
-
Assicurati che il
client_name
rifletta il nome di questo progetto:client_name = id + 'temperature_sensor_client'
-
Per la telemetria, invece di inviare un valore di luce, invia il valore della temperatura letto dal sensore DHT in una proprietà del documento JSON chiamata
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
Non è necessario leggere il valore della temperatura molto spesso, poiché non cambierà molto in un breve periodo di tempo. Imposta quindi il
time.sleep
a 10 minuti:time.sleep(10 * 60);
💁 La funzione
sleep
prende il tempo in secondi, quindi per renderlo più leggibile il valore viene passato come risultato di un calcolo. 60 secondi in un minuto, quindi 10 x (60 secondi in un minuto) dà un ritardo di 10 minuti. -
Esegui il codice nello stesso modo in cui hai eseguito il codice della parte precedente dell'assegnamento. Se stai utilizzando un dispositivo IoT virtuale, assicurati che l'app CounterFit sia in esecuzione e che i sensori di umidità e temperatura siano stati creati sui pin corretti.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Puoi trovare questo codice nella cartella code-publish-temperature/virtual-device o nella cartella code-publish-temperature/pi.
😀 Hai pubblicato con successo la temperatura come telemetria dal tuo dispositivo.
Disclaimer:
Questo documento è stato tradotto utilizzando il servizio di traduzione AI Co-op Translator. Sebbene ci impegniamo per garantire l'accuratezza, si prega di tenere presente che le traduzioni automatiche possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa dovrebbe essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un esperto umano. Non siamo responsabili per eventuali incomprensioni o interpretazioni errate derivanti dall'uso di questa traduzione.