docs: Complete v0.1 documentation sprint
- Add build & flash workflow (docs/INSTALL.md) - Add CSI config reference and firmware comparison (docs/USAGE.md) - Add quick reference cheatsheet (docs/CHEATSHEET.md) - Add dependencies.lock to .gitignore (env-specific) - Update TASKS.md with completed items and build notes - Verified firmware builds on ESP-IDF v6.1.0 / aarch64
This commit is contained in:
95
docs/CHEATSHEET.md
Normal file
95
docs/CHEATSHEET.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# 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
|
||||
|
||||
# IDF v6.1 workaround (after clean/reconfigure)
|
||||
ln -s 6.0 managed_components/espressif__esp_csi_gain_ctrl/6.1
|
||||
```
|
||||
|
||||
## 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 v6.1.0 |
|
||||
| `~/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)
|
||||
```
|
||||
Reference in New Issue
Block a user