# saltybot_dashboard — Issue #483 Remote monitoring dashboard for SaltyBot — web UI served on Orin port 8080. ## Features - **Real-time Status**: Battery %, voltage, robot state, motor speeds - **Sensor Health**: Camera, LiDAR, audio, IMU status indicators - **Map View**: Occupancy grid visualization - **Event Log**: Last 20 events from event logger (Issue #473) - **WiFi Signal**: Signal strength monitoring - **WebSocket Updates**: Live push updates to all connected clients - **Mobile-Friendly**: Responsive design works on phones/tablets - **REST API**: `/api/status` endpoint for HTTP polling fallback ## Launch ```bash ros2 launch saltybot_dashboard dashboard.launch.py port:=8080 ``` ## Access Open browser to: `http://:8080` ## ROS2 Topics Monitored - `/saltybot/battery_percent` — Battery percentage - `/saltybot/battery_state` — Battery voltage/current - `/saltybot/telemetry/motor_rpm` — Motor speeds - `/saltybot/state` — Current robot state - `/saltybot/events` — Event stream - `/saltybot/sensor_health` — Sensor status - `/map` — Occupancy grid (OccupancyGrid) ## Architecture - **Backend**: Flask + Flask-SocketIO (Python/ROS2) - **Frontend**: HTML5 + CSS3 + JavaScript - **Protocol**: WebSocket (with HTTP polling fallback) ## Issue #483 Implements remote monitoring dashboard as specified in Issue #483.