feat(adr-018): ESP32-S3 firmware, Rust aggregator, and live CSI pipeline
Complete end-to-end WiFi CSI capture pipeline verified on real hardware: - ESP32-S3 firmware: WiFi STA + promiscuous mode CSI collection, ADR-018 binary serialization, UDP streaming at ~20 Hz - Rust aggregator CLI binary (clap): receives UDP frames, parses with Esp32CsiParser, prints per-frame summary (node, seq, rssi, amp) - UDP aggregator module with per-node sequence tracking and drop detection - CsiFrame bridge to detection pipeline (amplitude/phase/SNR conversion) - Python ESP32 binary parser with UDP reader - Presence detection confirmed: motion score 10/10 from live CSI variance Hardware verified: ESP32-S3-DevKitC-1 (CP2102, MAC 3C:0F:02:EC:C2:28), Docker ESP-IDF v5.2 build, esptool 5.1.0 flash, 20 Rust + 6 Python tests pass. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
42
firmware/esp32-csi-node/main/Kconfig.projbuild
Normal file
42
firmware/esp32-csi-node/main/Kconfig.projbuild
Normal file
@@ -0,0 +1,42 @@
|
||||
menu "CSI Node Configuration"
|
||||
|
||||
config CSI_NODE_ID
|
||||
int "Node ID (0-255)"
|
||||
default 1
|
||||
range 0 255
|
||||
help
|
||||
Unique identifier for this ESP32 CSI node.
|
||||
|
||||
config CSI_TARGET_IP
|
||||
string "Aggregator IP address"
|
||||
default "192.168.1.100"
|
||||
help
|
||||
IP address of the UDP aggregator host.
|
||||
|
||||
config CSI_TARGET_PORT
|
||||
int "Aggregator UDP port"
|
||||
default 5005
|
||||
range 1024 65535
|
||||
help
|
||||
UDP port the aggregator listens on.
|
||||
|
||||
config CSI_WIFI_SSID
|
||||
string "WiFi SSID"
|
||||
default "wifi-densepose"
|
||||
help
|
||||
SSID of the WiFi network to connect to.
|
||||
|
||||
config CSI_WIFI_PASSWORD
|
||||
string "WiFi Password"
|
||||
default ""
|
||||
help
|
||||
Password for the WiFi network. Leave empty for open networks.
|
||||
|
||||
config CSI_WIFI_CHANNEL
|
||||
int "WiFi Channel (1-13)"
|
||||
default 6
|
||||
range 1 13
|
||||
help
|
||||
WiFi channel to listen on for CSI data.
|
||||
|
||||
endmenu
|
||||
Reference in New Issue
Block a user