Channel State Information (CSI) is often used to perform "Wi-Fi Sensing" and "Localization" prediction tasks. Most often, prediction is performed through some supervised machine learning algorithms. Supervised machine learning model require each sample to have a specific label (or classification) for training. To facilitate training such a model with CSI data collected from the ESP32 CSI Toolkit, this Android app allows the user a number of methods to label CSI samples in real-time while also recording the CSI data.
git clone --recurse-submodules https://github.com/StevenMHernandez/Android-CSI-Labelling-App.git
In ./app/src/main/AndroidManifest.xml
, uncomment the desired labelling method.
For example the below sample would select the "PressAndHold" labelling method:
<!-- <activity android:name=".Experiments.TimerMainActivity"> -->
<activity android:name=".Experiments.PressAndHoldMainActivity">
<!-- <activity android:name=".Experiments.ToggleMainActivity"> -->
<!-- <activity android:name=".Experiments.ManualInputMainActivity"> -->
In the MainActivity selected in the previous step, edit the ./app/src/main/java/com/stevenmhernandez/csi_labelling_app/.java file
Plug in your android device into computer, then press run
in Android Studio. After installation, unplug smartphone and plug ESP32 into smartphone with a USB OTG cable.