How aliberkarad/rc-remote works
RC Cloud is a browser-operated remote-control car platform. A user signs in, selects an available vehicle and rents driving time; the realtime server authorizes the session and relays driving commands to the Raspberry Pi, which drives motors and reports battery telemetry. Django handles accounts, credits, rentals and vehicle status; Redis carries session and live vehicle state. Go2RTC provides the video path from the car camera to the VPS. The README documents the wider deployment; edges reflect only relationships visible in excerpts or explicitly described there.
Main entry points: server.js Socket.IO server · main.py Vehicle controller · nginx.conf Nginx gateway · views.py Web application
Components 16
Web and accounts
- Web application
backend/core/views.py - HTTP routes
backend/config/urls.py - Web pages
backend/core/templates - Accounts and rentals
backend/core/models.py - Django database
backend/config/settings.py
Realtime control
- Redis state store
- Socket.IO server
realtime/server.js
Vehicle hardware
- Vehicle controller
RPi/main.py - Motor driver
RPi/main.py - Battery telemetry
RPi/main.py
Video streaming
- Camera stream
RPi/go2rtc.yaml - Vehicle Go2RTC
RPi/go2rtc.yaml - VPS Go2RTC
go2rtc_server.yaml - Browser video delivery
go2rtc_server.yaml
Other components
- Remote operator
- Nginx gateway
nginx/nginx.conf
Connections 17
- Remote operator → Nginx gateway: opens platform
README.md - Nginx gateway → Web application: proxies HTTP
README.md - HTTP routes → Web application: dispatches requests
backend/config/urls.py - Web application → Accounts and rentals: reads and updates
backend/core/views.py - Web application → Redis state store: reads and writes state
backend/core/views.py - Socket.IO server → Redis state store: checks sessions; saves stats
realtime/server.js - Vehicle controller → Socket.IO server: registers and sends telemetry
RPi/main.py - Socket.IO server → Vehicle controller: relays control signals
realtime/server.js - Vehicle controller → Motor driver: applies drive commands
RPi/main.py - Vehicle controller → Battery telemetry: samples and estimates
RPi/main.py - Battery telemetry → Socket.IO server: sends telemetry
RPi/main.py - Remote operator → Socket.IO server: drives via realtime
README.md - Camera stream → Vehicle Go2RTC: produces stream
README.md - Vehicle Go2RTC → VPS Go2RTC: publishes RTSP feed
README.md - VPS Go2RTC → Browser video delivery: serves video
README.md - Nginx gateway → Socket.IO server: proxies realtime
README.md - Nginx gateway → VPS Go2RTC: proxies video API
README.md