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.
2.8 KiB
2.8 KiB
Cheatsheet
Environment Setup
source ~/esp/esp-idf/export.sh # Activate ESP-IDF (every shell)
Build & Flash
cd ~/git/esp32-hacking/get-started/csi_recv_router
idf.py set-target esp32 # Set chip target
idf.py menuconfig # Configure WiFi/UDP settings
idf.py build # Compile firmware
idf.py -p /dev/ttyUSB0 flash # Flash to device
idf.py -p /dev/ttyUSB0 monitor # Serial monitor (Ctrl+] to exit)
idf.py -p /dev/ttyUSB0 flash monitor # Flash + monitor combined
idf.py fullclean # Clean build directory
idf.py reconfigure # Re-fetch managed components
Deployed Sensors
| Name | IP | Location |
|---|---|---|
| muddy-storm | 192.168.129.29 | Living Room |
| amber-maple | 192.168.129.30 | Office |
| hollow-acorn | 192.168.129.31 | Kitchen |
Target: 192.168.129.11:5500 (Pi)
Test CSI Reception
nc -lu 5500 # Listen for CSI packets
socat UDP-RECV:5500 STDOUT # Alternative listener
nc -lu 5500 | head -1 # See one packet
nc -lu 5500 | wc -l # Count packets/sec (Ctrl+C)
Firmware Variants
| Firmware | Dir | Output | Needs |
|---|---|---|---|
| csi_recv_router | get-started/csi_recv_router/ |
UDP | WiFi router |
| csi_recv | get-started/csi_recv/ |
Serial | csi_send device |
| csi_send | get-started/csi_send/ |
N/A | csi_recv device |
Key Config (menuconfig)
| Path | Setting |
|---|---|
| Example Connection Configuration → SSID | WiFi network name |
| Example Connection Configuration → Password | WiFi password |
| CSI UDP Configuration → IP | 192.168.129.11 |
| CSI UDP Configuration → Port | 5500 |
CSI Data Format
CSI_DATA,seq,mac,rssi,rate,sig_mode,mcs,cwb,smoothing,not_sounding,
aggregation,stbc,fec_coding,sgi,noise_floor,ampdu_cnt,channel,
secondary_channel,timestamp,ant,sig_len,rx_state,len,first_word,"[I,Q,...]"
Source Paths
| File | Purpose |
|---|---|
get-started/csi_recv_router/main/app_main.c |
Main firmware source |
get-started/csi_recv_router/main/Kconfig.projbuild |
UDP target config |
get-started/csi_recv_router/sdkconfig.defaults |
SDK defaults |
get-started/csi_recv_router/main/idf_component.yml |
Dependencies |
get-started/csi_recv_router/CMakeLists.txt |
Build config |
ESP-IDF Paths
| Path | Contents |
|---|---|
~/esp/esp-idf/ |
ESP-IDF v5.5.2 |
~/esp/esp-csi/ |
Original esp-csi examples |
~/.espressif/tools/ |
Xtensa toolchain |
USB Serial
ls /dev/ttyUSB* /dev/ttyACM* # Find connected devices
dmesg | tail # Check USB detection
sudo usermod -aG dialout $USER # Fix permissions (re-login)