import network
import time
import urequests
import ujson
from machine import Pin, PWM
# WiFi
SSID = "Wokwi-GUEST"
PASSWORD = ""
URL = "https://script.google.com/macros/s/AKfycbwsWIkF4pfF_dUuhAxu4lwr0w-AF-tfV07c62Vq2qGSBD_ffP9NAvRTmclK0DykWwoolA/exec"
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
print("WIFI ON")
wlan.connect(SSID, PASSWORD)
print("Connecting to WiFi")
while not wlan.isconnected():
print("Sedang Menghubungkan...")
time.sleep(1)
print("WiFi connected")
print("IP Address:", wlan.ifconfig()[0])
connect_wifi()
# =====================
# PIN SETUP
# =====================
led = Pin(2, Pin.OUT)
buzzer = PWM(Pin(15),freq = 1000)
pir = Pin(4, Pin.IN)
print("Sistem Siap...")
# =====================
# LOOP
# =====================
while True:
gerakan = pir.value()
if gerakan == 1:
status_pir = "GERAKAN TERDETEKSI"
status_buzzer = "BUZZER BUNYI"
status_led = "LED NYALA"
led.value(1)
buzzer.duty(512)
else:
status_pir = "TIDAK ADA GERAKAN"
status_buzzer = "BUZZER MATI"
status_led = "LED MATI"
led.value(0)
buzzer.duty(0)
print("Gerakan :", status_pir)
print("Status LED :", status_led)
print("Status Buzzer :", status_buzzer)
data = {
"Gerakan": status_pir,
"Led": status_led,
"Buzzer": status_buzzer,
"Device": "ESP32"
}
try:
response = urequests.post(
URL,
data=ujson.dumps(data),
headers={"Content-Type": "application/json"}
)
print("Data terkirim:", response.text)
response.close()
except:
print("GAGAL MENGIRIM DATA")
time.sleep(0.5)