Commit Graph

23 Commits

Author SHA1 Message Date
user
31724df63f docs: Add pentest results and update project docs
Executed non-invasive pentest against amber-maple (v1.12-dev):
- Phase 1: mDNS, port scan, binary analysis, eFuse readout
- Phase 2: HMAC timing, command injection (27 tests), replay (6 tests)
- Phase 3: NVS analysis, CVE check (12 CVEs), binary structure
All network-facing tests PASS. Physical security gaps documented.
2026-02-14 21:55:47 +01:00
user
00b3372a6d docs: Update project docs with ALERT command and v1.11 completion 2026-02-14 17:42:02 +01:00
user
468a97713c feat: Add HELP, CONFIG, FACTORY commands; sync project docs
Firmware: HELP lists all 27 commands with syntax, CONFIG dumps
running config as key=value, FACTORY erases NVS and reboots.

Docs: update PROJECT, ROADMAP, TASKS, TODO to reflect v1.10
completion, v1.11 unreleased work, and esp32-web v0.1.5 state.
Remove stale v2.0 Flask phase-by-phase plan (now tracked in
~/git/esp32-web/). Clean deferred items from completed milestones.
2026-02-14 14:26:01 +01:00
user
f87ddec742 docs: Add v2.0 Flask API backend roadmap
Plan for REST API backend (purple team/OPSEC/OSINT):
- Phase 1: Project scaffold, SQLAlchemy models, podman
- Phase 2: UDP collector for sensor data streams
- Phase 3: Core API endpoints (sensors, devices, alerts, probes, events)
- Phase 4: OSINT features (OUI lookup, BLE company ID mapping)
- Phase 5: Fleet management API

Port allocation:
- TCP 5500: HTTP REST API
- UDP 5500: Sensor data collector
- UDP 5501: Sensor commands (outbound)

Also documents completed v1.8 (HTTPS OTA) and v1.9 (multi-channel
scanning, BLE fingerprinting) milestones.
2026-02-05 20:41:24 +01:00
user
528e34cb25 feat: Add baseline calibration & presence detection (v1.7)
CALIBRATE command captures per-subcarrier CSI amplitudes over a timed
window and stores the averaged baseline in NVS. PRESENCE command enables
real-time scoring via normalized Euclidean distance against the baseline,
with rolling window averaging and 10s holdoff on state transitions.

New commands: CALIBRATE [3-60|STATUS|CLEAR], PRESENCE [ON|OFF|THRESHOLD]
New NVS keys: bl_amps (blob), bl_nsub, presence, pr_thresh
New STATUS fields: presence=, pr_score=
New events: calibrate=done, presence=0|1
2026-02-04 23:04:19 +01:00
user
616181e279 docs: Mark v1.6 Power Management done in ROADMAP 2026-02-04 22:36:09 +01:00
user
b8f568890f docs: Mark v1.5 done, bump Power Management to v1.6 2026-02-04 22:07:20 +01:00
user
8c79d20cd8 feat: Add POWERTEST command, update roadmap with v2.0 FTM milestone
Add 7-phase power profiling command (POWERTEST) that cycles through
idle, CSI 10/100 Hz, BLE-only, combined, tx_low/tx_high with EVENT
markers for external power meter correlation. Saves/restores all
settings on completion.

Update roadmap: mark v1.4 done, add v2.0 hardware upgrade milestone
for ESP32-S3/C6 with WiFi FTM / 802.11mc inter-sensor ranging.
2026-02-04 21:47:28 +01:00
user
84f2b33dac 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.
2026-02-04 21:27:43 +01:00
user
59b8001047 docs: Update ROADMAP, TASKS, TODO — mark v1.1 items done
Check off sensor ID, deauth detection, chip temperature, BLE alerting,
dwell time, timestamped logging. Advance TASKS sprint to v1.1. Clean
completed items from TODO.
2026-02-04 18:30:19 +01:00
user
d9530c99dd docs: Reorganize roadmap and TODO for passive sensing & multi-sensor phases
- Mark completed items in TODO
- Add v1.1 Passive Sensing & Multi-Sensor phase (probe capture,
  deauth detection, sensor ID, multi-sensor BLE correlation, alerting)
- Add v1.2 Profiling & Power Management phase
- Move on-device CSI processing to Future (lower priority)
- Add OSINT/purple team ideas (fingerprinting, triangulation, presence logging)
2026-02-04 18:03:31 +01:00
user
3681568238 docs: Update v1.0 roadmap — TARGET done, error handling covered, esp-ctl added 2026-02-04 17:51:29 +01:00
user
92e65d8775 feat: Add TARGET command — runtime UDP destination config
- TARGET <ip> [port] command to change data destination live
- NVS persistence for target_ip and target_port
- Falls back to Kconfig defaults when no NVS config
- target= field added to STATUS reply
- config_save_str helper for NVS string storage
2026-02-04 17:47:50 +01:00
user
8a60547fca docs: Mark v0.5 BLE tracking as done 2026-02-04 17:33:21 +01:00
user
3980b5e130 docs: Mark v0.5 BLE firmware items as done 2026-02-04 17:30:33 +01:00
user
27f05d0d82 docs: Add AP+STA config portal to roadmap 2026-02-04 17:29:57 +01:00
user
8fbc54da0d docs: Add WiFi probe request capture to roadmap and TODO 2026-02-04 17:27:59 +01:00
user
c922e05266 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.
2026-02-04 16:34:19 +01:00
user
2f90a099b7 docs: Finalize v0.3, add OTA section to USAGE.md 2026-02-04 16:26:49 +01:00
user
d65ac208b9 feat: Add v0.3 OTA updates — dual partition, esp-ota tool, rollback
Dual OTA partition table (ota_0/ota_1, 1920 KB each) on 4MB flash.
Firmware gains OTA command, LED_OTA double-blink, version in STATUS,
and automatic rollback validation. Pi-side esp-ota tool serves firmware
via HTTP and orchestrates the update flow. esp-fleet gains ota subcommand.
2026-02-04 16:19:09 +01:00
user
18933ea778 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.
2026-02-04 15:36:14 +01:00
user
2d52ac6026 chore: Downgrade ESP-IDF from v6.1.0 to v5.5.2
Matches the version deployed on ESP32 sensors. Removes v6.1
workaround, updates all docs to reflect v5.5.2, regenerates
sdkconfig for the correct IDF version.
2026-02-04 15:02:54 +01:00
user
76345bc8e7 feat: Add project docs - PROJECT, ROADMAP, TASKS, TODO, .gitignore 2026-02-04 13:00:37 +01:00