3.8 KiB
Publicar temperatura - Hardware IoT Virtual e Raspberry Pi
Nesta parte da lição, você irá publicar os valores de temperatura detectados pelo Raspberry Pi ou Dispositivo IoT Virtual via MQTT, para que possam ser usados posteriormente no cálculo de GDD.
Publicar a temperatura
Depois que a temperatura for lida, ela pode ser publicada via MQTT para algum código 'servidor' que irá ler os valores e armazená-los, prontos para serem usados no cálculo de GDD.
Tarefa - publicar a temperatura
Programe o dispositivo para publicar os dados de temperatura.
-
Abra o projeto do aplicativo
temperature-sensor
se ele ainda não estiver aberto. -
Repita os passos que você realizou na lição 4 para se conectar ao MQTT e enviar telemetria. Você usará o mesmo broker público do Mosquitto.
Os passos para isso são:
- Adicionar o pacote pip do MQTT
- Adicionar o código para se conectar ao broker MQTT
- Adicionar o código para publicar telemetria
⚠️ Consulte as instruções para se conectar ao MQTT e as instruções para enviar telemetria da lição 4, se necessário.
-
Certifique-se de que o
client_name
reflete o nome deste projeto:client_name = id + 'temperature_sensor_client'
-
Para a telemetria, em vez de enviar um valor de luz, envie o valor de temperatura lido do sensor DHT em uma propriedade no documento JSON chamada
temperature
:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
O valor da temperatura não precisa ser lido com muita frequência - ele não mudará muito em um curto período de tempo, então configure o
time.sleep
para 10 minutos:time.sleep(10 * 60);
💁 A função
sleep
recebe o tempo em segundos, então, para facilitar a leitura, o valor é passado como o resultado de um cálculo. São 60s em um minuto, então 10 x (60s em um minuto) resulta em um atraso de 10 minutos. -
Execute o código da mesma forma que você executou o código da parte anterior da tarefa. Se você estiver usando um dispositivo IoT virtual, certifique-se de que o aplicativo CounterFit esteja em execução e que os sensores de umidade e temperatura tenham sido criados nos pinos corretos.
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 Você pode encontrar este código na pasta code-publish-temperature/virtual-device ou na pasta code-publish-temperature/pi.
😀 Você publicou com sucesso a temperatura como telemetria do seu dispositivo.
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, esteja ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte autoritativa. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.