はじめに
本ツールについて
OpenWrtルーターを利用してWi-Fiセンシングの検証をしています
ライセンス
- MITライセンス(商用利用可)/ GPLv2(OpenWrt部分)
詳細: LICENSE
初心者対応構成
- Windowsからの導入手順
- スクリプトでの自動設定
-
UCI (ttyd)、Webコンソール (LuCi)、ファイラー (SFTP)にて比較作業がおススメ
Wi-Fiセンシング
Spectral Scan
IPQ9574
-
テスト機器:
Velop WRT Pro 7
QSDK 19.07-9
ath11kについて -
動作確認
athssd起動(バックグラウンド)
#WIFI_NUM=0 # 2.4GHz
#WIFI_NUM=1 # 5GHz
WIFI_NUM=2 # 6GHz
mkdir -p /tmp/aios2
killall athssd
athssd -i wifi$WIFI_NUM -j ath${WIFI_NUM}0 -s 0 -d > /tmp/aios2/spectral.log 2>&1 &
# RSSI値をリアルタイム監視
tail -f /tmp/aios2/spectral.log | grep -i "rssi\|interference"
# ログ確認
cat /tmp/aios2/spectral.log
# 停止:`Ctrl+C`
- スクリプトテスト
opkg update && opkg install coreutils-stdbuf
mkdir -p /tmp/aios2
cat > /tmp/aios2/wifi_motion.sh << 'EOF'
#!/bin/sh
# Wi-Fiセンシング モーション検知
#WIFI_NUM=0 # 2.4GHz
#WIFI_NUM=1 # 5GHz
WIFI_NUM=2 # 6GHz
THRESHOLD=5
PREV_RSSI=0
# クリーンアップ
killall athssd
spectraltool -i wifi$WIFI_NUM stopscan
sleep 1
# モーション検知開始
stdbuf -oL athssd -i wifi$WIFI_NUM -j ath${WIFI_NUM}0 -s 0 -d 2>&1 | while read line; do
echo "$line"
if echo "$line" | grep -q "RSSI"; then
RSSI=$(echo "$line" | grep -o 'RSSI [0-9]*' | awk '{print $2}')
if [ ! -z "$RSSI" ]; then
DIFF=$((RSSI - PREV_RSSI))
[ $DIFF -lt 0 ] && DIFF=$((DIFF * -1))
if [ $DIFF -gt $THRESHOLD ]; then
echo ">>> モーション検知! RSSI変化: $DIFF"
fi
PREV_RSSI=$RSSI
fi
fi
done
EOF
chmod +x /tmp/aios2/wifi_motion.sh
/tmp/aios2/wifi_motion.sh
# 停止:`Ctrl+C`
-
結果:
athssdを動作確認 (QCA独自)
Wi-Fi干渉検出が可能(RSSI値取得)
2.4GHz、5GHz、6GHzで検出 -
athssdの問題点:
-
Wi-Fi通信も「干渉」として検出される
クライアントPCとの通信
他のWi-Fiデバイス
データ転送時のRSSI変化 -
真のモーション検知ではない
電波環境全体の変化を見ているだけ
人の動きと通信を区別できない
-
-
結論:
athssdは周波数スペクトルの解析で、Wi-Fi通信も干渉として検出してしまう
Wi-Fi通信による干渉を検出しているだけで、真のモーション検知にはなりえない
メッシュ構成で三角測量の可能性あるだろうが、やはりセンサー機器としての精度は期待出来そうにない
CSI
mt7981
-
テスト機器:
未取得
Mediatek ベースの Wi-Fi チップセットの CSI 抽出
GUI 可視化機能を備えた CSI UDP クライアント -
MtkCSIdumpのインストール
MtkCSIdumpプロジェクトを使ってMediaTekチップセットからCSIを抽出
PKGS="tcpdump netcat"
# パッケージマネージャー判定してインストール
command -v opkg && opkg update && opkg install $PKGS 2>/dev/null
command -v apk && apk update && apk add $PKGS 2>/dev/null
あとがき
CSIは該当機種を手に入れたらテストしよう
