feat: Add v0.2 remote management — UDP commands, LED, NVS persistence

Firmware (app_main.c):
- UDP command listener on port 5501 (configurable via Kconfig)
- Commands: REBOOT, IDENTIFY, STATUS, RATE, POWER
- LED status indicator on GPIO2 (off/slow/fast blink/solid)
- NVS persistence for send_rate and tx_power settings
- Refactored ping to support stop/restart for dynamic rate changes
- TX power control via esp_wifi_set_max_tx_power()

Pi-side tooling:
- tools/esp-cmd: standalone Python3 UDP client for device management

Tested on amber-maple (ESP32 v3.1) with ESP-IDF v5.5.2.
This commit is contained in:
user
2026-02-04 15:36:14 +01:00
parent 2d52ac6026
commit 18933ea778
5 changed files with 388 additions and 25 deletions

View File

@@ -8,14 +8,18 @@
- [x] List firmware modification ideas with priorities
- [x] Verify build from repo (ESP-IDF v5.5.2, aarch64)
## v0.2 - Remote Management
- [ ] Add UDP command listener on ESP32
- [ ] Implement REBOOT command
- [ ] Implement IDENTIFY command (blink LED)
- [ ] Implement STATUS command (uptime, heap, RSSI, temp)
- [ ] Implement RATE command (change sampling rate)
- [ ] Add LED status indicator (connected/sending/error)
- [ ] Pi-side command sender script
## v0.2 - Remote Management [IN PROGRESS]
- [x] Add UDP command listener on ESP32 (port 5501)
- [x] Implement REBOOT command
- [x] Implement IDENTIFY command (LED solid 5s)
- [x] Implement STATUS command (uptime, heap, RSSI, tx_power, rate)
- [x] Implement RATE command (change ping Hz, NVS persist)
- [x] Implement POWER command (TX power dBm, NVS persist)
- [x] Add LED status indicator (off/slow blink/fast blink/solid)
- [x] NVS persistence for rate and tx_power settings
- [x] Pi-side `esp-cmd` CLI tool
- [ ] Build and flash test on device
- [ ] Update CHEATSHEET.md with new commands
## v0.3 - OTA Updates
- [ ] Modify partition table for dual OTA