WiFiの電波は目に見えない。しかし、RedditユーザーAHTMGCが公開したESP32ベースのプロジェクトは、2.4GHz帯のWiFiトラフィックをNeopixel LEDの明るさで可視化する。
製作者は、RootKidがRaspberry Pi ZeroとSDRを使ってRFスペクトラムを可視化する動画を見て着想を得た。「ESP32だけで同じような効果が得られるのではないか」と考え、手元にあった部品と3Dプリンターで簡素化版を作成した。
元の動画ではSDR(Software Defined Radio)でRF信号全体を受信し、スペクトラム解析していた。しかしこのプロジェクトは異なるアプローチを取る。ESP32のWiFi機能を使い、2.4GHz帯の全14チャンネルを順次スキャンし、各チャンネルで検出されたパケット数をカウントする。完全なRFスペクトラム解析ではないが、より簡素な構成で実現できる。
ESP32C5を持っていなかったため、2.4GHz帯のみに対応している。ESP32C5なら5GHz帯も扱えるが、現時点では入手性が限られている。内部構成はXiao ESP32C3、ボタン1つ、Neopixelストリップ(144LED/m)だけだ。Neopixelの輝度がチャンネルごとのトラフィック量を示す。
ボタンをダブルタップすると、アクセスポイントが起動しWebUIが表示される。このインターフェースで明るさ、色、表示モードを変更できる。筐体は手持ちのLEDストリップのサイズに合わせて設計し、330mmの長さになった。幸い3Dプリンターに収まったという。
コメント欄では「動画が公開された翌日にすでに自作版を作ったのか、すごい」「同じアイデアを思いついたが、実際に作った点が素晴らしい」といった反応が寄せられた。元動画が2.4GHzと5GHzの信号を重ねて最大値を取る手法だったのに対し、このバージョンを好むというコメントもあった。
別のユーザーは「都市部ではWiFi RFスペクトラムがどれだけノイズが多いか驚く。文字通り何百もの信号が同時に干渉し合っている」と述べている。WiFiトラフィックの可視化は、周辺のネットワーク環境を理解する上で有用だ。