電気通信工事・防犯カメラ・法人向けITサポート・AI導入支援

AIと一緒にWi-Fiサーベイ支援ツールを作ってみた話

AI活用 DX活用
Wi-Fi調査の現場で、SSIDやチャンネル、電波強度をノートに手書きしていた頃、「これはさすがに何とかなるんじゃないか」と思い始めました。そこでPythonとAIの力を借りて、Windows用のWi-Fiサーベイ支援ツールを自作してみました。途中でJSONキーの罠にはまったり、401エラーに悩まされたり、速度測定で有線の値が出てきて首をかしげたりもしましたが、最終的にMVPとして使える形に仕上がりました。その一連の記録です。

1. きっかけ:手書き記録の限界

Wi-Fi調査の仕事では、現場で複数のアクセスポイントの情報を記録する必要があります。SSID、BSSID、RSSI(電波強度)、チャンネル番号、暗号化方式。これを一つひとつ手で書き留めるのが、長年の流儀でした。

でも現場に立ってスマートフォンのアプリをメモ代わりにしながら、ノートに転記して、帰社後に入力し直す——この手順がどうにも無駄に見えてきました。電波状況は変わりやすいし、記録ミスも起きる。何より、複数台のAPが並んでいる環境では、一覧で俯瞰できる方が絶対に判断しやすい。

「Windowsのコマンドで電波情報を取れるはずだ」というところから調べ始めて、lswifiというPythonのライブラリにたどり着きました。GUIもNotionへの保存も、最初は考えていなかったのですが、作っていくうちに必要な機能がどんどん見えてきました。

2. 具体的にやったこと(ツール構成とGUI)

技術構成はこうです。Python 3.9以上、tkinterでGUI、lswifi 0.1.66でWi-Fi情報取得、requestsとpython-dotenvでNotion API連携、speedtest-cliで速度測定。動作環境はWindows 10/11です。

GUIはtkinterで作りました。ボタンを押すとlswifiでスキャンが走り、検出されたアクセスポイントの一覧がテーブル形式で表示されます。SSID、BSSID、RSSI(dBm)、チャンネル、暗号化方式が並ぶ構成です。

実際に使ってみて気づいたのは、現在接続中のAPが一覧の中でどれなのかすぐわかるようにしたい、ということでした。そこで「現在のSSIDとBSSIDを取得して、一致する行をハイライトする」機能を追加しました。BSSID完全一致なら濃い緑、SSID一致(別のAPに繋がっている状態など)なら薄い緑にしています。

設計の判断ポイント
「今どのAPに繋いでいるか」を一目でわかるように

Wi-Fi調査の現場では、測定PCがどのAPに接続しているかを意識する場面が多い。BSSID一致は濃い緑、SSID一致は薄い緑という2段階のハイライトにしたことで、接続状態と周辺APの関係が一目で把握できるようになりました。

3. 具体的にやったこと(Notion連携と速度測定)

調査結果をその場でNotionに保存できたら、報告書作成の手間がかなり減る——そう考えてNotion APIを組み込みました。スキャン結果を、指定した親ページの配下に子ページとして自動作成するようにしています。APIキーと保存先ページIDは.envファイルで管理し、コード内にはハードコードしない設計です。

速度測定はspeedtest-cliを使いました。ボタン一つで計測が走り、下り・上り速度がGUI上に表示されます。そのままNotionの保存データにも含めることができます。

CSVへのエクスポート機能も入れました。Notionを使っていない現場でも持ち出せるように、スキャン結果を任意のタイミングでCSVに書き出せます。

機能ツール導入前ツール導入後
AP情報の記録手書き→帰社後入力スキャンボタン1回で一覧取得
現在接続AP確認別途確認が必要ハイライト表示で即確認
調査結果の保存手入力でExcel/紙Notionへ自動保存/CSV出力
速度測定別アプリで計測→手入力ツール内で計測→自動記録

4. つまずいたこと(lswifiのJSONキー問題)

最初につまずいたのは、lswifiが返すJSONの構造でした。チャンネル番号を取得しようとしたところ、想定していたキー名で値が取れず、チャンネルが全部0になる問題が起きました。

lswifiのドキュメントを読んで実際のJSONを出力してみると、キー名が想定と違っていたのが原因でした。実際のJSONに合わせて、channel_number、channel_width、channel_frequency、modes、securityを正規化することで解決しました。「ドキュメントを読むより、実際に出力して中身を見た方が早い」という教訓です。

