0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Wi-Fiのローミングでアクセスポイントが瞬時に切り替わりしているか確認する

Last updated at Posted at 2025-12-05

はじめに

無線Wi-FiのSSIDを統一し、ローミングを構築している場合において、
瞬時に接続先のアクセスポイント切り替わりがされているか確認する方法をまとめます。

約0.1秒間隔の Ping

以下のソースコードをPowershellで実行します。終了時は Ctrl+C。

$target = "192.168.0.1"

while ($true) {
    # 現在時刻(ミリ秒まで)
    $now = Get-Date -Format "yyyy-MM-dd HH:mm:ss.fff"

    # 1回だけPing(成功したらオブジェクトが返る)
    $reply = Test-Connection -ComputerName $target -Count 1 -ErrorAction SilentlyContinue

    if ($reply) {
        # レイテンシなどを表示
        "{0} {1} Reply from {2}: time={3}ms" -f `
            $now, $target, $reply.Address, $reply.ResponseTime
    }
    else {
        "{0} {1} Request timed out." -f $now, $target
    }

    # 0.1秒待つ
    Start-Sleep -Milliseconds 100
}

接続SSIDや電波強度の情報

以下のソースコードをPowershellで実行します。終了時は Ctrl+C。

while ($true) {
    $now = Get-Date -Format "yyyy-MM-dd HH:mm:ss.fff"

    # netsh の出力を行配列として取得
    $output = netsh wlan show interfaces

    # SSID
    $ssidMatch = $output | Select-String -Pattern '^\s*SSID\s*:\s*(.+)$'
    $ssid = $ssidMatch.Matches[0].Groups[1].Value.Trim()

    # AP BSSID
    $bssidMatch = $output | Select-String -Pattern '^\s*AP BSSID\s*:\s*(.+)$'
    $bssid = $bssidMatch.Matches[0].Groups[1].Value.Trim()

    # Rssi(すでに dBm 単位)
    $rssiMatch = $output | Select-String -Pattern '^\s*Rssi\s*:\s*(-?\d+)'
    $rssi = [int]$rssiMatch.Matches[0].Groups[1].Value

    # 1行で表示
    "{0} SSID={1} BSSID={2} RSSI={3}dBm" -f $now, $ssid, $bssid, $rssi

    Start-Sleep -Milliseconds 100
}

余談

筆者の自宅環境では、端末主導ローミング (EasyMeshではない) を構築し、
確認したところ、Ping応答が通常数十msのところ、
切り替わりが発生したタイミングでは、Ping欠けがないものの
376msでの応答になっていたことを確認しました。

つまり、0.4秒弱で切り替わりできているようです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?