Refactor main.py: remove connection monitoring callback and streamline monitor setup for WiFi and temperature

This commit is contained in:
Aaron 2025-11-04 19:06:51 -05:00
parent eec170056e
commit 0ceeb3ba41

21
main.py
View File

@ -1,6 +1,8 @@
from machine import Pin from machine import Pin
from scripts.networking import connect_wifi, monitor_connection import time
from scripts.networking import connect_wifi
from scripts.discord_webhook import send_discord_message from scripts.discord_webhook import send_discord_message
from scripts.monitors import TemperatureMonitor, WiFiMonitor, run_monitors
# Initialize pins (LED light onboard) # Initialize pins (LED light onboard)
led = Pin("LED", Pin.OUT) led = Pin("LED", Pin.OUT)
@ -13,9 +15,16 @@ wifi = connect_wifi(led)
if wifi and wifi.isconnected(): if wifi and wifi.isconnected():
send_discord_message("Pico W online and connected ✅") send_discord_message("Pico W online and connected ✅")
# Define reconnect callback # Set up monitors
def on_wifi_restored(): monitors = [
send_discord_message("WiFi connection restored 🔄") WiFiMonitor(wifi, led, interval=5, reconnect_cooldown=60),
TemperatureMonitor(pin=10, interval=300, alert_high=85.0, alert_low=32.0),
# Add more monitors here later:
# SoilMoistureMonitor(pin=26, interval=600),
# LightLevelMonitor(pin=27, interval=900),
]
# Start connection monitoring loop (never returns) # Main monitoring loop
monitor_connection(wifi, led, on_reconnect=on_wifi_restored) while True:
run_monitors(monitors)
time.sleep(0.1)