Hi. I need sanity check. Want to make ARGB for my PC case (fans, maybe few led strip later), but my motherboard have no build-in ARGB controller. So i plan to use WLED on ESP32-C3 super mini board (have several of them). I can’t use WiFi to control WLED because my ESP32-C3 board have poor antenna, PC case have lot of iron, and WiFi signal in my room already weak. And i dislike idea of using WiFi for in-case communication, it’s kind of overkill.
My current plan is to use python script[1] that will serve WLED web static, receive json commands from browser via websocket and send json to WLED over serial port. Prototype work, but maybe i missing much more elegant way to do what i want.
And second question, how can i get thing like /json/palettes by serial console? Now i just hardcoded them to static so it works
[1]
import serial
from sanic import Sanic, Request, Websocket
from sanic.response import text
app = Sanic("MyHelloWorldApp")
@app.websocket("/ws")
async def feed(request: Request, ws: Websocket):
ser = serial.Serial('/dev/ttyACM0', 115200, timeout=1)
ser.write(b'{"v":true}')
await ws.send(ser.readline().decode())
async for msg in ws:
ser.write(msg.encode())
await ws.send(ser.readline().decode())