「Wi-Fiが繋がりにくい」という申告が上がってくる。現場を歩いて確認すると確かに電波が弱いエリアがある。ではAPをどこに追加すれば解決するのか——感覚と経験だけで決めるのは心もとないし、Ekahauのような本格的なサイトサーベイツールはライセンス料だけで数十万円かかる。1〜3人で情シスを回している中小企業では、そこまでの予算が下りることはまずない。
本記事では、追加インストール不要でWindows 10/11上で動作するオープンソースのWi-Fiサイトサーベイツール「SiteSurveyTool」を使って、フロアマップ上に電波計測結果をヒートマップ表示するまでの手順を解説する。Ping・スループット・VoIP品質の3モードを備えており、AP配置の検討や電波弱点の特定に実用的に使える。
なぜ専用ツールが買えないのか
Wi-Fiサイトサーベイの専用ツール市場は大きく二極化している。
| ツール | 価格帯 | 主な制限・問題 |
|---|---|---|
| Ekahau Site Survey | 数十万円 / 年 | 中小企業には予算が通らない |
| NetSpot(無料版) | 無料 | フロアマップへのピン設置・ヒートマップは有料版のみ |
| WiFi Analyzer(Android) | 無料 | スマートフォン限定・フロアマップ機能なし |
| SiteSurveyTool 当ツール | 無料(OSS) | Windows専用・単一ユーザー利用 |
※ SiteSurveyToolの制限(Windows専用・単一ユーザー)はインストール不要・ライセンス不要を実現するための設計上のトレードオフ。
「フロアマップ上に計測ポイントを設置してヒートマップ化する」という基本機能を無償で使えるツールは選択肢が限られる。SiteSurveyToolはその空白を埋めるために作られた実用ツールだ。
SiteSurveyToolとは
SiteSurveyToolは、Windows PCでZIPを解凍してStart.batをダブルクリックするだけで起動するWi-Fiサイトサーベイツールだ。バックエンドはPowerShell 5.1のSystem.Net.HttpListenerによる自前HTTPサーバー、フロントエンドはVanilla JS + Chart.jsで構成されており、Node.jsもPythonも不要。標準ブラウザ(Edge / Chrome等)がUIとなる。
主な機能は以下のとおりだ。
- PNG/JPGのフロアマップ画像またはグリッドエディタで作成した間取りへのピン設置
- Ping計測(デフォルトゲートウェイ+外部IP宛RTT・パケットロス)
- スループット計測(HTTPダウンロードによる下り速度)
- VoIP/ビデオ会議品質計測(連続Pingによるジッター算出・簡易E-modelによるMOS値推定)
- 信号強度・Ping・ジッターの3種類のIDWヒートマップ表示
- PNG・CSV・PDF形式でのエクスポート
- Wi-Fi情報のリアルタイム自動取得(SSID・BSSID・信号強度・チャネル・無線規格・リンク速度)
🐝 IroHive メモ
データはJSONファイルとしてdata/projects/以下にローカル保存される。データベース不要。複数プロジェクトを切り替えて管理でき、計測履歴はピンごとに蓄積される。
動作要件と入手方法
動作要件
- OS: Windows 10 / 11(macOS・Linuxは非対応。
netsh・System.Net.NetworkInformation.Ping等のWindows API依存のため) - PowerShell: 5.1以上(Windows標準搭載)
- ブラウザ: Edge / Chrome / Firefox 等の標準ブラウザ
- Wi-Fiアダプタ: 内蔵または外付けの無線LANアダプタ(有線LANのみの環境ではWi-Fi情報取得不可)
入手方法
- IroHive ToolsページからZIPをダウンロード(直接ダウンロード)
- 任意のフォルダに解凍する(例:
C:\Tools\SiteSurveyTool) - 解凍したフォルダ内の
Start.batをダブルクリックして起動
✅ インストール作業ゼロ ZIPを解凍してStart.batを実行するだけ。管理者権限も不要(ただし、PowerShell実行ポリシーによっては後述の対処が必要)。
Wi-Fiサイトサーベイツール
本記事で解説しているツールの配布版。ZIPを解凍してStart.batをダブルクリックするだけで動作します。
起動から計測までの手順
① 起動
Start.batをダブルクリックすると、PowerShellサーバーが別ウィンドウ(最小化)で起動し、標準ブラウザでhttp://localhost:8080/が自動的に開く。サーバーの準備完了を確認してからブラウザを起動するため、最大20秒のポーリングが走る。
終了時はStop.batを実行する。Start.batウィンドウを閉じてもサーバープロセスは残り続けるため、必ずStop.batで停止すること。
② プロジェクト作成
- ヘッダーの「+ 新規プロジェクト」をクリック
- プロジェクト名を入力(例:
本社2Fオフィス_2026-07) - プロジェクト設定でPingターゲットIP(デフォルト:
8.8.8.8)とスループット計測URL(デフォルト:http://speed.cloudflare.com/__down?bytes=10000000)を確認・変更する
🐝 Pingターゲットの選び方
社内環境のみ計測したい場合はデフォルトゲートウェイのIPを指定する。インターネット経路も含めて確認したい場合は8.8.8.8(Google DNS)のままでよい。
③ フロアマップの準備
- 「+ フロア追加」でフロアを作成
- マップ方式を選択:画像読み込み(PNG/JPGのフロアマップ画像。CAD出力PDFをPNG変換したものが最も使いやすい)またはグリッドエディタ(ブラウザ上で間取りを手描き)
④ ピン設置と計測
- サイドバーの「📍 ピン設置モード」を有効にする
- 計測したい場所(APの真下・電波が弱い疑いのある場所・各部屋の中央など)をマップ上でクリック
- ラベル(例:
会議室A中央)と計測モードを指定して「計測開始」 - 計測が自動実行され、結果がピンに蓄積される(同じピンで複数回計測を繰り返して平均を取ることも可能)
3つの計測モード詳解
System.Net.NetworkInformation.Pingでデフォルトゲートウェイと指定IPへのRTT(最小・平均・最大)とパケットロス率を計測。icmp.exe不要。
20ms以下・ロス率0%なら問題なし。RTT 50ms超でAPとの距離や干渉を疑う。System.Net.Http.HttpClientでHTTPダウンロード計測を行い下り速度(Mbps)を算出。デフォルトはCloudflareの10MBエンドポイント。
http://<サーバーIP>/test100mb.bin)すると、インターネット回線の影響を除いた実Wi-Fi速度を計測できる。連続Ping(20回/20ms間隔)でジッターを算出し、ITU-T G.107 E-modelを簡易実装したMOS値(Mean Opinion Score)を推定する。TeamsやZoomが問題になるエリアの特定に有効。
MOS値の読み方
| MOS値 | 品質 | 判断 |
|---|---|---|
| 4.3〜4.5 | ◎ 優良 | 通話品質に不満なし |
| 3.6〜4.2 | ○ 良好 | ほとんどのユーザーが満足できる最低ライン |
| 2.6〜3.5 | △ 普通 | 聞き取れるが改善の余地あり |
| 1.0〜2.5 | ✗ 不良 | VoIPには不適。APの追加・再配置を検討 |
※ MOS値は連続Pingによる簡易推定値であり、実際のVoIPコーデック品質とは異なる場合がある。傾向把握・エリア比較を目的として使用すること。
推定アルゴリズムの概要
ツールが内部で行っている計算は以下の通りだ(server/Server.ps1 のInvoke-VoipTest関数)。
- 片道遅延を概算:
latency = avgRTT / 2 - 有効遅延を算出:
effectiveLatency = latency + jitter × 2 + 10 - 遅延劣化係数 Id を計算:
effectiveLatency < 160ms→Id = effectiveLatency / 40/effectiveLatency ≥ 160ms→Id = (effectiveLatency - 120) / 10 - パケットロス劣化係数:
Ie = lossPercent × 2.5(G.711相当) - R値を算出:
R = 93.2 - Id - Ie - MOSへ変換:
MOS = 1 + 0.035R + R(R-60)(100-R) × 7×10⁻⁶
概念は本物のE-modelに基づいており、大まかな傾向を掴むには十分な精度だ。「この会議室だけMOSが2台」という発見ができれば、APの追加・再配置の根拠として使える。
ヒートマップの読み方
ピンを3点以上設置すると、ヒートマップ表示セレクタで以下の3種類の分布を切り替えられる。
- 信号強度(dBm): APの電波到達範囲と強度分布
- Ping遅延(ms): RTTの地理的分布
- ジッター(ms): VoIP品質劣化エリアの可視化
IDW補間とは
ヒートマップはピン設置点の間をIDW(Inverse Distance Weighting:逆距離加重補間)で補間して滑らかなグラデーションを生成する。計測点から遠い場所ほど、近傍の複数ピンの値を距離に反比例した重みで平均した値が使われる仕組みだ。
🐝 ピン数と精度の関係 IDW補間は計測点が少ないと「それっぽく見えるだけ」になる。目安は10m四方に1ピン以上。廊下の折れ曲がりや壁の向こう側は電波の遮蔽を補間が考慮しないため、仕切りのある空間では壁の前後に必ずピンを設置すること。
結果のエクスポート
計測が完了したらサイドバーのエクスポートボタンから出力できる。
window.print())を使った帳票レイアウト設計判断:なぜPowerShellにしたのか
「なぜNode.jsやPythonではなくPowerShellなのか」は、このツールを評価する上で重要な判断基準だ。
「情シスが使うツール」として最も重要なのは導入の摩擦をゼロにすることだ。PowerShellを選んだことでランタイムインストール不要・依存パッケージなし・セキュリティ部門への申請なしで使えるツールが実現している。
トラブルシュート
まとめ
SiteSurveyToolを使うことで、専用ソフトウェアなしに「フロアマップ上のどこで電波が弱いか・Pingが遅いか・VoIPが厳しいか」を可視化できる。意思決定に必要なのは感覚ではなく数値と地図だ。
インストール作業がゼロなのは「とりあえず試してみる」ハードルを下げる。申請を出す前に自分のPCで動かして、使えると判断してから展開を考えればよい。
✅ 今すぐ試す
ZIPをダウンロード → 解凍 → Start.batをダブルクリック。これだけで動く。
site-survey-tool-v1.2.0.zip をダウンロード