feat: Add v0.4 adaptive sampling — wander detection, auto rate control
On-device CSI wander calculation (coefficient of variation over 50-packet window). Rate drops to 10 Hz when idle, jumps to 100 Hz on motion with 3s holdoff. EVENT notifications sent to Pi on rate changes. New commands: ADAPTIVE ON/OFF, THRESHOLD. RATE command disables adaptive mode. All settings NVS-persisted.
This commit is contained in:
@@ -34,10 +34,13 @@ idf.py reconfigure # Re-fetch managed components
|
||||
## Remote Management (esp-cmd)
|
||||
|
||||
```bash
|
||||
esp-cmd <host> STATUS # Uptime, heap, RSSI, tx_power, rate, version
|
||||
esp-cmd <host> STATUS # Uptime, heap, RSSI, rate, version, adaptive, motion
|
||||
esp-cmd <host> IDENTIFY # LED solid 5s (find the device)
|
||||
esp-cmd <host> RATE 50 # Set ping rate to 50 Hz (NVS saved)
|
||||
esp-cmd <host> RATE 50 # Set ping rate to 50 Hz (disables adaptive)
|
||||
esp-cmd <host> POWER 15 # Set TX power to 15 dBm (NVS saved)
|
||||
esp-cmd <host> ADAPTIVE ON # Enable adaptive sampling (NVS saved)
|
||||
esp-cmd <host> ADAPTIVE OFF # Disable adaptive sampling
|
||||
esp-cmd <host> THRESHOLD 0.005 # Set motion sensitivity (NVS saved)
|
||||
esp-cmd <host> OTA http://pi:8070/fw # Trigger OTA update (use esp-ota instead)
|
||||
esp-cmd <host> REBOOT # Restart device
|
||||
```
|
||||
@@ -84,6 +87,21 @@ After that, all updates are OTA.
|
||||
If new firmware crashes or hangs, the 30s watchdog reboots and bootloader
|
||||
automatically rolls back to the previous firmware.
|
||||
|
||||
## Adaptive Sampling
|
||||
|
||||
When enabled, the device automatically adjusts ping rate based on CSI wander:
|
||||
|
||||
- **Motion detected** (wander > threshold): 100 pkt/s
|
||||
- **Idle** (wander < threshold for 3s): 10 pkt/s
|
||||
- Rate changes send `EVENT motion=<0|1> rate=<hz> wander=<value>` via UDP
|
||||
|
||||
```bash
|
||||
esp-cmd amber-maple.local ADAPTIVE ON # Enable
|
||||
esp-cmd amber-maple.local THRESHOLD 0.005 # Tune sensitivity
|
||||
# Lower threshold = more sensitive, higher = less sensitive
|
||||
# Good starting range: 0.001 - 0.01
|
||||
```
|
||||
|
||||
### LED States
|
||||
|
||||
| LED | Meaning |
|
||||
|
||||
Reference in New Issue
Block a user