← Dasar-Dasar WiFi Sensing

Anatomi sebuah node CSI

12 mnt

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: -85 membuang 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_csi menangani urutannya — satu alasan memakainya daripada panggilan IDF mentah.

Masuk dulu untuk fitur ini — hanya 20 detik dan gratis. Masuk Pelajaran berikutnya →