Open a sign
With no ?vehicle= both pages run the fully-configured Vilnius (Judu) demo vehicle and tour every case.
Single panel
One physical sign, full-screen and edge to edge β what a real display device shows. Pick the panel with ?sign=.
Whole vehicle board
Every exterior panel on one page β front, side, rear, line block and the colour extra β all driven by one shared journey state.
A vehicle that is running now
The LED half of the onboard player: board a vehicle and watch its real signs, driven by its live journey. It shares the player's vehicle and streams through this server, so the device needs no broker address or login.
LED Player /player/led
Every exterior panel of one live vehicle, with a full-screen link per panel. Pairs with the passenger player, which speaks the same vehicle's announcements.
Passenger player /player
The audio half β stops, arrivals and the announcements themselves, on any device the passenger already carries.
Panels of the demo vehicle
Each opens that panel alone, touring the cases written for it.
Every worked case
Each case pinned on the panel it is written for β the deck requirements, live and rendered.
The same cases on the whole vehicle
One journey state at a time, with every panel reacting together the way a real bus does.
Point it at a real vehicle
Give it a vehicle id and the page follows that vehicle's live journey over the broker.
/sign
URL parameters
| Parameter | Applies to | What it does |
|---|---|---|
vehicle | both | Follow this vehicle live. Omit it for the built-in demo vehicle. |
transport | both | sse (default) streams through this server β no broker address in the browser; mqtt connects straight to the broker. |
tenant | both | Topic prefix when the fleet is multi-tenant (<tenant>/<vehicle>/pis/0/#). |
sign | /sign | Which panel: a sign id, a position, or front Β· side Β· rear Β· left Β· colour. |
case | both (demo) | Pin one worked case instead of touring them all. |
chrome=0 | both | Kiosk mode β no label, no status bar. Just the dots. |
color | both | Lit-dot colour: a preset name or a hex value, to match the physical panel. |
bg | both | Unlit background colour (default black). |
scale | both | Force an integer dot size instead of auto-fitting the viewport. |
stretch=1 | /sign | Fill the whole screen instead of letterboxing to the panel's aspect. |
broker | both | MQTT-over-WebSocket URL for the direct transport β giving it implies transport=mqtt (default ws://<this host>:9001). |