こんにちは。皆さんは新しいFlashAir(W-04)は手に入れましたか?
私もつい先日手に入れたばかりで全然使いこなせていませんが、今日は新しく追加されたLua関数について少し語っていきたいと思います。
今回ピックアップした関数はcontrol(“fioget”)とcontrol(“fioset”)です。特に個人的に追加されて嬉しかったのは無線LANのON/OFFができるcontrol(“fioset”)です。
今までのFlashAir(W-03)では、無線LANのOFFはDisconnect()でできていましたが、無線LANのONは接続モード毎の関数を指定して、さらに接続に必要な値(SSIDやPW等)を記載する必要がありました。ここで面倒だったのが、CONFIGの設定条件と同じ設定で無線LANをONにする場合でもLuaスクリプトに再度設定情報を書き込む必要がありましたが、新しいFlashAirではfa.control(“fioset”, 1)だけで済むようになりました。
ちなみに、control(“fioget”)の戻り値(result)の説明で記載されている「現在の無線LANの状態」はそのままの意味のようで、fa.control(“fioset”, 1)とした瞬間に無線LANをONにする処理を開始しますが、無線LANが完全にONになっていないと、戻り値は0を返します。
これはステーションモードの場合で説明すると顕著で、CONFIGの設定をステーションモードで接続する設定にしてFlashAirの無線LANを一度OFFにした状態で以下のスクリプトを実行させましたが、結果の通り無線LANがONになったのはfa.control(“fioset”, 1)を行ってから、しばらく経った後からでした。
Luaスクリプト
resultget1 = fa.control("fioget") -- 無線LANをONにする処理の直前の無線LAN状態
resultset = fa.control("fioset", 1) -- 無線LANをONにする処理の瞬間の無線LAN状態
resultget2 = fa.control("fioget") -- 無線LANをONにする処理の直後の無線LAN状態
sleep(15000)
resultget3 = fa.control("fioget") -- 無線LANをONにする処理を行ってから15秒後の無線LAN状態
local file = io.open("Log.txt", "a")
file:write("resultget1:"..resultget1.."\n".."resultset:"..resultset.."\n".."resultget2:"..resultget2.."\n".."resultget3:"..resultget3.."\n")
file:close()
結果
resultget1:0
resultset:0
resultget2:0
resultget3:1
他の新しいFlashAirの機能についても色々調べていきたいなと思いつつ、今回のお話はこれまでにしたいと思います。それでは。