Update roadmap networking and dashboard architecture
This commit is contained in:
@@ -292,3 +292,107 @@ Target use cases:
|
|||||||
- RV electrical systems
|
- RV electrical systems
|
||||||
- Mobile command systems
|
- Mobile command systems
|
||||||
- Off-grid battery monitoring
|
- 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
|
- Bluetooth sensor support
|
||||||
- Mobile web dashboard
|
- Mobile web dashboard
|
||||||
- Plugin-style integrations
|
- 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 connect 12V directly to any ESP32 or Pico GPIO.
|
||||||
- Do not power high-current loads directly through the ESP32 relay board.
|
- Do not power high-current loads directly through the ESP32 relay board.
|
||||||
- Test relay behavior with a multimeter before connecting expensive loads.
|
- 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