import network
import time
from machine import Pin
from umqtt.simple import MQTTClient
# MQTT Settings
MQTT_BROKER = "broker.hivemq.com"
MQTT_PORT = 1883
CLIENT_ID = "wokwi-pico-motion"
TOPIC_PUB = b"workwi/pir"
TOPIC_SUB = b"workwi/led"
pir = Pin(15, Pin.IN) # PIR connected to GP15
led = Pin(14, Pin.OUT) # LED connected to GP14
def sub_cb(topic, msg):
print("Received from MQTT:", msg)
if msg == b"1":
led.on()
else:
led.off()
client = MQTTClient(CLIENT_ID, MQTT_BROKER, port=MQTT_PORT)
client.set_callback(sub_cb)
client.connect()
client.subscribe(TOPIC_SUB)
print("Connected to MQTT broker. Monitoring PIR...")
while True:
motion = pir.value()
client.publish(TOPIC_PUB, str(motion))
client.check_msg()
time.sleep(1)