REMOTE CONTROL HUB

Same room + token on every device.

CONTROLLER

CONTROLLED SIDE

DEVICE = phone is the whole controlled unit (camera + control + telemetry + debug). Use when there's no ESP32.
CAMERA = phone is video only + debug mirror; a separate ESP32 is the real controller.

SIMULATOR

A fully simulated vehicle that joins as device and speaks the real protocol — websocket, WebRTC video, telemetry, camera commands. No hardware needed. Use its own room unless nothing else is connected: roles are sets on the hub, so a real device and the sim can both hold device at once and the cockpit would receive interleaved telemetry from both.

ESP32 (role=device)

Point the ESP32 WebSocket client at:
wss://HOST/ws?role=device&room=test&token=changeme
With an ESP32 connected as device, run the phone as CAMERA. The hub fans control out to both, so the phone's debug view mirrors exactly what the ESP32 receives.