Add trip history and route replay

Co-authored-by: Copilot <[email protected]>
This commit is contained in:
Mathieu Moran
2026-08-09 19:48:06 -04:00
co-authored by Copilot
parent 3a981f5c6d
commit d3bc313e7f
13 changed files with 1158 additions and 25 deletions
+10 -5
View File
@@ -55,7 +55,11 @@ i have a dream
independently while trip logs keep syncing
- 📡 **Optional cellular fallback** through the SIM868 for small trip-log uploads when normal
WiFi/Ethernet is unavailable (dashcam video stays off cellular)
- 🗄️ **Local-first SQLite logging** with retry-safe remote sync and automatic backoff
- 🗄️ **Motion-aware local-first SQLite logging** — five-second motion checks without five-second
parked writes, plus retry-safe remote sync and automatic backoff
- 🛣️ **Trip history and route replay** — detects motion from OBD wheel speed with sustained GPS
displacement as a fallback, summarizes distance and speed in metric/imperial units, and replays
each route as a line on the offline map with a timestamped play/pause timeline and moving marker
- 🖥️ **Offline web UI** built with Flask, Jinja, Bootstrap 5, Socket.IO, Chart.js, and Leaflet,
all served locally with a shared responsive page shell
- 🔌 **Headless Pi deployment** as a self-restarting `systemd` service with a 10-second BCM2835
@@ -92,9 +96,10 @@ For the remote server (receives trip logs + dashcam uploads), see [server/README
## Project status
This project was revived after a couple of years on the shelf. Phases 1-13 and 15-17 are complete:
This project was revived after a couple of years on the shelf. Phases 1-13 and 15-18 are complete:
real GNSS, hardened OBD support, offline maps/UI, automatic WiFi hotspot switching, local logging,
dashcam import, resumable remote upload, deployment, and the shared UI foundation are implemented.
dashcam import, resumable remote upload, trip history/replay, deployment, and the shared UI
foundation are implemented.
The pipeline has been exercised on the real Pi and dashcam, including a complete 28GB import and
remote upload. Actual OBD PID availability still needs the first in-car test.
@@ -104,6 +109,6 @@ partition, and clean shutdown still needs delayed-power or ignition-sense hardwa
The browser-based phone relay was removed after real-world testing confirmed that mobile browsers
cannot reliably use the Pi's WiFi and cellular data simultaneously. A native Android companion is
planned later instead. The next roadmap work is trip history, followed by Pi health, alerts, settings, and a final UI
polish pass. Full phase history, verification notes, and current scope live in
planned later instead. The next roadmap work is Pi health, followed by alerts, settings, and a
final UI polish pass. Full phase history, verification notes, and current scope live in
[PLAN.md](./PLAN.md).