import network
import time
import urequests
from machine import Pin, ADC
import dht
# ===== KONFIGURASI =====
SSID = "Wokwi-GUEST"
PASSWORD = ""
URL = "https://script.google.com/macros/s/AKfycbx4AghNqzKIP9rsVgrRWQwrq_6R6hycxo_ZxhDQ_iDc5hSAyuMIfJwatNSUTCOlar8yHg/exec"
DHT_PIN = 4
MQ_PIN = 34
# ===== INIT SENSOR =====
sensor = dht.DHT22(Pin(DHT_PIN))
mq = ADC(Pin(MQ_PIN))
mq.atten(ADC.ATTN_11DB)
# ===== WIFI =====
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print("Connecting WiFi...")
wlan.connect(SSID, PASSWORD)
while not wlan.isconnected():
print(".", end="")
time.sleep(0.5)
print("\nWiFi Connected:", wlan.ifconfig()[0])
# ===== LOOP =====
def loop():
while True:
try:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
gas = mq.read()
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
payload = "temp={}&hum={}&gas={}&device={}".format(
temp, hum, gas, "ESP32-Room-01"
)
print("Sending:", payload)
res = urequests.post(URL, data=payload, headers=headers)
print("Response:", res.text)
res.close()
except Exception as e:
print("ERROR:", e)
time.sleep(15) # minimal delay aman GAS
# ===== MAIN =====
connect_wifi()
loop()