Remove web server, espnow only

This commit is contained in:
2025-08-30 18:29:30 +12:00
parent fc080f7796
commit d3f04dcc6d
2 changed files with 38 additions and 37 deletions

View File

@@ -6,4 +6,4 @@ s = Settings()
name = s.get('name', 'led')
password = s.get("ap_password", "")
wifi.ap(name, password)
# wifi.ap(name, password)

View File

@@ -10,45 +10,46 @@ import time
import wifi
import json
from p2p import p2p
import espnow
import network
async def main():
settings = Settings()
settings = Settings()
patterns = Patterns(settings["led_pin"], settings["num_leds"], selected=settings["pattern"])
if settings["color_order"] == "rbg": color_order = (1, 5, 3)
else: color_order = (1, 3, 5)
patterns.set_color1(tuple(int(settings["color1"][i:i+2], 16) for i in color_order))
patterns.set_color2(tuple(int(settings["color2"][i:i+2], 16) for i in color_order))
patterns.set_brightness(int(settings["brightness"]))
patterns.set_delay(int(settings["delay"]))
patterns = Patterns(settings["led_pin"], settings["num_leds"], selected=settings["pattern"])
if settings["color_order"] == "rbg": color_order = (1, 5, 3)
else: color_order = (1, 3, 5)
patterns.set_color1(tuple(int(settings["color1"][i:i+2], 16) for i in color_order))
patterns.set_color2(tuple(int(settings["color2"][i:i+2], 16) for i in color_order))
patterns.set_brightness(int(settings["brightness"]))
patterns.set_delay(int(settings["delay"]))
async def tick():
while True:
patterns.tick()
await asyncio.sleep_ms(0)
sta = network.WLAN(network.STA_IF)
sta.active(True)
sta.disconnect() # Because ESP8266 auto-connects to last Access Point
async def system():
while True:
gc.collect()
for i in range(60):
wdt.feed()
await asyncio.sleep(1)
e = espnow.ESPNow()
e.active(True)
print(settings)
# start the server in a bacakground task
print("Starting")
wdt = machine.WDT(timeout=10000)
while True:
w = web(settings, patterns)
print(settings)
# start the server in a bacakground task
print("Starting")
server = asyncio.create_task(w.start_server(host="0.0.0.0", port=80))
wdt = machine.WDT(timeout=10000)
wdt.feed()
asyncio.create_task(tick())
asyncio.create_task(p2p(settings, patterns))
asyncio.create_task(system())
# cleanup before ending the application
await server
asyncio.run(main())
patterns.tick()
host, msg = e.recv(0)
if msg:
try:
data = json.loads(msg)
except:
print(f"Failed to load espnow data {msg}")
continue
print(data)
if "names" not in data or settings.get("name") in data.get("names", []):
if "step" in settings and isinstance(settings["step"], int):
patterns.set_pattern_step(settings["step"])
else:
settings.set_settings(data.get("settings", {}), patterns, data.get("save", False))