もう一つ手間取ったのが、Notion APIの401エラーです。最初はAPIキーの設定ミスかと思い、.envの書き方を何度も確認しました。それでも直らないので、APIキーが正しく読み込まれているか、Notionのページにインテグレーションが共有されているか、を切り分ける簡単な診断スクリプトを作りました。原因はページへのインテグレーション共有が漏れていたことでした。エラーメッセージだけ見ていたら気づけなかった。

デバッグの教訓
「ドキュメント」より「実際の出力」を先に見る

lswifiのキー問題もNotion APIのエラーも、実際の出力や動作を確認してから判断することで解決しました。ライブラリやAPIは仕様通りに動かないことがある。まず中身を見てから考えるクセが大事です。

5. 速度測定の落とし穴と使える形になるまで

速度測定機能を試していたとき、Wi-Fi環境で測っているはずなのに、なぜか有線LANと同じような値が出ることがありました。調べてみると、テストPCが有線LANにも接続していて、speedtest-cliがそちらのインターフェースを使っていたのが原因でした。

「Wi-Fiの速度を測る」つもりで動かしていても、有線が繋がっていればそちらで計測されてしまう。これはツールの問題というより、測定環境の問題です。今は「速度測定前に有線を抜くか、測定インターフェースを意識する」という注意書きをGUIに入れています。自動では判断できないことは、使う人間が意識するしかない。

一通りの機能が揃った時点でMVPと判断しました。Wi-Fi電波状況のスキャン、現在接続APのハイライト、速度測定、Notionへの自動保存、CSV出力——これだけあれば現場で実際に使えます。完璧ではないですが、「使えるもの」として動く状態になったことの方が重要でした。

機能状態備考
Wi-Fiスキャン動作確認済SSID/BSSID/RSSI/CH/暗号化
接続APハイライト動作確認済BSSID一致:濃い緑/SSID一致:薄い緑
速度測定動作確認済有線接続中は有線の値になる点に注意
Notion保存動作確認済インテグレーション共有が必要
CSV出力動作確認済任意タイミングで書き出し

6. 今感じていること・学び

このツールを作ってみて改めて思ったのは、「現場で感じていた不便さ」が開発の一番の動力になる、ということです。Wi-Fi調査で手書きをしていた自分にとって、何が不要で何が欲しいかは最初からわかっていた。だから迷いなく機能を絞れました。

AIはコードの書き方を教えてくれますが、「何を作るか」は自分で決めるしかない。今回も、lswifiをどう使うか、Notionをどう組み込むか、どの機能をMVPに含めるか——判断はすべて自分でしています。AIは「どう書くか」の相談相手で、「何を作るか」の答えは現場経験の中にある。

lswifiのJSONキーの問題、Notion APIの401エラー、speedtest-cliの落とし穴。どれも「やってみて初めて気づいた」問題です。ドキュメントを読んでいても、実際に動かしてみないとわからないことがある。それはAIを使う作業でも、現場の工事でも、変わりません。

7. 次に向けて

現時点では、スキャン→記録→保存という基本的な流れができています。次はフロア図や地図との連携を考えています。「この位置でこの電波強度だった」という情報を空間的に記録できれば、Wi-Fi設計の提案資料として使えるようになる。

また、今回はWindows専用ですが、現場によってはMacやLinuxを使う人もいる。そこへの対応も視野に入れています。ツールとしての完成度よりも、実際に現場で使えるかどうかを優先しながら、少しずつ育てていく予定です。次回は、このツールを実際の調査現場で使ってみた結果を報告できればと思います。

AIと作ったWi-Fiサーベイツールから得たこと

現場の不便さが最高の設計書

「手書きが面倒」という具体的な不満があったから、必要な機能が最初から明確でした。要件定義は現場で積んだ経験の中にあります。

実際に動かして初めてわかること

JSONキーの問題、APIエラー、速度測定の落とし穴。どれもドキュメントではなく「実際に動かした」から見えた問題でした。

AIは「どう書くか」の相談相手

「何を作るか」は現場経験から来る。AIは実装の相談相手として機能します。判断の軸を自分で持っていれば、AIは実用的な道具になります。

AI活用・ツール開発相談

「現場の不便さ」をツールで解決したい方へ

「こういう作業を自動化したい」「Notionや社内ツールとうまく連携させたい」——現場の具体的な課題をもとに、一緒に考えます。

無料で相談する →
谷川原一将
株式会社伊勢志摩テック 代表取締役 谷川原 一将
電気通信工事・ネットワーク構築からAI・DX活用支援まで。現場経験と自社実践をもとに、地域の中小企業のITパートナーとして活動中。
 

電気通信工事・防犯カメラ・法人向けITサポート・AI導入支援