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

概要

fa.Scan()を用いて、周囲のアクセスポイントの詳細情報を取得し記録します。
Google Geo Location APIを使うことを前提に

#内部記録時間
MACアドレス,RSSI,CH
MACアドレス,RSSI,CH
MACアドレス,RSSI,CH
MACアドレス,RSSI,CH

の形式で延々と記録します。

FlashAir開発ボードの Airioに挿してご利用ください。
LED表示が記録状態を表し、スイッチで記録の有無を選択できます。

白: 起動中
赤: 記録停止中
青: スキャン中
緑: 記録後待機中
紫: 内部エラー(errorファイルにエラー内容がテキストで記録されます)

SDカードスロットに差し込みファイルの読み書きをしている最中は迅速に処理を中断します。

注意

Google Geo Location APIを利用するにはAPI登録が必要であり、
また無料では1日に1000件までになります。

ライセンス

スクリプト

function main()
sleep(5000)
s,d = fa.pio(0x00, 0x00)
if(s == 0)then
	error("SD used!")
end

s,d = fa.pio(0x1E, 0x0E) --White
fa.Disconnect()
sleep(3000)

while true do
	s,d = fa.pio(0x1E, 0x00)
	if(bit32.band(0x01,d) == 0)then
		s,d = fa.pio(0x1E, 0x02) --Red
	else
		s,d = fa.pio(0x1E, 0x04) --Blue
		f=io.open("/log.txt","a")
		
		f:write("#",os.clock()*1000,"\r\n")
		count = fa.Scan()
		ssid, other = fa.GetScanInfo(num)
		for i=1,count do
			ssid,other = fa.GetScanInfo(i)
			--保護実行で書き込み
			pcall(function()
				msg = other["BSSID"] .. "," .. other["RSSI"] .. "," .. other["CH"]
		   		f:write(msg,"\r\n")
			end)
		end

		f:write("\r\n")
		f:close()
		s,d = fa.pio(0x1E, 0x08) --Green
	end
	collectgarbage()
	sleep(1000)
end
end

local s, r = pcall(main)
fa.pio(0x1E, 2+4) --エラー発生時は紫
f=io.open("/error","w")
f:write(r)
f:close()

コメントをかく


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

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

Menu

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

アクセス解析中

忍者アナライズ

GoogleAnalytics

編集にはIDが必要です