Add system architecture document
This commit is contained in:
@@ -0,0 +1,235 @@
|
|||||||
|
# Xterra Overland Power & Monitoring Dashboard Architecture
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The Xterra Overland Power & Monitoring Dashboard is a distributed monitoring and control system consisting of:
|
||||||
|
|
||||||
|
* Raspberry Pi Pico 2 W dashboard module
|
||||||
|
* ESP32 cargo-area controller
|
||||||
|
* RS-485 wired communications
|
||||||
|
* WiFi backup communications
|
||||||
|
* Touchscreen dashboard interface
|
||||||
|
|
||||||
|
The system is designed to operate completely offline and continue functioning even when WiFi is disabled.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## System Goals
|
||||||
|
|
||||||
|
* Monitor house battery status
|
||||||
|
* Monitor fridge temperatures
|
||||||
|
* Monitor rear seat temperature
|
||||||
|
* Monitor outside ambient temperature
|
||||||
|
* Control Starlink power
|
||||||
|
* Control fridge power
|
||||||
|
* Provide a dashboard display while driving
|
||||||
|
* Expand later to vehicle telemetry and trip logging
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Dashboard Module
|
||||||
|
|
||||||
|
### Hardware
|
||||||
|
|
||||||
|
* Raspberry Pi Pico 2 W
|
||||||
|
* 3.5" touchscreen
|
||||||
|
* Powered by 5V from cargo-area buck converter
|
||||||
|
|
||||||
|
### Responsibilities
|
||||||
|
|
||||||
|
* Display information
|
||||||
|
* Accept touch input
|
||||||
|
* Send commands to controller
|
||||||
|
* Display alarms and warnings
|
||||||
|
* Provide user configuration interface
|
||||||
|
|
||||||
|
### Communications
|
||||||
|
|
||||||
|
Primary:
|
||||||
|
|
||||||
|
* RS-485 over CAT5
|
||||||
|
|
||||||
|
Secondary:
|
||||||
|
|
||||||
|
* WiFi HTTP API
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Controller Module
|
||||||
|
|
||||||
|
### Hardware
|
||||||
|
|
||||||
|
* ESP32 relay board
|
||||||
|
* House battery connection
|
||||||
|
* Bosch-style automotive relays
|
||||||
|
|
||||||
|
### Responsibilities
|
||||||
|
|
||||||
|
* Read sensors
|
||||||
|
* Interface with BMS
|
||||||
|
* Control relays
|
||||||
|
* Serve API data
|
||||||
|
* Handle logging
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Temperature Sensors
|
||||||
|
|
||||||
|
### Planned Sensors
|
||||||
|
|
||||||
|
1. Fridge Zone 1
|
||||||
|
2. Fridge Zone 2
|
||||||
|
3. Rear Seat Temperature
|
||||||
|
4. Outside Ambient Temperature
|
||||||
|
5. Battery Compartment Temperature (future)
|
||||||
|
|
||||||
|
### Interface
|
||||||
|
|
||||||
|
* DS18B20
|
||||||
|
* Shared 1-Wire bus
|
||||||
|
* Connected to ESP32
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Battery Monitoring
|
||||||
|
|
||||||
|
### Planned BMS
|
||||||
|
|
||||||
|
* Xiaoxiang / JBD Bluetooth BMS
|
||||||
|
|
||||||
|
### Data Collected
|
||||||
|
|
||||||
|
* State of Charge
|
||||||
|
* Voltage
|
||||||
|
* Current
|
||||||
|
* Remaining Capacity
|
||||||
|
* Runtime Estimate
|
||||||
|
* Battery Temperature
|
||||||
|
* Cell Voltages
|
||||||
|
* Cell Imbalance
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Relay Control
|
||||||
|
|
||||||
|
### Current Loads
|
||||||
|
|
||||||
|
* Starlink
|
||||||
|
* Fridge
|
||||||
|
|
||||||
|
### Future Loads
|
||||||
|
|
||||||
|
* Inverter
|
||||||
|
* Camp Lights
|
||||||
|
|
||||||
|
### Design
|
||||||
|
|
||||||
|
ESP32 relay outputs SHALL NOT carry load current.
|
||||||
|
|
||||||
|
ESP32 relays will only energize Bosch-style 30A/40A automotive relays.
|
||||||
|
|
||||||
|
All loads must be fused appropriately.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Communications
|
||||||
|
|
||||||
|
### Primary
|
||||||
|
|
||||||
|
RS-485 over CAT5
|
||||||
|
|
||||||
|
Advantages:
|
||||||
|
|
||||||
|
* Reliable
|
||||||
|
* Noise resistant
|
||||||
|
* Independent of WiFi
|
||||||
|
* Works while driving
|
||||||
|
|
||||||
|
### Backup
|
||||||
|
|
||||||
|
WiFi HTTP API
|
||||||
|
|
||||||
|
Used for:
|
||||||
|
|
||||||
|
* Phone access
|
||||||
|
* Web dashboard
|
||||||
|
* Configuration
|
||||||
|
* Future Home Assistant integration
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## WiFi Rules
|
||||||
|
|
||||||
|
### Starlink OFF
|
||||||
|
|
||||||
|
* Dashboard operational
|
||||||
|
* Sensors operational
|
||||||
|
* Relay control operational
|
||||||
|
* WiFi disabled
|
||||||
|
* Web dashboard disabled
|
||||||
|
|
||||||
|
### Starlink ON
|
||||||
|
|
||||||
|
* WiFi enabled
|
||||||
|
* Web dashboard enabled
|
||||||
|
* Remote access enabled
|
||||||
|
|
||||||
|
### Override
|
||||||
|
|
||||||
|
User may temporarily enable WiFi for troubleshooting.
|
||||||
|
|
||||||
|
Default timeout:
|
||||||
|
10 minutes.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Dashboard Behavior
|
||||||
|
|
||||||
|
### Ignition ON
|
||||||
|
|
||||||
|
* Screen active
|
||||||
|
* Full brightness
|
||||||
|
|
||||||
|
### Ignition OFF
|
||||||
|
|
||||||
|
* Screen black
|
||||||
|
* Pico remains powered
|
||||||
|
* Touch input remains active
|
||||||
|
|
||||||
|
Touching screen:
|
||||||
|
|
||||||
|
* Wake display
|
||||||
|
* Display dashboard
|
||||||
|
* Auto-sleep after timeout
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Future Expansion
|
||||||
|
|
||||||
|
### Vehicle Data
|
||||||
|
|
||||||
|
* OBD-II
|
||||||
|
* CAN bus
|
||||||
|
* Fuel level
|
||||||
|
* RPM
|
||||||
|
* Coolant temperature
|
||||||
|
* Vehicle speed
|
||||||
|
|
||||||
|
### Navigation
|
||||||
|
|
||||||
|
* GPS
|
||||||
|
* Trip logging
|
||||||
|
|
||||||
|
### Connectivity
|
||||||
|
|
||||||
|
* MQTT
|
||||||
|
* Home Assistant
|
||||||
|
* InfluxDB
|
||||||
|
* Grafana
|
||||||
|
|
||||||
|
### Additional Sensors
|
||||||
|
|
||||||
|
* Additional DS18B20 sensors
|
||||||
|
* Voltage sensors
|
||||||
|
* Current sensors
|
||||||
|
* Environmental monitoring
|
||||||
|
|||||||
Reference in New Issue
Block a user