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>
43 lines
1012 B
Plaintext
43 lines
1012 B
Plaintext
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
|