東芝から発売されているFlashAirを用いた開発を行う人々向けのまとめwikiです。※本wikiは東芝及びフィックスターズ、キオクシアとは何の関係もありません。お問合わせは管理者へお願いします。

×

概要

fa.Scan()を用いて、周囲のアクセスポイントの詳細情報を取得します。
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復旧を必要としない用途で使用されることをおすすめします。

ライセンス

スクリプト

復旧なし
	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

とする必要があるようです。
ご参考まで。

0
Posted by boogiepop 2019年03月02日(土) 20:37:10 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

スマートフォンの方は画面下部よりPC版に切り替えることをおすすめします

アクセス解析中

忍者アナライズ

GoogleAnalytics

編集にはIDが必要です

広告募集中