import machine
import dht
import time
import urequests
import network
import wifi
import ifttt
DHT_PIN = machine.Pin(15, machine.Pin.IN)
BUZZER_PIN = machine.Pin(18, machine.Pin.OUT)
dht22 = dht.DHT22(DHT_PIN)
api_key = "2Z0VD6Q0QSZTV3V8"
def connect_internet():
print("Đang kết nối WiFi", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(wifi.ssid, wifi.password)
while not sta_if.isconnected():
print(".", end="")
time.sleep(0.1)
print(" Đã kết nối!")
def upload_to_thingspeak(api_key, field1, field2):
url = "https://api.thingspeak.com/update?api_key={}&field1={}&field2={}".format(api_key, field1, field2)
response = urequests.get(url)
print("Trạng thái tải lên:", response.status_code)
response.close()
def read_dht22():
dht22.measure()
temperature = dht22.temperature()
humidity = dht22.humidity()
return temperature, humidity
def activate_buzzer():
BUZZER_PIN.on()
time.sleep(1)
BUZZER_PIN.off()
def loop():
while True:
try:
temperature, humidity = read_dht22()
if temperature > 30:
ifttt.alert_motion(temperature)
activate_buzzer()
if humidity > 60:
ifttt.alert_motion(humidity)
activate_buzzer()
upload_to_thingspeak(api_key, temperature, humidity)
except OSError as e:
print("Error reading DHT22 sensor:", e)
if __name__ == '__main__':
connect_internet()
loop()