FlashAir W-03シリーズからTwitterにポストする
変態SDカード一族
GPIOがブラウザなどから自在に操れてしまう一部の頭がおかしい人たちに人気のFlashAirですが、
W-03(SD-WEシリーズ)からLuaスクリプトが動くので僕のような電子工作やネットワーク初心者でも格段に自由度の高いお遊びができます。わーい
https://flashair-developers.com/ja/documents/api/lua/
というわけで、さくっとTwitterにFlashAirのLuaスクリプトからポストしてみました。今回もStewgate-Uを使います。
TwitterにポストするのでFlashAirからも”外の世界”にアクセスできないといけません。FlashAirをインターネット同時接続モードにします。
不可視フォルダになってる/SD_WLAN/CONFIGを以下のように修正します。
APPMODE=6 APPNAME=myflashair APPSSID=flashair APPNETWORKKEY= VERSION=FA9CAW3AW3.00.00 PRODUCT=FlashAir VENDOR=TOSHIBA LOCK=1 DNSMODE=0 BRGSSID=無線LANのSSID BRGNETWORKKEY=無線LANのパスワード APPAUTOTIME=0
保存します。
ルートディレクトリにLuaスクリプトを書きます。Twitterは同じメッセージを連投できないのでNICTからプレーンテキストでJST時刻を取得しメッセージの末尾にします。
Stewgate-Uについてはこちら
bb,cc,hh = fa.request{url = "https://ntp-a1.nict.go.jp/cgi-bin/time", method = "GET" } contenttype = "application/x-www-form-urlencoded" msg = "うんこ" mes = "_t=ここにStewgate-Uから発行されたトークンを書く&msg="..msg .. " posted at ".. tostring(bb) blen = string.len(mes) b,c,h = fa.request{url = "http://stewgate-u.appspot.com/api/post/", method = "POST", headers = {["Content-Length"] = tostring(blen), ["Content-Type"] = contenttype}, body = mes } print(tostring(b))
これをscript.luaなどという名前でFlashAirのルートディレクトリに保存します。(UTF-8 BOM無しエンコードで保存)
FlashAirを一度アンマウントし、再マウントします。
しばらくすると”flashair”というSSIDが出現するのでPC等で接続しておきます。
ブラウザでhttp://myflashair/script.lua にアクセスすると…
ミッション成功
おしまい。