2017-02-19
FlashAir Developers Summit
FlashAirの紹介
土居 意弘@フィックスターズ
下記の画像素材を使わせていただきました!感謝!!
・BUFFALO製品写真ダウンロードサービス
・日経パソコン オンライン「テンプレート」コーナー
・Wikipedia
Phil Hollenback - http://www.flickr.com/photos/phrenologist/164593940/
・ICON HOIHOI
自己紹介
土居 意弘
ど い むね ひろ
得意技:
開発者サイト FlashAir Developersの運営
株式会社フィックスターズ
ストレージ事業部
ディレクター
FlashAir Developers Summit 2017-02-19
今日の話
FlashAir Developers Summit 2017-02-19
FlashAirとは
開発者情報公開中 ひろがるコミュニティ
Peripheral
HTTP
Client
SD / iSDIO
SD / SPI Wireless LAN
HTTP
HTTP
Server
SD
Host
Wireless LAN
HTTP機器による
PIO
応用例
AC adapter/
battery
USB card adapter
そして伝説へ・・・
FlashAir Developers Summit 2017-02-19
FlashAirとは・・
FlashAirは超ミニマイコン!!
FlashAir Developers Summit 2017-02-19
メモリ 無線LAN ウェブサーバ
GPIO Luaインタプリタ
頭おかしい…
(誉め言葉)
こんなことができます
無線
– APモードで起動
– STAモードで起動
– AP+STA同時起動
– 無線切断
– SSIDのスキャン
HTTP
– HTTPリクエストの発行
スクリプト
– Luaスクリプト実行
PIO
– SD端子のPIO制御
Webサーバー
– ファイルのダウンロード
– ファイルのアップロード
– 標準HTMLのカスタマイズ
– CGIによる情報取得
SD
– 内蔵フラッシュメモリのファ
イル読み書き
一時記憶
– 作業用SRAMの読み書き
FlashAir Developers Summit 2017-02-19
FlashAir Developers Summit 2017-02-19
応用例
応用例:即席Webサーバーとして
FlashAir Developers Summit 2017-02-19
AC adapter/
battery
USB card adapter
応用例:センサーデータの記録と監視に
FlashAir Developers Summit 2017-02-19
センサー  マイコン  FlashAir  スマホ
照度センサー (CdS)
応用例:遠隔 L チカ
FlashAir Developers Summit 2017-02-19
電源
LED FlashAir
※ Lチカ=LEDチカチカの略。電子工作のHello World
応用例:遠隔クレーンゲーム
FlashAir Developers Summit 2017-02-19
某アンパン顔のキャラ
クタの子供用クレーン
ゲームを改造
専用アプリで
無線LAN経由
でCGI発行
FlashAirが各ボタンの信
号をON/OFFする
応用例:ArduinoからSSIDスキャン
FlashAir Developers Summit 2017-02-19
void iSDIO_scan(uint32_t sequenceId) {
memset(buffer, 0, 512);
uint8_t* p = buffer;
p = put_command_header(p, 1, 0);
p = put_command_info_header(p, 0x01, sequenceId, 0);
put_command_header(buffer, 1, (p - buffer));
printHex(buffer, (p - buffer));
card.writeExtDataPort(1, 1, 0x000, buffer);
}
void iSDIO_showScanResult() {
card.readExtDataPort(1, 1, 0x200, buffer);
uint8_t* p = buffer + 24 + 4;
uint8_t num = get_u8(p);
Serial.print(F(“# of SSIDs: "));
Serial.println(num);
p += 3;
for (uint8_t i = 0; i < num; i++){
printString(p, 32);
p += 44;
}
}
※擬似コードです
スキャン命令の
発行
スキャン結果の
取得
応用例:電車模型
FlashAir Developers Summit 2017-02-19
• 操作に加えて、在線情報フィードバック
• 共有メモリを使って大容量の制御情報の
やりとりを実現
応用例:LuaからHTTPリクエスト
FlashAir Developers Summit 2017-02-19
result = fa.HTTPGetFile(
"https://flashair-developers.com/
images/assets/flashairLogo_office
ial_small.png", "logo.png")
if result ~= nil then
print("Success! File downloaded.n")
--process the file
else
print("Failure! File failed to download...n")
end
リクエスト実行
結果はファイル
に保存されます
応用例:天気を教えてくれるロボット
FlashAir Developers Summit 2017-02-19
• Luaで、天気予報を取得し、
音声データを切り替え
https://www.youtube.com/watch?v=vnTzDswDw5Q
ホビー
ロボット
FlashAir Developers Summit 2017-02-19
面白そう!!
どこに行けば情報が得られるの?
開発者情報サイトあります
FlashAir Developers Summit 2017-02-19
flashair-developers.com
ハイフン必要 複数形
充実の情報量
FlashAir Developers Summit 2017-02-19
API リファレンス チュートリアル
デモ動画 同人誌ダウンロード
基板情報もあるよ!
FlashAir Developers Summit 2017-02-19
『Airio』
FlashAir GPIOで
Lチカする基板
(余熱@れすぽん)
『Airio RP』
FlashAir GPIO
ブレークアウト基板
ビジネス応用事例も!
FlashAir Developers Summit 2017-02-19
FlashAir Developers Summit 2017-02-19
FlashAir Developers
コミュニティ
拡大中!
コミュニティによるアプリ
FlashAir Developers Summit 2017-02-19
X
あ
A
18
16
8
8
8 3
36
3
2017-02-17現在
2
活発なユーザーフォーラム
FlashAir Developers Summit 2017-02-19
FlashAirハッカソン
FlashAir Developers Summit 2017-02-19
FlashAir Developers Summit 2017-02-19
そして
2017年・・・
新たな伝説がはじまった
FlashAir Developers Summit 2017-02-19
FlashAir IoT Hub
爆誕!
FlashAir Developers Summit 2017-02-19
つづきは
IoT Hub 開発者の
南さん、阿部さん、
お願いします!
ご清聴ありがとうございました

[FlashAir Developers Summit] FlashAirの紹介