Menelusuri config asli
Buka config Node Kehadiran WiFi CSI dari katalog dan ikuti — setiap pilihan desain di sana punya alasan.
Kuncinya
esp32:
framework:
type: esp-idf
sdkconfig_options:
CONFIG_ESP_WIFI_CSI_ENABLED: "y"
Tangkapan CSI mati bawaan di ESP-IDF; baris ini mengompilasinya masuk. Dan di blok wifi, power_save_mode: none — dengan hemat daya menyala, radio tertidur di antara beacon dan aliran CSI-mu kelaparan.
Siapa mengukur siapa
Satu node sendirian mengukur CSI dari lalu lintas access point-nya. Tapi config kami juga menjalankan mesh ESP-NOW: setiap node menyiarkan beacon mungil pada 50 Hz, dan setiap node lain mengukur CSI dari beacon itu. Enam node = tiga puluh jalur pengukuran bersilangan di ruang. Orang tak bisa bergerak ke mana pun tanpa membelokkan setidaknya satu jalur.
Mengeluarkan data
uart:
baud_rate: 921600
50 Hz × ~200 byte JSON ≈ 10 KB/dtk — nyaman di dalam 921600 baud. Logger dibisukan di UART0 (baud_rate: 0) karena port itu milik data; satu baris log nyasar di tengah JSON merusak frame.
Catatan praktis tangkapan
- Ring buffer (
ring_size: 8) menyerap jitter burst di antara pembacaanmu. min_rssi: -85membuang frame sampah dari jaringan jauh.- Satu pelajaran mahal yang tertanam di komponen: di ESP32-S3 + IDF 5.x, mode promiscuous harus aktif sebelum konfigurasi CSI, atau tangkapan diam-diam mati setelah beberapa frame. Komponen
latentfield_csimenangani urutannya — satu alasan memakainya daripada panggilan IDF mentah.