import dht
from machine import Pin
from utime import sleep
from umqtt.simple import MQTTClient
import upylib

ssid = "Wokwi-GUEST"
pwd = ""
mqtt_server = "test.mosquitto.org"
mqtt_client_id = "microPythonDevice1"
mqtt_topic = "/ThinkIOT/"
print("test")
# Define le dht22 comme un périphérique d'entrée
d = Pin(3)
sensor = dht.DHT22(d)

# Connect to MQTT brokera
client = MQTTClient(client_id=mqtt_client_id, server=mqtt_server)
try:
    client.connect()
except OSError as e:
    print(f"Error connecting to MQTT broker: {e}")
    sleep(1)

while True:
    sensor.measure()
    # Stocker les valeurs de la température et de l'humidité dans des variables
    tmp = sensor.temperature()
    hum = sensor.humidity()
    # Publish temperature and humidity data to MQTT broker
    try:
        client.publish(mqtt_topic + "temperature", str(tmp))
        client.publish(mqtt_topic + "humidity", str(hum))
        # Afficher les résultats
        print(f"Température: {tmp}°C \nHumidité: {hum}%")
        print("_____\n")
    except OSError as e:
        print(f"Error publishing data to MQTT broker: {e}")