from machine import Pin
from dht import DHT22
from time import sleep_ms, localtime
from json import dumps
from rede import Rede
from umqtt.robust import MQTTClient
from ntptime import settime
def debug(arg):
print (arg)
def fofoqueira(t, p):
print (f"Tópico:{t}")
print (f"Conteúdo:{p}")
topico = b"ifrsrg/auto/projeto/902/telemetria"
t2 = b'ifrsrg/geral/mensagens'
t3 = b'ifrsrg/geral/babados'
sensor = DHT22(Pin(10))
dados = {}
r = Rede('Wokwi-GUEST', '', cb=debug)
if r.conectado:
settime()
cliente = MQTTClient('arnesto1234', 'broker.hivemq.com')
cliente.set_callback(fofoqueira)
cliente.connect()
cliente.subscribe(t2)
cliente.subscribe(t3)
else:
print ("Sem rede. Que ruim")
while True:
cliente.check_msg()
sensor.measure()
t = localtime()
dt = f'{t[0]}-{t[1]}-{t[2]}'
hr = f'{t[3]}:{t[4]}:{t[5]}'
dados['quando'] = f'{dt}T{hr}'
dados['temperatura'] = sensor.temperature()
dados['umidade'] = sensor.humidity()
conteudo = dumps(dados)
payload = conteudo.encode()
if r.conectado:
cliente.publish(topico, payload)
#print(payload)
sleep_ms(2000)