Update roadmap networking and dashboard architecture
This commit is contained in:
@@ -292,3 +292,107 @@ Target use cases:
|
||||
- RV electrical systems
|
||||
- Mobile command systems
|
||||
- Off-grid battery monitoring
|
||||
|
||||
---
|
||||
|
||||
## Current Direction Update
|
||||
|
||||
The project direction is now:
|
||||
|
||||
ESP32:
|
||||
|
||||
Controller
|
||||
Source of truth
|
||||
BMS telemetry
|
||||
Temperature sensors
|
||||
Relay control
|
||||
Configuration storage
|
||||
HTTP API
|
||||
Lightweight embedded web dashboard
|
||||
WiFi AP recovery network
|
||||
|
||||
Pico 2 W:
|
||||
|
||||
Instant-on physical dashboard
|
||||
UART client
|
||||
Touchscreen UI
|
||||
Local control surface
|
||||
|
||||
Optional future Pi Zero 2 W:
|
||||
|
||||
Advanced web app
|
||||
Historical logging
|
||||
Graphs
|
||||
MQTT/Home Assistant bridge
|
||||
Advanced integrations
|
||||
|
||||
The base system should remain ESP32 + Pico.
|
||||
|
||||
A Pi Zero may be added later as an optional expansion module, not a required component.
|
||||
|
||||
---
|
||||
|
||||
## Networking Direction
|
||||
|
||||
Current:
|
||||
|
||||
ESP32 AP mode
|
||||
http://192.168.4.1
|
||||
|
||||
Planned:
|
||||
|
||||
ESP32 AP + STA mode
|
||||
|
||||
Expected future behavior:
|
||||
|
||||
AP always remains enabled
|
||||
ESP32 attempts to join configured WiFi networks
|
||||
Multiple saved networks are tried in priority order
|
||||
|
||||
Example network priority:
|
||||
|
||||
1. Starlink
|
||||
2. Home WiFi
|
||||
3. Shop WiFi
|
||||
|
||||
This allows:
|
||||
|
||||
- Direct connection when camping without Starlink
|
||||
- Phone access over Starlink at camp
|
||||
- Phone/laptop access over home WiFi in the driveway
|
||||
- Recovery access even when STA setup fails
|
||||
|
||||
---
|
||||
|
||||
## Recent Design Decisions
|
||||
|
||||
The onboard ESP32 relays may be acceptable for low-current loads such as:
|
||||
|
||||
Starlink Mini
|
||||
12V fridge
|
||||
small accessories
|
||||
|
||||
Reason:
|
||||
|
||||
- Starlink Mini current draw is modest
|
||||
- Typical 12V fridge current is modest
|
||||
- Smaller enclosure is a priority
|
||||
|
||||
External automotive relays remain recommended for higher-current loads or future expansion.
|
||||
|
||||
The current enclosure concept includes:
|
||||
|
||||
- ESP32 relay board
|
||||
- Small fuse block
|
||||
- Ground bus
|
||||
- CAT6 keystone
|
||||
- CAT5/CAT6 run to dash
|
||||
- 12V feed to dash
|
||||
- Buck converter in dash enclosure
|
||||
|
||||
The dash power plan is:
|
||||
|
||||
Rear fused 12V
|
||||
-> CAT5/CAT6 blue pair
|
||||
-> dash buck converter
|
||||
-> Pico VSYS
|
||||
|
||||
+153
@@ -251,3 +251,156 @@ Potential future features:
|
||||
- Bluetooth sensor support
|
||||
- Mobile web dashboard
|
||||
- Plugin-style integrations
|
||||
|
||||
---
|
||||
|
||||
## Networking Roadmap
|
||||
|
||||
### Current
|
||||
|
||||
The ESP32 currently operates as a local access point.
|
||||
|
||||
Default local access:
|
||||
|
||||
http://192.168.4.1
|
||||
|
||||
This provides a reliable recovery/setup path even when no other WiFi network is available.
|
||||
|
||||
### Planned: AP + STA Mode
|
||||
|
||||
The ESP32 should support AP and STA mode at the same time.
|
||||
|
||||
Access Point mode:
|
||||
|
||||
Overland-Controller
|
||||
192.168.4.1
|
||||
|
||||
Station mode:
|
||||
|
||||
Connects to a configured WiFi network such as Starlink, home WiFi, or shop WiFi.
|
||||
|
||||
The AP should remain enabled even when STA mode is connected.
|
||||
|
||||
Reason:
|
||||
|
||||
- Always available recovery path
|
||||
- Easier setup
|
||||
- Less risk of locking yourself out
|
||||
- Useful when Starlink/home WiFi is unavailable
|
||||
|
||||
### Planned: Multiple Saved WiFi Networks
|
||||
|
||||
The controller should eventually support multiple saved WiFi profiles.
|
||||
|
||||
Example priority order:
|
||||
|
||||
1. Starlink
|
||||
2. Home WiFi
|
||||
3. Shop WiFi
|
||||
|
||||
Expected boot behavior:
|
||||
|
||||
Start AP
|
||||
Try Starlink
|
||||
If Starlink fails, try Home WiFi
|
||||
If Home WiFi fails, try Shop WiFi
|
||||
If all fail, remain AP-only
|
||||
|
||||
The ESP32 only connects to one STA network at a time, but it can remember and try multiple networks.
|
||||
|
||||
### Planned WiFi Configuration
|
||||
|
||||
Future configuration should include:
|
||||
|
||||
ap_enabled
|
||||
sta_enabled
|
||||
hostname
|
||||
saved networks
|
||||
priority order
|
||||
|
||||
Future setup options:
|
||||
|
||||
- Serial console
|
||||
- HTTP API
|
||||
- Pico dashboard UI
|
||||
- Embedded web dashboard
|
||||
|
||||
### Planned mDNS
|
||||
|
||||
The controller should eventually support mDNS.
|
||||
|
||||
Example:
|
||||
|
||||
http://overland-controller.local
|
||||
|
||||
This would avoid needing to look up the controller IP when connected through Starlink or home WiFi.
|
||||
|
||||
---
|
||||
|
||||
## Embedded Web Dashboard
|
||||
|
||||
### Current Direction
|
||||
|
||||
The ESP32 should serve a lightweight mobile-friendly dashboard.
|
||||
|
||||
Purpose:
|
||||
|
||||
- Check battery status from a phone
|
||||
- Check fridge/temp status from camp
|
||||
- Toggle relays if needed
|
||||
- View alarms
|
||||
- Provide fallback UI without the Pico display
|
||||
|
||||
Design limits:
|
||||
|
||||
- No React
|
||||
- No external libraries
|
||||
- No images
|
||||
- Small inline HTML/CSS/JS
|
||||
- Poll /status every few seconds
|
||||
- Use existing relay endpoints
|
||||
|
||||
This dashboard is not intended to replace the physical Pico dashboard.
|
||||
|
||||
---
|
||||
|
||||
## Optional Future Pi Zero Module
|
||||
|
||||
The base system should not require a Pi Zero.
|
||||
|
||||
Base system:
|
||||
|
||||
ESP32 controller
|
||||
Pico 2 W dashboard
|
||||
|
||||
Optional future advanced module:
|
||||
|
||||
Pi Zero 2 W
|
||||
|
||||
Possible Pi Zero functions:
|
||||
|
||||
- Rich web dashboard
|
||||
- Historical logging
|
||||
- Graphs
|
||||
- SQLite database
|
||||
- MQTT bridge
|
||||
- Home Assistant bridge
|
||||
- Advanced configuration UI
|
||||
|
||||
The core controller should remain functional without the Pi Zero.
|
||||
|
||||
---
|
||||
|
||||
## Configuration Backup and Restore
|
||||
|
||||
Planned future feature.
|
||||
|
||||
Goals:
|
||||
|
||||
- Export configuration JSON
|
||||
- Import configuration JSON
|
||||
- Backup install-specific setup
|
||||
- Restore after factory reset
|
||||
- Make support easier for future users
|
||||
|
||||
This is important if the project becomes shareable or sellable.
|
||||
|
||||
@@ -449,3 +449,101 @@ Current required physical wiring:
|
||||
- Do not connect 12V directly to any ESP32 or Pico GPIO.
|
||||
- Do not power high-current loads directly through the ESP32 relay board.
|
||||
- Test relay behavior with a multimeter before connecting expensive loads.
|
||||
|
||||
---
|
||||
|
||||
## Dash Power Revision
|
||||
|
||||
The current preferred dashboard power plan is to send fused 12V over the CAT5/CAT6 run and regulate it in the dash enclosure.
|
||||
|
||||
Rear compartment:
|
||||
|
||||
House battery +
|
||||
|
|
||||
+-- 1A or 2A fuse
|
||||
|
|
||||
+---> CAT5/CAT6 blue pair
|
||||
|
||||
House battery -
|
||||
|
|
||||
+---> CAT5/CAT6 green pair
|
||||
|
||||
Dash enclosure:
|
||||
|
||||
CAT5/CAT6 blue pair
|
||||
|
|
||||
+---> Buck converter IN+
|
||||
|
||||
CAT5/CAT6 green pair
|
||||
|
|
||||
+---> Buck converter IN-
|
||||
|
||||
Buck converter OUT+ 5V
|
||||
|
|
||||
+---> Pico VSYS
|
||||
|
||||
Buck converter OUT- GND
|
||||
|
|
||||
+---> Pico GND
|
||||
|
||||
Reason:
|
||||
|
||||
- Less voltage drop concern than sending 5V over the full cable run
|
||||
- Clean local 5V regulation at the dashboard
|
||||
- Pico/display power stays independent from the ESP32 board regulator
|
||||
|
||||
Important:
|
||||
|
||||
- Do not connect 12V directly to Pico.
|
||||
- Do not connect 5V to Pico 3V3.
|
||||
- Use Pico VSYS for 5V input.
|
||||
|
||||
---
|
||||
|
||||
## CAT5/CAT6 Updated Plan
|
||||
|
||||
Recommended cable assignment:
|
||||
|
||||
Orange/White ESP32 TX ---> Pico GP1 RX
|
||||
Orange ESP32 RX <--- Pico GP0 TX
|
||||
|
||||
Green/White Ground
|
||||
Green Ground
|
||||
|
||||
Blue/White +12V fused dash feed
|
||||
Blue +12V fused dash feed
|
||||
|
||||
Brown/White Spare
|
||||
Brown Spare
|
||||
|
||||
Notes:
|
||||
|
||||
- Blue pair carries fused 12V to the dash buck converter.
|
||||
- Green pair carries ground.
|
||||
- Orange pair carries UART.
|
||||
- Brown pair remains spare.
|
||||
|
||||
---
|
||||
|
||||
## Compact Enclosure Direction
|
||||
|
||||
Current rear enclosure target:
|
||||
|
||||
ESP32 relay board
|
||||
compact fuse block
|
||||
ground bus
|
||||
CAT6 keystone
|
||||
wiring exits
|
||||
|
||||
Because the Starlink Mini and typical 12V fridge are modest loads, the onboard relays may be acceptable for the initial build if properly fused.
|
||||
|
||||
Suggested fuse allocation:
|
||||
|
||||
ESP32 controller 2A
|
||||
Pico dashboard 1A or 2A
|
||||
Starlink Mini 7.5A
|
||||
Fridge 10A
|
||||
Spare optional
|
||||
Spare optional
|
||||
|
||||
External automotive relays remain a good upgrade path for higher-current loads.
|
||||
|
||||
Reference in New Issue
Block a user