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 asyncio
import aioespnow
from settings import Settings from settings import Settings
from web import web
from patterns import Patterns from patterns import Patterns
from web import web
import gc import gc
import utime import utime
import machine import machine
import ntptime import ntptime
import time import time
import wifi import wifi
import json
import network
async def main(): async def main():
settings = Settings() 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"]) e = aioespnow.AIOESPNow() # Returns AIOESPNow enhanced with async support
patterns.set_color1(tuple(int(settings["color1"][i:i+2], 16) for i in (1, 5, 3))) e.active(True)
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"]))
w = web(settings, patterns) w = web(settings, patterns)
print(settings) print(settings)
# start the server in a bacakground task # start the server in a bacakground task
print("Starting") print("Starting")
server = asyncio.create_task(w.start_server(host="0.0.0.0", port=80)) 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 = machine.WDT(timeout=10000)
wdt.feed() wdt.feed()
async def tick():
while True:
patterns.tick()
await asyncio.sleep_ms(1)
asyncio.create_task(tick())
first = True
while True: while True:
#print(time.localtime()) #print(time.localtime())
# gc.collect() # gc.collect()
for i in range(60): for i in range(60):
wdt.feed() wdt.feed()
await asyncio.sleep_ms(500) await asyncio.sleep_ms(500)
# cleanup before ending the application # cleanup before ending the application
await server await server
asyncio.run(main()) asyncio.run(main())