from machine import Pin, ADC
from time import sleep_ms, localtime
from network import WLAN, STA_IF
from ntptime import settime
from umqtt.robust import MQTTClient
from json import loads, dumps
import dht





sensor = dht.DHT22(Pin(2))
ListSensor = 10
temperaturas = [0] * ListSensor
umidades = [0] * ListSensor


while True:
    dicDados = {}
    t = localtime()
    dicDados['timestamp'] = f'{t[0]}-{t[1]}-{t[2]}T{t[3]}:{t[4]}:{t[5]}'
    
    sensor.measure()
    temperatura = sensor.temperature()
    umidade = sensor.humidity()
    temperaturas.append(temperatura)
    temperaturas.pop(0)
    umidades.append(umidade)
    umidades.pop(0)

    # Calcula as médias móveis
    media_T = sum(temperaturas) / len(temperaturas)
    media_U = sum(umidades) / len(umidades)

    dicDados = {'timestamp': '2000-1-1T0:0:0', 
            'temperatura': temperatura,
            'umidade': umidade ,
            'media_temp': media_T,
            'media_umi': media_U
    }
    print(dicDados)
    sleep_ms(15000)