From 84f2b33dacca9564d61c2dc205c51384da172a4d Mon Sep 17 00:00:00 2001 From: user Date: Wed, 4 Feb 2026 21:27:43 +0100 Subject: [PATCH] docs: Update ROADMAP to reflect current state through v1.3 Mark v1.0-v1.1 as DONE, add missing v1.1 items (HOSTNAME, mDNS discovery, SCANRATE/PROBERATE, temp, channel/boots/RSSI stats). Rename v1.2 to On-Device CSI Processing, add v1.3 Security & OSINT, plan v1.4 Multi-Sensor & Validation, v1.5 Power Management. Remove stale/duplicate entries from Future. --- ROADMAP.md | 55 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index a138b8d..395b274 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -50,26 +50,57 @@ - [x] Report device MAC, RSSI, name via UDP (`BLE_DATA,,,,`) - [x] Pi-side BLE device tracking (`esp-ctl ble --track`, dedup, summary table) -## v1.0 - Production Firmware -- [x] mDNS auto-discovery (done in v0.2) -- [x] Watchdog + auto-recovery (done in v0.2) -- [ ] On-device CSI processing (send metrics, not raw) +## v1.0 - Production Firmware [DONE] +- [x] mDNS auto-discovery +- [x] Watchdog + auto-recovery - [x] Configuration via UDP (`TARGET [port]`, NVS persisted) - [x] Comprehensive error handling (watchdog, WiFi reconnect via example_connect) - [x] `esp-ctl` unified CLI tool (cmd, status, listen, serial, ble, target, profile) +- [x] PROFILE command (heap, stack watermarks, CPU runtime stats) -## v1.1 - Passive Sensing & Multi-Sensor +## v1.1 - Passive Sensing & Multi-Sensor [DONE] - [x] Sensor ID in data packets (hostname prefix on CSI_DATA, BLE_DATA, EVENT) -- [ ] WiFi probe request capture (`PROBE_DATA,,,,`) +- [x] WiFi probe request capture (`PROBE_DATA,,,,`, 10s dedup) - [x] Deauth/disassoc frame detection (`ALERT_DATA,,,,,`) -- [ ] Multi-sensor BLE correlation in esp-ctl (zone tracking by source sensor) - [x] BLE alerting (`esp-ctl ble --known`, alert on unknown MACs) - [x] BLE dwell time tracking (`esp-ctl ble --track` dwell column) - [x] Timestamped event logging (`esp-ctl listen --timestamp`) - -## v1.2 - Profiling & Power Management -- [x] PROFILE command (heap, stack watermarks, CPU runtime stats) +- [x] Runtime HOSTNAME command (NVS persisted, mDNS updated) +- [x] mDNS service advertisement (`_esp-csi._udp`) + discovery (`esp-ctl discover`) +- [x] SCANRATE / PROBERATE tuning commands (NVS persisted) - [x] Chip temperature reporting in STATUS (`temp=` field) +- [x] Channel, boot count, RSSI min/max, actual CSI rate in STATUS +- [x] FreeRTOS CPU runtime stats in PROFILE + +Note: Promiscuous mode (probe/deauth capture) disabled on original ESP32 — breaks CSI callback. Works on ESP32-C6+. + +## v1.2 - On-Device CSI Processing [DONE] +- [x] On-device feature extraction (amp_rms, amp_std, amp_max, amp_max_idx, energy) +- [x] CSIMODE command: RAW, COMPACT, HYBRID N (NVS persisted) +- [x] Compact payload format (`F:rms,std,max,idx,energy` — ~80% bandwidth reduction) +- [x] Hybrid mode: compact every packet, raw every Nth +- [x] Adaptive sampling reuses extracted energy (no duplicate computation) + +## v1.3 - Security & OSINT [DONE] +- [x] HMAC-SHA256 command authentication (firmware + esp-ctl/esp-cmd/esp-fleet/esp-ota) +- [x] AUTH command (set/query/disable secret, NVS persisted) +- [x] Deauth flood detection (ring buffer, aggregate ALERT_DATA) +- [x] FLOODTHRESH command (count + window, NVS persisted) +- [x] MAC OUI vendor lookup (`esp-ctl oui`, IEEE CSV database) +- [x] OSINT SQLite database (probe_ssids, device_sightings tables) +- [x] Watch daemon (`esp-ctl watch` — listen + enrich + store) +- [x] OSINT query CLI (`esp-ctl osint probes/devices/mac/stats`) +- [x] Home Assistant webhook integration (deauth_flood, unknown_probe, unknown_ble) +- [x] Parallel OTA fleet updates (`esp-fleet ota --parallel`) + +## v1.4 - Multi-Sensor & Validation +- [ ] Multi-sensor BLE correlation in esp-ctl (zone tracking by source sensor) +- [ ] Test OTA rollback (flash bad firmware, verify auto-revert) +- [ ] Create HA webhook automations for deauth_flood / unknown_probe +- [ ] Document esp-crab dual-antenna capabilities +- [ ] Document esp-radar console features + +## v1.5 - Power Management - [ ] Power consumption measurements (per-mode baseline) - [ ] Deep sleep mode with wake-on-CSI-motion - [ ] Battery-optimized duty cycling @@ -82,4 +113,6 @@ - BLE device fingerprinting (identify phone models by advertisement patterns) - Historical presence logging (who was here, when, how long) - External sensor support (PIR, temp/humidity via GPIO) -- On-device CSI processing (send metrics, not raw) +- Pin mapping for ESP32-DevKitC V1 +- Compare CSI quality: passive (router) vs active (ESP-NOW) +- Multi-sensor deployment guide (placement, zones, triangulation)