fa.Scan()を用いて、周囲のアクセスポイントの詳細情報を取得します。
BSSID(=MACアドレス)や電界強度、チャネル等がわかるため、位置情報の記録等に使用できると思われます。
W-04で確認した限り、以下のような情報が得られます
BSSID(=MACアドレス)や電界強度、チャネル等がわかるため、位置情報の記録等に使用できると思われます。
W-04で確認した限り、以下のような情報が得られます
SSID = test-wifi BSSID = cc22aa2222bb capability = 1041 WSC_IE_PBC = Off CH = 9 SEC = WPA/WPA2-PSK AES RSSI = 56 AP = 11n SSID = testfi BSSID = 00ff7744bb00 capability = 5169 CH = 11 SEC = WPA/WPA2-EAP AES RSSI = 56 AP = 11n
ScanコマンドはWi-Fi接続を切断した状態でしか利用できません。
また、Scanコマンドを実行した時点でWi-Fi接続が切断されます。
そのため、FTLEなどでは実行できません。RUA_LUN_SCRIPT等のスタンドアロン系コマンドで実行してください。
また、以下に、一旦Wi-Fiを切断した後再接続する例も記載していますが、
現状安定して動作しません。(Sleep時間等で挙動が変わります)
Wi-Fi復旧を必要としない用途で使用されることをおすすめします。
また、Scanコマンドを実行した時点でWi-Fi接続が切断されます。
そのため、FTLEなどでは実行できません。RUA_LUN_SCRIPT等のスタンドアロン系コマンドで実行してください。
また、以下に、一旦Wi-Fiを切断した後再接続する例も記載していますが、
現状安定して動作しません。(Sleep時間等で挙動が変わります)
Wi-Fi復旧を必要としない用途で使用されることをおすすめします。
復旧なし
復旧付き
復旧後、eva.cgiで経過を確認できます。
f=io.open("/log.txt","a") --追記
count = fa.Scan()
ssid, other = fa.GetScanInfo(num)
for i=1,count do
ssid,other = fa.GetScanInfo(i)
f:write("SSID = ", ssid,"\n")
for key, val in pairs(other) do
f:write(key," = ", val,"\n")
end
f:write("\n")
end
f:close()
復旧付き
復旧後、eva.cgiで経過を確認できます。
print("### --- User script begin ---")
print("### Wait...")
sleep(5000)
print("### Wi-Fi disconnect")
fa.control("fioset", 0)
sleep(1000)
print("### Create log.txt")
f=io.open("/log.txt","w")
print("### Scan")
count = fa.Scan()
ssid, other = fa.GetScanInfo(num)
print("### Put")
for i=1,count do
ssid,other = fa.GetScanInfo(i)
f:write("SSID = ", ssid,"\n")
for key, val in pairs(other) do
f:write(key," = ", val,"\n")
end
f:write("\n")
end
f:close()
print("### Wait...")
sleep(10000) --十分待たないと復帰に失敗する
print("### Wi-Fi connect")
fa.control("fioset", 1)
print("### --- User script end ---")

このページへのコメント
スクリプトの
for i=1,count do
の部分ですが、
少なくとも W4.00.03では、
for i=0,count-1 do
とする必要があるようです。
ご参考まで。