FlashAirで、周囲のWiFiのアクセスポイントを検索して、そのログを取るソフトを作ってみている。
とりあえず、一定時間毎に、時間と、SSIDとRSSIを記録するというのを作ってみた。
ログを取ったあと、そのログを解析して、無線AP情報から緯度経度を推定するサービスと連動させて移動の軌跡を出せるかなあ、とか考えている。
コードはLua言語で書いた。FlashAir W-04で動かしている。
test.luaというファイル名でFlashAirのSDカードストレージのルートフォルダーに入れる。
local file = io.open("/log.txt", "a") file:write("WiFi SSID Logging data\r\n") file:write("---\r\n") file:close() fa.SetCurrentTime(0x2821,0) hh=0 mm=0 ss=0 sleep(100) while true do file = io.open("/log.txt", "a") file:write("time , "..hh..","..mm..","..ss.."\r\n") count = fa.Scan() for i=0, (count-1), 1 do ssid, other = fa.GetScanInfo(i) if ssid ~= "" then file:write("SSID,"..ssid.."\r\n") for key, val in pairs(other) do if key=="RSSI" then file:write(" RSSI,"..val.."\r\n") end end end end file:write("---\r\n") file:close() fat_time = lfs.attributes("/log.txt") hh = bit32.band (bit32.rshift(fat_time.modification, 11),0x1F); mm = bit32.band (bit32.rshift(fat_time.modification, 5),0x3F); ss = bit32.band (fat_time.modification,0x1F)*2; sleep(1000*30) end