import machine
import time
import dht
import network
from umqttsimple import MQTTClient
import ubinascii
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASSWORD = ""
MQTT_BROKER = "broker.hivemq.com"
MQTT_TOPIC = b"wokwi/student/weatherMG"
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, MQTT_BROKER)
client.connect()
print("Polaczono z MQTT!")
print(CLIENT_ID)
while True:
try:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
message = f'{{"temperature": {temp}, "humidity": {hum}}}'
print(f"Wysylanie: {message}")
client.publish(MQTT_TOPIC, message.encode())
except OSError as e:
print("Blad odczytu:", e)
time.sleep(5)