IoT
SmartXCar
Realtime web control for a physically built Raspberry Pi vehicle.


Why this needed to exist.
The project required a browser-based control layer that could safely communicate with a physical vehicle, display live sensor information and prevent invalid or stale movement commands from being forwarded to the hardware client.
- Context
- School Project
- Platform
- Web · Raspberry Pi Vehicle Client
Complexity, given a direction.
- 1Authenticated Dashboard
- 2Flask-SocketIO Server
- 3Command Whitelist
- 4Authenticated Vehicle Client
- 5Physical Vehicle
- 6Telemetry Feedback
The work behind the interface.
Role-based socket authentication
Dashboard connections are validated through the admin session while the vehicle connects with a dedicated device token and car identifier.
Safe stop behaviour
Stop and accessory-reset commands are sent when the dashboard disconnects, logs out or when a new vehicle connection replaces the previous client.
Single-worker production model
Active socket and vehicle state is stored in process memory, so Gunicorn runs with one worker rather than creating inconsistent state across processes.
Evidence, not theatre.
Completed and tested as a working physical vehicle prototype, including deployment to a remote server, realtime browser control and live telemetry.
Physically built and operational vehicle
Remote server deployment
Realtime bidirectional Socket.IO control
Live distance and rain telemetry