からくりブログ

株式会社からくり社員のブログです

新しいFlashAir(W-04)のcontrol(“fioget”)について

こんにちは。皆さんは新しい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の機能についても色々調べていきたいなと思いつつ、今回のお話はこれまでにしたいと思います。それでは。

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>