This is a standalone "bring-your-own-server" for TRMNL devices.
It's a standard Phoenix application with support for multiple TRMNL devices. A playlist rotates through multiple screens, regenerating them every 15 minutes.
Whether you have official TRMNL hardware or have built your own, you can always re-flash the firmware and point at your very own self-hosted server. This is a basic implementation of such a server.
Prerequisites:
To start your Phoenix server:
- Run
mix setup
to install and setup dependencies - Start Phoenix endpoint with
mix phx.server
or inside IEx withiex -S mix phx.server
Now you can visit localhost:4000
from your browser.
- Trmnl.Inventory.Device - Ecto schema
- Trmnl.Inventory - device management
- Trmnl.Screen - screen rendering
- Trmnl.ScreenGenerator - GenServer for periodically re-rendering screens
- Trmnl.Screens.HelloWorld - a basic example screen
- TrmnlWeb.APIController - the device endpoint
- usetrmnl/byos_sinatra (Ruby)