# Example 10: DHT Sensor with Wokwi on NETPIE
import dht
from machine import Pin # Required for dht library
import ujson
import network
from time import sleep_ms
from umqtt.simple import MQTTClient
WiFi_SSID = 'Wokwi-GUEST'
WiFi_PASS = ''
MQTT_BROKER = 'mqtt.netpie.io'
MQTT_CLIENT_ID = '283ffc78-b9c2-4dbc-bcc8-06206ab2c5e6' # Copied from your device
MQTT_TOKEN = '1S7NE1P6qeeuPtPiSNki5nyMNUuHkM8t'
MQTT_SECRET = 'ytS9jdXQJr7hyaVsujVGa64Lx9sHiPXM'
# Connect to WiFi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(WiFi_SSID,WiFi_PASS) # Start Connecting
print('WiFi ', end='')
while not wlan.isconnected():
print('.', end='')
sleep_ms(500)
print(' ', wlan.ifconfig()[0], '[Connected]')
# Connect to MQTT broker
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER,
user=MQTT_TOKEN, password=MQTT_SECRET)
print('MQTT ... ', MQTT_BROKER, end='')
try:
client.connect()
print(' [Connected]')
except:
print(' [Error]')
sensor = dht.DHT22(Pin(15))
while True:
sensor.measure()
sensor_json = ujson.dumps({
'Temp': sensor.temperature(),
'RH': sensor.humidity(),
})
message = ujson.dumps({'data':sensor_json})
print(message)
client.publish('@shadow/data/update', message)
sleep_ms(1000)