Update main.py

This commit is contained in:
jimmy 2025-05-18 21:30:37 +12:00
parent 14a70cb024
commit 825ae1f637
1 changed files with 30 additions and 22 deletions

View File

@ -1,55 +1,63 @@
import asyncio
import aioespnow
from settings import Settings
from web import web
from patterns import Patterns
from web import web
import gc
import utime
import machine
import ntptime
import time
import wifi
import json
import network
async def main():
settings = Settings()
patterns = Patterns(10, settings["num_leds"], selected=settings["pattern"])
network.WLAN(network.WLAN.IF_STA).active(True)
patterns = Patterns(4, settings["num_leds"], selected=settings["selected_pattern"])
patterns.set_color1(tuple(int(settings["color1"][i:i+2], 16) for i in (1, 5, 3)))
patterns.set_color2(tuple(int(settings["color2"][i:i+2], 16) for i in (1, 5, 3)))
patterns.set_brightness(int(settings["brightness"]))
patterns.set_delay(int(settings["delay"]))
e = aioespnow.AIOESPNow() # Returns AIOESPNow enhanced with async support
e.active(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))
async def send():
peer = bytes.fromhex("e4b323c5411d")
perr = b'\xbb\xbb\xbb\xbb\xbb\xbb'
e.add_peer(peer)
print(peer)
msg = {"delay": 1000}
while True:
if not await e.asend(peer, json.dumps(msg).encode()):
print("Heartbeat: peer not responding:", peer)
else:
print("Heartbeat: ping", peer)
await asyncio.sleep(1)
#asyncio.create_task(send())
wdt = machine.WDT(timeout=10000)
wdt.feed()
async def tick():
while True:
patterns.tick()
await asyncio.sleep_ms(1)
asyncio.create_task(tick())
first = True
while True:
#print(time.localtime())
# gc.collect()
for i in range(60):
wdt.feed()
wdt.feed()
await asyncio.sleep_ms(500)
# cleanup before ending the application
await server
asyncio.run(main())