Clean up documentation structure

This commit is contained in:
2026-06-04 04:07:28 -06:00
parent ff39a06ff4
commit 50410b1d0c
15 changed files with 550 additions and 40 deletions
+242 -40
View File
@@ -1,58 +1,260 @@
# Xterra Overland Power & Monitoring Dashboard
Overland Controller
A custom monitoring and control system for a Nissan Xterra using:
A modular ESP32 and Raspberry Pi Pico based monitoring and control system for overland vehicles, campers, trailers, van builds, and mobile power systems.
- Raspberry Pi Pico 2 W dashboard interface
- ESP32 cargo-area controller
- Touchscreen dashboard
- Lithium battery monitoring
- Fridge monitoring
- Relay control
- Future vehicle telemetry integration
The project uses a distributed architecture consisting of:
## Project Phases
* An ESP32 controller mounted near the battery and electrical system
* A Raspberry Pi Pico 2 W dashboard mounted in the vehicle cabin
* Local WiFi communication
* Offline-first operation
* Expandable sensor and relay support
* Open JSON APIs for future integrations
1. Desktop simulator
2. Pico touchscreen UI
3. ESP32 communications
4. Temperature sensors
5. JBD/Xiaoxiang BMS integration
6. Future integrations / optional logging
## Documentation
Project Goals
### Project Status
The goal of Overland Controller is to provide a self-hosted alternative to commercial vehicle monitoring systems.
* `docs/project-state.md`
* `docs/hardware-status.md`
The platform is designed to monitor and control:
### System Design
* House battery systems
* Temperature sensors
* Auxiliary relays
* Vehicle telemetry
* Overland accessories
* Future automation systems
* `docs/architecture.md`
* `docs/protocol.md`
* `docs/pico-architecture.md`
The system should be:
### Hardware
* Local-first
* Cloud independent
* Vehicle independent
* Easy to troubleshoot
* Easy to expand
* `docs/uart.md`
* `docs/wiring.md`
* `hardware/bom.md`
* `hardware/esp32-pinout.md`
### User Interface
Current Architecture
* `docs/ui-wireframes.md`
ESP32 Controller
### Development
The ESP32 acts as the primary control and monitoring node.
These documents should be considered the source of truth for ongoing development.
Current responsibilities:
Priority order:
* JBD/Xiaoxiang BMS monitoring
* DS18B20 temperature monitoring
* Relay control
* Configuration management
* Local web API
* WiFi Access Point
* Dashboard communications
* System status reporting
1. `docs/project-state.md`
2. `docs/hardware-status.md`
3. `docs/protocol.md`
4. `docs/pico-architecture.md`
5. `docs/ui-wireframes.md`
Implementation should follow documented architecture unless explicitly updated in the documentation first.
Raspberry Pi Pico Dashboard
The Pico dashboard acts as the user interface.
Planned responsibilities:
* Touchscreen dashboard
* Relay control
* Battery monitoring display
* Temperature monitoring display
* Vehicle status display
* Configuration interface
* Alarm notifications
Current Features
Battery Monitoring
Supported:
* JBD / Xiaoxiang Bluetooth BMS
Available telemetry:
* State of charge
* Voltage
* Current
* Remaining capacity
* Total capacity
* Runtime estimates
* Temperature
* Cycle count
* Cell voltages
* Cell imbalance
* Cell count
Temperature Monitoring
Supported:
* DS18B20 OneWire temperature sensors
Features:
* Up to 8 sensors
* User-configurable names
* Online/offline detection
* Sensor health reporting
* JSON API reporting
Relay Control
Features:
* Multiple relay outputs
* User-configurable names
* API control
* Serial console control
* Dashboard control (planned)
Recommended usage:
* Fridge power relays
* Starlink power relays
* Lighting relays
* Inverter enable relays
* Accessory relays
The ESP32 relay outputs are intended to drive automotive relays rather than directly power large loads.
Configuration System
Configuration is stored locally and survives reboot.
Configurable items include:
Device
* Device name
Relays
* Relay name
* GPIO assignment
* Enabled state
Temperature Sensors
* Sensor name
* Sensor address
* Enabled state
BMS
* BMS name
* Bluetooth address
* Address type
Communication Interfaces
Serial Console
Used for:
* Initial setup
* Troubleshooting
* Configuration changes
* BLE discovery
* Diagnostic logging
See SERIAL_COMMANDS.md for details.
HTTP API
Provides:
* Status reporting
* Configuration management
* Relay control
* Dashboard integration
See API.md for details.
Current Development Status
Completed
* Configuration storage
* Relay control
* JSON status API
* BLE BMS integration
* BMS setup workflow
* DS18B20 framework
* Access Point mode
* Web server
* Dashboard communications framework
* Generic naming architecture
In Progress
* Dashboard software
* Temperature sensor assignment workflow
* Expanded configuration API
* Documentation cleanup
Planned
* Pico touchscreen dashboard
* OBD-II integration
* GPS integration
* MQTT support
* Home Assistant integration
* Historical data logging
* Graphing
* Alerting system
* OTA updates
* Multi-controller support
Design Philosophy
The project follows several core principles:
1. Local-first operation
2. No cloud dependency
3. Generic hardware naming
4. Open interfaces
5. Modular architecture
6. Expandable hardware support
7. Easy field troubleshooting
8. Vehicle-independent deployment
Documentation
* README.md — Project overview
* API.md — HTTP API documentation
* SERIAL_COMMANDS.md — Serial console commands
* HARDWARE.md — Hardware overview
* ARCHITECTURE.md — System architecture
* CHANGELOG.md — Project history
License
Private project currently under active development.