Add project documentation
This commit is contained in:
+49
-208
@@ -1,235 +1,76 @@
|
||||
# Xterra Overland Power & Monitoring Dashboard Architecture
|
||||
# Xterra Overland Power & Monitoring Dashboard
|
||||
|
||||
## Overview
|
||||
## Purpose
|
||||
|
||||
The Xterra Overland Power & Monitoring Dashboard is a distributed monitoring and control system consisting of:
|
||||
A custom monitoring and control system for a Nissan Xterra using a Raspberry Pi Pico 2 W dashboard interface and an ESP32 cargo-area controller.
|
||||
|
||||
* Raspberry Pi Pico 2 W dashboard module
|
||||
* ESP32 cargo-area controller
|
||||
* RS-485 wired communications
|
||||
* WiFi backup communications
|
||||
* Touchscreen dashboard interface
|
||||
The system provides:
|
||||
|
||||
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
|
||||
|
||||
---
|
||||
- House battery monitoring
|
||||
- Fridge monitoring
|
||||
- Temperature monitoring
|
||||
- Power control
|
||||
- Alarm management
|
||||
- Future vehicle telemetry
|
||||
|
||||
## Dashboard Module
|
||||
|
||||
### Hardware
|
||||
|
||||
* Raspberry Pi Pico 2 W
|
||||
* 3.5" touchscreen
|
||||
* Powered by 5V from cargo-area buck converter
|
||||
- Raspberry Pi Pico 2 W
|
||||
- 3.5" SPI Capacitive Touchscreen
|
||||
- RS-485 communications
|
||||
- WiFi backup communications
|
||||
|
||||
### Responsibilities
|
||||
|
||||
* Display information
|
||||
* Accept touch input
|
||||
* Send commands to controller
|
||||
* Display alarms and warnings
|
||||
* Provide user configuration interface
|
||||
- Touchscreen user interface
|
||||
- Local web dashboard
|
||||
- Alarm display
|
||||
- Configuration management
|
||||
- Relay control interface
|
||||
- Data visualization
|
||||
|
||||
### Communications
|
||||
|
||||
Primary:
|
||||
|
||||
* RS-485 over CAT5
|
||||
|
||||
Secondary:
|
||||
|
||||
* WiFi HTTP API
|
||||
|
||||
---
|
||||
|
||||
## Controller Module
|
||||
## Cargo Module
|
||||
|
||||
### Hardware
|
||||
|
||||
* ESP32 relay board
|
||||
* House battery connection
|
||||
* Bosch-style automotive relays
|
||||
- ESP32 Relay Controller
|
||||
- RS-485 Interface
|
||||
- House Battery Interface
|
||||
- DS18B20 Temperature Sensor Bus
|
||||
- Bosch Relay Drivers
|
||||
|
||||
### 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.
|
||||
|
||||
---
|
||||
- Sensor collection
|
||||
- Relay control
|
||||
- Alarm processing
|
||||
- Communications server
|
||||
- Configuration storage
|
||||
|
||||
## Communications
|
||||
|
||||
### Primary
|
||||
Primary:
|
||||
- RS-485
|
||||
|
||||
RS-485 over CAT5
|
||||
Backup:
|
||||
- WiFi HTTP API
|
||||
|
||||
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:
|
||||
- MQTT
|
||||
- Home Assistant
|
||||
- Grafana
|
||||
- InfluxDB
|
||||
|
||||
## 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
|
||||
- JBD/Xiaoxiang BLE Battery Monitoring
|
||||
- OBD-II
|
||||
- CAN Bus
|
||||
- GPS
|
||||
- Trip Logging
|
||||
- Fuel Level
|
||||
- Coolant Temperature
|
||||
- RPM
|
||||
- Starlink Diagnostics
|
||||
|
||||
Reference in New Issue
Block a user