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.
93 lines
2.8 KiB
Markdown
93 lines
2.8 KiB
Markdown
# Cheatsheet
|
|
|
|
## Environment Setup
|
|
|
|
```bash
|
|
source ~/esp/esp-idf/export.sh # Activate ESP-IDF (every shell)
|
|
```
|
|
|
|
## Build & Flash
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
ls /dev/ttyUSB* /dev/ttyACM* # Find connected devices
|
|
dmesg | tail # Check USB detection
|
|
sudo usermod -aG dialout $USER # Fix permissions (re-login)
|
|
```
|