import machine
import time
import dht
import network
from umqttsimple import MQTTClient
import ubinascii
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASSWORD = ""
MQQT_BROKER = "broker.hivemq.com"
MQQT_TOPIC = b"wokwi/student/weather"
CLIENT_ID = ubinascii.hexlify(machine.unique_id())
sensor = dht.DHT22(machine.Pin(15))
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(WIFI_SSID, WIFI_PASSWORD)
while not sta_if.isconnected():
time.sleep(0.1)
print("Polaczono z Wi-fi!")
client = MQTTClient(CLIENT_ID, MQQT_BROKER)
client.connect()
print("Polaczono z MQTT")
while True:
try:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
message = f'{{"temperature": {temp}, "humidity": {hum}}}'
print(f"Wysylanie: {message}")
client.publish(MQQT_TOPIC, message.encode())
except:
print("Blad odczytu czujnika: ", e)
time.sleep(5)
# led = machine.Pin(2, machine.Pin.OUT)
# while True:
# led.on()
# time.sleep(1)
# led.off()
# time.sleep(1)