Added Lab 10
This commit is contained in:
parent
5f40f4c866
commit
b0d1253215
18 changed files with 885 additions and 0 deletions
65
Lab10/MicroPython/Code/ReadFeedSlider.py
Normal file
65
Lab10/MicroPython/Code/ReadFeedSlider.py
Normal 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()
|
||||
Loading…
Add table
Add a link
Reference in a new issue