📊 Wi-Fi Channel State Information(CSI) visualization with python
This repo is based on CSI extracted with Nexmon CSI Extractor(Raspberry Pi, Wi-Fi chip: bcm43455c0).
Therefore, in order to use real-time plot and collect data for visualization, the Nexmon CSI extractor installation must be preceded.
(The csv data required by this repository can be obtained through csi-extractor)
pcap format is also available(To be implemented)
- Clone this repo and install the dependencies
pip install -r requirements.txt
- If you want to use real-time plot, clone this repo to the Raspberry Pi with Nexmon firmware installed.
python csiexplorer.py [CSI dir] --plt [Plot Type]
- Use sample data for Amplitude-PacketIdx plot
python csiexplorer.py sample --plt 1 --smp true
- Use real-time Amplitude or Phase plot
After installing the Nexmon firmware on the Raspberry Pi and setting the monitoring mode, run the code below.
sudo python3 csi_realTimeAmp.py
or
sudo python3 csi_realTimePhase.py
- Amplitude-PacketIdx
- Amplitude-Time
- Heatmap (Amplitude-Packet)
- Heatmap (Amplitude-Time)
- Amplitude-SubcarrierIdx (all packet)
- Amplitude-SubcarrierIdx Flow (single antenna set)