Align docs with ESP32-S3 dashboard architecture

This commit is contained in:
2026-06-07 09:48:13 -06:00
parent fdf3d657b6
commit dc8340a1ec
22 changed files with 211 additions and 638 deletions
+29 -12
View File
@@ -20,38 +20,45 @@ Reason:
The ESP32 is installed near the electrical system and should continue operating even if the dashboard is disconnected.
## Decision: Pico Is a Dashboard, Not the Controller
## Decision: Waveshare ESP32-S3 Is the Dashboard Client
The Pico dashboard is responsible for user interaction.
The Waveshare ESP32-S3 touchscreen dashboard is responsible for local user interaction.
It should not own critical control state.
It connects to the Cargo ESP32 access point and consumes the HTTP API. It should not own critical control state.
Reason:
The dashboard may reboot, disconnect, or be removed without disabling the controller.
## Decision: UART Is the Primary Dashboard Link
## Decision: HTTP Is the Primary Dashboard Link
UART is the preferred Pico-to-ESP32 communication path.
HTTP over the Cargo ESP32 local WiFi network is the preferred dashboard-to-controller communication path.
Reason:
- Simple wiring
- Deterministic
- No WiFi dependency
- Works offline
- Easier to debug electrically
- Matches the WebUI and future integration contract
- Avoids a dedicated dashboard data cable
- Supports the Waveshare ESP32-S3 dashboard target
- Keeps the dashboard a simple client
HTTP remains useful for setup, debugging, and future web UI.
The Cargo ESP32 AP remains available for local operation without internet.
## Decision: UART Is Optional Diagnostics
UART JSON may remain useful for service diagnostics, simulator work, or alternate clients.
Reason:
USB serial and UART are useful recovery/debug paths, but the dashboard architecture should not depend on a Pico or UART cable.
## Decision: HTTP and UART Should Share a Data Model
The same status/config model should be used across:
- UART
- HTTP
- Simulator
- Future MQTT/Home Assistant integrations
- Optional UART diagnostics
Reason:
@@ -177,3 +184,13 @@ Cloud dashboards and remote access are not current priorities.
Reason:
The core controller/dashboard system should be reliable locally before remote features are considered.
## Decision: Future Pi Zero Is Optional
A Pi Zero may be added later for long-term logging, charts, dashboards, or local integrations.
It must not own relay control, BMS state, alarm authority, or persistent controller configuration.
Reason:
The Cargo ESP32 must continue operating as the controller and source of truth without any higher-level computer powered on.