A web interface to control effects on leds strips. It sends commands to an ESP32 board that controls the leds. The corresponding firmware for the ESP32 can be found here.
This app leverages phoenix channels to sync the state between all connected browsers, so everybody sees the same state. The dynamic forms are all rendered in the backend and pushed via a live_html channel to the clients. It is an attempt to create a dynamic web app with almost no javascript.
The main dependency is elixir. There are many ways to install it. See the elixir install instructions.
You also need a version of npm installed to get the frontend assets.
There is Makefile with the most common commands.
make init
Will install all required dependencies.
The file tr33_control/config/config.exs contains some configuration you might want to change.
- The
targetscontain all supported led_structures. Thehostof a target reprepsents one ESP32 that is reachable via network. It can be a domain or IP Address. - The
active_targetsis a white list of targets that should be active in this installation. - If not using/not having joysticks comment out the joystick lines in lib/tr33_control/application.ex or else the application will crash when running 'make console':
#Tr33Control.Joystick, #Tr33Control.Joystick.Poller
make console
Should start the web interface on localhost:4000 and sync the commands to all ESP32s.