FlashAirと対応機器の開発

FlashAir 世代ごとの違い

世代	FlashAir W-04	FlashAir W-03	FlashAir-W02	FlashAir-W-01
型番	SD-WUA	SD-WE	SD-WD/WC	SD-WB/WL
読み書き最大速度	読み出し:90MB/s 書き出し:70MB/s
無線転送速度	約31.4Mbps	約10.8Mbps
UHS	UHS-I UHS Speed Class3
SDスピードクラス	Class10	Class6
無線対応規格仕様	IEEE802.11b/g/n (2.4GHz SISO, HT20/HT40)	IEEE802.11b/g/n (2.4GHz SISO, 20MHz)
無線セキュリティ	WEP,TKIP,AES(WPA/WPA2)
対応ファームウェア	4.00系列	3.00系列	2.00系列	1.00系列
Eyefi Connected	〇	×	×	×
FlashAirドライブ (WebDAV)	〇	〇	×	×
インターネット 同時接続モード	〇	〇	〇	×
Luaスクリプトサポート	〇	〇	×	×
ブラウザユーティリティ のカスタマイズ	〇	〇	〇	〇
iSDIOサポート	〇	〇	〇	〇
GPIOサポート	〇	〇	〇	×
ロングファイルネーム	〇	〇	〇	×
日本語ファイル名	〇	〇	〇	×

FlashAirのGPIO機能

FlashAirは、端子を汎用入出力（General Purpose Input/Output, GPIO)として利用する機能があります。GPIOを利用することで、FlashAirに接続された外部機器のスイッチON/OFFを行ったり、機器の状態を所得することができます。

GPIO機能を利用するための条件

GPIOは、FlashAirに電源が供給されていてかつFlashAirがSDホスト機器と接続されていない状態でのみ有効です。また、CONFIGファイルにIFMODE=1が設定されている必要があります。

GPIO状態の操作方法（CGIからの操作）

command.cgiを利用して、GPIOの入出力方向と、出力ピンのH/Lを設定できます。また、CGIの戻り値には、各ピンのH/L状態が返されます。DAT0からHを出力するには次のようにします。

http://flashair/command.cgi?op=190&CTRL=0x02&DATA=0x02

GPIO状態の操作方法（Luaスクリプトからの操作）

Luaスクリプトを利用してDAT0からHを出力するには次のようにします。

fa.pio(0x02,0x02)

また、Luaスクリプトを利用することで、SPIやI^2Cのデバイスを操作することができます。

FlashAir IoT Hub (BETA)

https://iot-hub.flashair-developers.com/

FlashAir IoT Hubでできること

FlashAirを遠隔操作
GPIO入出力、スクリプトの実行、画像や動画ファイルのアップロードやダウンロードなど、FlashAirが行う様々な処理を画面上で設定し、実行させることができます。

クラウドとの連携
IFTTTのWebhooksを使用・設定することで、Googleドライブ、Instagram、Twitterなどの約180ものクラウドサービスやSNSなどに対してFlashAirのデータをアップロードすることができます。

外部システムとのデータ共有
無料で公開されているASPIを使うことで、外部システムからのFlashAir IoT Hubを介して、FlashAirのデータをダウンロードしたり遠隔操作したりすることが出来るようになります。

データをアップロードして可視化
FlashAirから送られた計測値をグラフに表示します。計測値は最大5つまで、CVS形式の場合は最大100個まで使用可能で、ダウンロードすることもできます。

FlashAir IoT Hub API

FlashAir IoT Hub APIを使えば、FlashAirからアップロードされた計測データやマルチメディアデータを所得することができます。APIへのアクセスには、OAuth2.0によって発行されるアクセストークンが必要です。 ベースURL：https://iot-hub-api.flashair-developers.com/

API	説明
Authorization API	OAuth2.0(RFC6749他）の認可サーバ機能を提供するAPI
User API	ユーザ情報を扱うAPI
FlashAir Device API	FlashAirのデバイス情報を扱うAPI
Job API	FlashAirに対する遠隔操作・制御命令（ジョブ）を扱うAPI
Measurement API	計測データを扱うAPI
PIO API	FlashAirのPIOのHigh/Low情報を所得するAPI
Image API	FlashAirからアップロードされた画像を扱うAPI
File API	FlashAirからアップロードされたファイルを扱うAPI
Logging API	FlashAirからアップロードされたログを扱うAPI

Luaリファレンス

FlashAir W-03からLuaスクリプト実行をサポートしています。Lua機能によりFlashAirに様々な新しいプログラマビリティがもたらされます。例えば、外部サーバへのファイルアップロード、データのダウンロード、HTMLの動的生成などの高度な機能が実現できます。 詳しくはFlashAir DevelopersのLua機能APIガイドをご覧ください。

https://www.flashair-developers.com/ja/documents/api/lua/

Luaスクリプト実行方法

FlashAir起動時に実行する

作成したLuaスクリプトをFlashAirに保存します。

\SD_WLAN\CONFIGファイルに、LUA_RUN_SCRIPTパラメータを追加します。スクリプトのファイルパスを指定します。引数には、スクリプトのファイルパスを絶対パスで指定します。

LUA_RUN_SCRIPT=/bootscript.lua

FlashAirをSDメモリカードスロットから一旦取り出し、再度挿入します。

以降、起動5秒後に指定したLuaスクリプトが実行されます。