How minhduck19/esp32_wifi_csi_project works
This repository is a small ESP32 Wi-Fi CSI activity-recognition prototype. Its main analysis workflow generates mock CSI data, filters it, extracts sliding-window features, then trains and evaluates classifiers. Separate scripts read raw CSI from a serial port and publish simulated activity states to MQTT; the excerpts do not show these scripts connected to the analysis pipeline or a dashboard.
Main entry points: csi_pipeline.py Pipeline Runner · mqtt.py State Publisher · serial_reader.py Serial Reader
Components 9
CSI Analysis
- Pipeline Runner
csi_pipeline.py - Mock CSI Generator
csi_pipeline.py - Signal Filtering
csi_pipeline.py - Window Features
csi_pipeline.py - Model Evaluation
csi_pipeline.py
Device Input
- Serial Reader
serial_reader.py
MQTT Messaging
- State Publisher
mqtt.py
Other components
- ESP32 RX Board
- MQTT Broker
Connections 6
- Pipeline Runner → Mock CSI Generator: generates data
csi_pipeline.py - Pipeline Runner → Signal Filtering: filters data
csi_pipeline.py - Pipeline Runner → Window Features: extracts features
csi_pipeline.py - Pipeline Runner → Model Evaluation: evaluates models
csi_pipeline.py - ESP32 RX Board → Serial Reader: streams CSI
serial_reader.py - State Publisher → MQTT Broker: publishes state
mqtt.py