前回に引き続きFlashAirで遊んでみる。前回はcommand.cgiを使ってブラウザからLEDの点灯を行ったので、今回はLuaからGPIOを操作してみる。
準備
Luaスクリプト1
LED点灯
【led_blue.lua】
s, indata = fa.pio(0x1f, 0x01) print("blue")
LED消灯
【led_off.lua】
s, indata = fa.pio(0x1f, 0x00) print("off")
上記の二つのファイルを作成し、FlashAirのドライブ直下に”Lua”という名前のフォルダを作成しその中に保存する。
FlashAirをPCからブレッドボード側に差し替えて電源をONし、ブラウザで以下のアドレスにアクセスするとファイルが表示される。
http://192.168.***.***/Lua/
表示されているLuaスクリプトをクリックすると実行される。
led_blue.luaをクリックするとLEDが点灯し、ブラウザには”blue”という文字列が表示される。
たった2行でLED点灯とブラウザへの表示ができた!
FlashAirのLua関連の情報はFlashAir Developersより。
Luaスクリプト2
次は3個のLEDを順番に点灯し、それを5回繰り返すスクリプトを書いてみた。
【led_signal.lua】
print("signal_start") for i = 1, 5 do --5回繰り返し s, indata = fa.pio(0x1f, 0x01) --青 sleep(3000) s, indata = fa.pio(0x1f, 0x02) --黄 sleep(1000) s, indata = fa.pio(0x1f, 0x10) --赤 sleep(3000) end s, indata = fa.pio(0x1f, 0x00) --OFF print("signal_end")
動作確認
ブラウザから”led_signal.lua”を実行する。
ブラウザは青→黄→赤を5回繰り返した後に2行の文字が表示された。ブラウザへの応答はスクリプト実行後に行われるのかな?
同じネットワークの中にいるPCとAndroidスマホの両方から動作させることができた。これで簡単なHTMLをFlashAirの中に置いておけばいろんな端末から操作できそうだ。
Luaスクリプト、思った以上にすっきりかけていい感じだなぁ。
「FlashAirで遊んでみる:LuaでGPIO」への2件のフィードバック