from machine import Pin, Timer
import network
import ujson
import time
import sys
from umqtt.simple import MQTTClient
from dht import DHT22
mqtt_client_id = "AwonFAA1DQYQGhQCIiERDwk"
mqtt_user = "AwonFAA1DQYQGhQCIiERDwk"
mqtt_password = "AwonFAA1DQYQGhQCIiERDwk"
mqtt_server = "mqtt3.thingspeak.com"
client = MQTTClient(client_id = mqtt_client_id, server = mqtt_server, user = mqtt_user,password = mqtt_password)
dht22 = DHT22(Pin(12))
led = Pin(27,Pin.OUT)
channel_ID = "2450338"
API_Key = "01U4DCTDGG0YURYO"
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASSWORD = ""
def connect_wifi():
wifi = network.WLAN(network.STA_IF)
wifi.active(true)
wifi.disconnect()
wifi.connect(WIFI_SSID,WIFI_PASSWORD)
if not wifi.isConnected():
print("connected to wifi")
timeout=0
while(not wifi.isConnected() and timeout<10):
print(10-timeout)
timeout=timeout-1
time.sleep()
if (wifi.isConnected () ):
print("connected to wifi")
else:
print("not connected")
sys.exit()
print("network config", wifi.config())
#connect_wifi()
client = MQTTClient(client_id = mqtt_client_id,server = mqtt_server, user = mqtt_user,password = mqtt_password)
client.connect()
print("connected to MQTT SERVER")
MQTT_TOPIC = b"channels/2450338/publish"
prev_weather = ""
while True:
time.sleep(5)
print("Measuring weather conditions... ", end="")
dht22.measure()
message = ujson.dumps({
"temp1": dht22.temperature(),
"humidity1": dht22.humidity(),
})
if message != prev_weather:
print("Updated!")
print("Reporting to MQTT topic {}: {}".format(MQTT_TOPIC, message))
# Send the message
client.publish(MQTT_TOPIC, message)
prev_weather = message
else:
print("No change")
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4