sabamiso.qrunch.io読者になる2M5Stackで簡易WiFiチェッカーをつくってみたm5stackwifi2.4GHz投稿日:2018-10-23最終更新:2018-10-24筆者のブログで記事をみるはじめに学内の小規模イベントスペースを利用した対外発表を開催するにあたり、近頃流行りのIoT系の展示や来場者のインターネットへのアクセスを担保するために、各会場にM5Stackを配置しWiFiの状況をリアルタイムで可視化を行うことができる簡易WiFiチェッカーをつくってみた。近頃流行りのIoT系の展示が多く、2.4GHz帯しか使えない機器達が混線する。無線ネットワークや混線などの知識のある展示車が少なく、インフラ担当者への連絡が後を絶えない。APからも2.4GHzが出ており、それらに影響を与えるのは思わしくない。WiFi用のAPを増設する予定もあり、ますます2.4GHzがいっぱいになる。個々人のモバイルWiFiルーターが2.4GHzの火を噴く。インフラ担当者の仕事を減らしたいいちいち、スマホをもっていってWiFiをチェックするのめんどくさい。各ブースに常設できて、出展者が直接チェックできるようなWiFiモニタリングデバイスが欲しい。安価で小さく余計な構築はしたくない。M5StackでWiFiチェッカーをつくろうディスプレイがあって、wifiモジュールついてて、演算もある程度できて小型、、、M5Stack!ってことで、M5StackでWiFiチェッカーを作成した。基本的には、ESPシリーズで用いられる、WiFi.scanNetworks()を使用する。今回は、2種類の方法で混線具合を判別する。各チャンネル毎に存在しているネットワークの数とRSSIから判別BSSIDからAPを特定し、AP毎のRSSIと出力しているSSIDから判別1.は比較的一般的な方法でスマホのWiFiチェックアプリ等でも用いられており、検出されたSSIDの数から混雑具合を推測するものである。BSSIDを用いて1つのAPから複数のSSIDを出している機器がある場合、1.の方法だと、あたかも近隣に大量のAPもしくは無線LANがあるように錯覚してしまう。そのため、APの正確な台数を知ることでより正確な混線を予想するものである。完成例1.スマホアプリのWiFiチェッカーのように各チャンネルごとにどれくらいの強度のWiFiが存在しているかをグラフで可視化している。グラフの高さは、RSSIが1mdb増えるごとに1上昇させ、各グラフの細かい横線の本数がそれぞれのWiFiを表している。RSSIを表示している。SSID1は、ステルスSSIDでマージされているため、本来は複数のSSIDが出力されていると考えられる。-39dbmであることがわかる。BSSIDでは、BSSIDの最下位の4bit(0-F)をSSID毎に割り振ることで、複数の異なるSSIDを利用することが可能になっている。そのため、先頭から44bitまででマージすることで、AP毎のSSIDを表示することができる。12:34:56:78:9A:BF->testtestap図では、APのオリジナルのBSSIDと出力されているSSID(空欄はステルスSSID)が表示されている。ような文字列の連結がうまく行えない(エラーはでない)。m5.Lcd.println(ssid);のように書く。まとめM5Stackで簡易WiFiチェッカーをつくってみた。初期セットのバッテリーで20分ほど使えるので、ポケットに入れて、出かけ先や駅で使うとたのしい。おまけ100均のホワイトボードに貼るとこんな感じ。Qrunch.netサーバー提供フィードバックを送信する。