import network
from machine import Pin, ADC
from time import sleep
import BlynkLib
SSID = 'Wokwi-GUEST'
PASSWORD = ''
BLYNK_AUTH = 'YdUCZuumhtQY60grWntlka3y3pqPQwgT'
pir = Pin(27, Pin.IN)
mq2 = ADC(Pin(34))
mq2.atten(ADC.ATTN_11DB)
mq2.width(ADC.WIDTH_10BIT)
door = Pin(12, Pin.OUT)
light = Pin(14, Pin.OUT)
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(SSID, PASSWORD)
while not wlan.isconnected():
print("Connecting to WiFi...")
sleep(1)
print("Connected to WiFi:", wlan.ifconfig())
connect_wifi()
blynk = BlynkLib.Blynk(BLYNK_AUTH)
while True:
blynk.run()
gas_value = mq2.read()
motion = pir.value() == 1
gas_alert = gas_value > 600
blynk.virtual_write(1, gas_value)
if motion and gas_alert:
door.on()
blynk.virtual_write(0, "Door Open - Gas Alert!")
blynk.virtual_write(2, 1)
print("Door Open | Gas:", gas_value)
else:
door.off()
blynk.virtual_write(0, "Door Closed - Safe")
blynk.virtual_write(2, 0)
print("Door Closed | Gas:", gas_value)
sleep(1)