From e4d525283ce1572a47b2913b97ff8fb907b28cd5 Mon Sep 17 00:00:00 2001 From: sickprodigy Date: Tue, 4 Nov 2025 19:06:51 -0500 Subject: [PATCH] Refactor main.py: remove connection monitoring callback and streamline monitor setup for WiFi and temperature --- main.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index 40136dd..569dfea 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,8 @@ 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.monitors import TemperatureMonitor, WiFiMonitor, run_monitors # Initialize pins (LED light onboard) led = Pin("LED", Pin.OUT) @@ -13,9 +15,16 @@ wifi = connect_wifi(led) if wifi and wifi.isconnected(): send_discord_message("Pico W online and connected ✅") -# Define reconnect callback -def on_wifi_restored(): - send_discord_message("WiFi connection restored 🔄") +# Set up monitors +monitors = [ + 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) -monitor_connection(wifi, led, on_reconnect=on_wifi_restored) \ No newline at end of file +# Main monitoring loop +while True: + run_monitors(monitors) + time.sleep(0.1) \ No newline at end of file