Added Lab 10

This commit is contained in:
Edward Bigos 2026-04-07 07:14:09 -04:00
commit b0d1253215
18 changed files with 885 additions and 0 deletions

View file

@ -0,0 +1,65 @@
import network
import time
from umqtt.simple import MQTTClient
import secrets
# WiFi setup
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(secrets.WIFI_SSID, secrets.WIFI_PASSWORD)
print("Connecting to WiFi...")
while not wlan.isconnected():
time.sleep(1)
print("Connected:", wlan.ifconfig())
# MQTT callback (runs when new message arrives)
def message_callback_temperaturesetting(topic, msg):
print("Received from feed:", topic)
print("Value:", msg)
# Convert to int if needed (for servo control later)
try:
value = int(msg)
print("Parsed value:", value)
print(type(msg))
except:
print("Non-integer value")
# MQTT setup
def connect_mqtt():
client_id = "picoW-client"
broker = "io.adafruit.com"
port = 1883
username = secrets.AIO_USERNAME
password = secrets.AIO_KEY
client = MQTTClient(client_id, broker, port=port,
user=username, password=password)
client.set_callback(message_callback_temperaturesetting)
client.connect()
# Subscribe to your feed
feed_path = f"{username}/feeds/temperaturesetting"
client.subscribe(feed_path)
print("Subscribed to:", feed_path)
return client
# Main loop
def main():
connect_wifi()
client = connect_mqtt()
print("Waiting for messages...")
while True:
client.check_msg() # Non-blocking
time.sleep(1)
# Run
main()