sdカードで無線lチカ?flashairは超ミニマイコン!★arduino用シールド(基板)配布中...
DESCRIPTION
日時: 2014年10月18日 (土) 15:15~ 場所: 3F 302教室 担当: 株式会社東芝 レベル: 入門編 対象者: マイコンボードユーザ(Arduino、Raspberry Pi等)、アプリの開発者、クラウドサービス提供者、SDカードスロットのある機器の開発者/商品企画担当者 前提知識: コンピュータ関連の基本知識があり、AndroidやiOS、マイコンボードなどの開発を自分で学習しながら進められる方TRANSCRIPT
© 2014 Fixstars Corporation.
2014-10-18
OSC2014 Tokyo/Fall
SDカードで無線Lチカ?
FlashAirは超ミニマイコン!
★Arduino用シールド(基板)配布中
土居 意弘@株式会社フィックスターズ
FlashAir is a trademark of Toshiba Corporation.
OSC2014 Tokyo/Fall
下記の画像素材を使わせていただきました!感謝!! ・BUFFALO製品写真ダウンロードサービス ・日経パソコン オンライン「テンプレート」コーナー ・Wikipedia Phil Hollenback - http://www.flickr.com/photos/phrenologist/164593940/
© 2014 Fixstars Corporation.
自己紹介
土居 意弘 ど い むね ひろ
得意技:
開発者サイト FlashAir Developersの運営
FlashAirアプリの開発
FlashAirの変な使い方の開拓
株式会社フィックスターズ
ストレージ事業部 ディレクター
OSC2014 Tokyo/Fall
1
© 2014 Fixstars Corporation.
お断り
今日はFlashAirの変わった使い方のお話
–開発情報が公開されていて 結構遊べる、とか
– Lチカできる・・・とか
カメラに入れて、撮って、シェアるするカードとしてももちろん使えます!
これからお話しするような方法は、ちょっと(かなり?)マニアックな使い方ですので、予めご了承願います
2
OSC2014 Tokyo/Fall
それでははじめましょう・・・
© 2014 Fixstars Corporation.
FlashAirとは
OSC2014 Tokyo/Fall
3
© 2014 Fixstars Corporation.
FlashAirとは
このような
ものです
OSC2014 Tokyo/Fall
4
しかも・・・
© 2014 Fixstars Corporation.
FlashAirとは
半導体業界のラストサムライ
東芝製
OSC2014 Tokyo/Fall
5
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
6
FlashAir= フラッシュメモリー+
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
7
FlashAir= フラッシュメモリー+
無線LAN+
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
8
FlashAir= フラッシュメモリー+
無線LAN+
ウェブサーバー
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
9
大事なことなのでもう一度
© 2014 Fixstars Corporation.
何ができる?
1. データを無線でシェアできる
10
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
基本の動作
OSC2014 Tokyo/Fall
11
1. ホスト機器がファイルを書込み
2. クライアント機器のブラウザでデータを読み込み
© 2014 Fixstars Corporation.
写真をシェア
OSC2014 Tokyo/Fall
12
カメラが書込み スマホでみる
© 2014 Fixstars Corporation.
音楽をシェア
OSC2014 Tokyo/Fall
13
Zoom社 H2n
レコーダーが書込み スマホのブラウザで聞く
© 2014 Fixstars Corporation.
書類をシェア
OSC2014 Tokyo/Fall
14
Pomera (キングジム)
Evernoteにアップロード
電子黒板 (Panasonic)
会議室ですぐシェア
※カスタマイズ版FWを使用
一般に商品名は各社の商標です
© 2014 Fixstars Corporation.
動画をシェア
ドライブ中の風景を記録してシェア
15
OSC2014 Tokyo/Fall
ドラドラ HD & ドラドラLive (JAFMATE) 一般に商品名は各社の商標です
© 2014 Fixstars Corporation.
何ができる?
1. データを無線でシェアできる
2. Webサーバーとして遊べる
16
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
HTMLをカスタマイズする
OSC2014 Tokyo/Fall
17
標準画面 カスタマイズ例
© 2014 Fixstars Corporation.
独自クライアントを作る
OSC2014 Tokyo/Fall
18
例:閲覧アプリ
HTTP
リスト取得コマンドあり
© 2014 Fixstars Corporation.
ストリーミングサーバーとして
OSC2014 Tokyo/Fall
19
• 動画データをHTTP Live Streamingという形式に変換してFlashAirに置くだけ
• 新しめのスマホなら再生できます
© 2014 Fixstars Corporation.
ちなみにサーバー設置方法はこう
OSC2014 Tokyo/Fall
20
AC adapter/
battery
USB card adapter
© 2014 Fixstars Corporation.
何ができる?
1. データを無線でシェアできる
2. Webサーバーとして遊べる
3. 電子工作に使える
21
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
センサーデータの記録と監視に
OSC2014 Tokyo/Fall
22
センサー マイコン FlashAir スマホ
照度センサー (CdS)
© 2014 Fixstars Corporation.
センサーデータの記録と監視に
OSC2014 Tokyo/Fall
23
マイコン側 // 値を読む
val = analogRead(0); // ファイルに書き込む
myFile = SD.open( "test.txt", FILE_WRITE); if (myFile) { myFile.println(val); myFile.close(); }
// ファイルを読み出す
$.ajax({ type: 'GET', url: ‘test.txt’, datatype: 'text', success: function(data, dataType) { // グラフ書く
drawCharts(data); // 2秒ごとに繰り返す
setTimer(poll, 2000); });
スマホ側
© 2014 Fixstars Corporation.
Arduino + 照度センサ センサが計測した照度データ(テキスト) をFlashAirに格納。JavaScriptを使って、 タブレット側のブラウザでグラフ化して表示
応用例
iRobot Create iRobot Create(教育用のルンバ型ロボ) の動作情報をFlashAirに格納。 タブレットで表示し、デバッグに活用。 ※京都大学 高瀬准教授・細合様ご協力
OSC2014 Tokyo/Fall
24
© 2014 Fixstars Corporation.
CGIで端子のH/L出力を制御
Pin SD
1 CD/DAT3
2 CMD
3 VSS1
4 VDD
5 CLK
6 VSS2
7 DAT0
8 DAT1
9 DAT2
ビット割当 CMD : 0x01 D0 : 0x02 D1 : 0x04 D2 : 0x08 D3 : 0x10
SDインターフェイス端子を、汎用I/O信号端子として利用できます!(FW2.00.03~)
SDカード端子
マニア垂涎!!
OSC2014 Tokyo/Fall
25
© 2014 Fixstars Corporation.
応用例:遠隔 L チカ
OSC2014 Tokyo/Fall
26
電源 LED FlashAir
※ Lチカ=LEDチカチカの略。電子工作のHello World
© 2014 Fixstars Corporation.
応用例:遠隔 L チカ
OSC2014 Tokyo/Fall
27
http://flashair/command.cgi?op=190&CTRL=0x02&DATA=0x02 H 点灯
http://flashair/command.cgi?op=190&CTRL=0x02&DATA=0x00 L 消灯
© 2014 Fixstars Corporation.
電子工作事例1
OSC2014 Tokyo/Fall
28
Maker Faire BayArea に出しちゃいました
音楽ストリーミング
+
Lチカ
© 2014 Fixstars Corporation.
音楽シェアの様子
OSC2014 Tokyo/Fall
29
ここ
© 2014 Fixstars Corporation.
音楽シェアの様子
OSC2014 Tokyo/Fall
30
ここ 課題がたくさん
• 電源不安定
• ネットワーク混雑 • 何のデモをしているかわかりにくい
© 2014 Fixstars Corporation.
電子工作事例2
OSC2014 Tokyo/Fall
31
遠隔クレーンゲーム
© 2014 Fixstars Corporation.
しくみ
OSC2014 Tokyo/Fall
32
元は某アンパン顔のキャラクタの子供用クレーンゲーム
専用アプリで無線LAN経由でCGI発行
FlashAirが各ボタンの信号をON/OFFする
© 2014 Fixstars Corporation.
何ができる?
1. データを無線でシェアできる
2. Webサーバーとして遊べる
3. 電子工作に使える
4. 無線LANアダプタのように使える
33
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
iSDIO規格をご存知ですか?
OSC2014 Tokyo/Fall
34
© 2014 Fixstars Corporation.
iSDIO規格をご存知ですか?
付加機能付きSDメモリーカードをホスト機器から操作するAPI
付加機能=たとえば無線LAN
35
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
iSDIO規格をご存知ですか?
付加機能付きSDメモリーカードをホスト機器から操作するAPI
付加機能=たとえば無線LAN
現在、対応製品はFlashAirだけ!
36
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
ArduinoからSSIDスキャン
OSC2014 Tokyo/Fall
37
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; } }
※擬似コードです
スキャン命令の
発行
スキャン結果の
取得
© 2014 Fixstars Corporation.
FlashAirが対応するiSDIO API
Scan 近傍の無線LANのSSIDを検索
Connect 無線LAN APに接続
SendHTTPMessageByRegister HTTP通信
・・・などなど多数
詳細はSDアソシエーションで入手可能
www.sdcard.org
38
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
いろいろできることは分かった
OSC2014 Tokyo/Fall
39
FlashAirの組み込み機器応用事例 - OSCTokyo@Tokyo/Spring
© 2014 Fixstars Corporation.
いろいろできることは分かった
OSC2014 Tokyo/Fall
40
FlashAirの組み込み機器応用事例 - OSCTokyo@Tokyo/Spring
でも、自分で調べるのは大変・・
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
41
FlashAirの組み込み機器応用事例 - OSCTokyo@Tokyo/Spring
flashair-developers.com
© 2014 Fixstars Corporation.
APIガイド
APIのリファレンスマニュアル、詳細解説
CGIコマンド
設定ファイル (CONFIG)
ブラウザユーティリティ
42
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
API一覧(抜粋)
OSC2014 Tokyo/Fall
43
機能 (ファームウェアバージョン) パラメータ例
ファイルリストの取得 (1.00.00+) op=100&DIR=/DCIM
ファイル数の取得(1.00.00+) op=101&DIR=/DCIM
アップデート情報の取得(1.00.00+) op=102
SSIDの取得(1.00.00+) op=104
ネットワークパスワードの取得(1.00.00+) op=105
MACアドレスの取得(1.00.00+) op=106
ブラウザ言語の取得(1.00.00+) op=107
ファームウェアバージョン情報の取得(1.00.00+)
op=108
制御イメージの取得(2.00.00+) op=109
無線LANモードの取得(2.00.00+) op=110
無線LANタイムアウト時間の設定(2.00.00+) op=111
アプリケーション独自情報の取得(2.00.00+) op=117
CIDの取得1.00.03+) op=120
共有メモリからのデータの取得(2.00.00+) op=130&ADDR=0&LEN=8
共有メモリへのデータの書き込み(2.00.00+) op=131&ADDR=0&LEN=8&DATA=0123AB
CD
空セクター数の取得(1.00.03+) op=140
フォトシェアモードの有効化(2.00.00+) op=200&DIR=/DCIM/100__TSB&DATE=17
153
機能 (ファームウェアバージョン) パラメータ例
接続タイムアウト時間の設定(1.00.00+)
MASTERCODE=0123456789AB&APPAUTOTIME=
3000000&APPMODE=4
アプリケーション独自情報の設定(1.00.00+)
MASTERCODE=0123456789AB&APPINFO=0123A
BCD4567EFGH
無線LANモードの設定(1.00.00+) MASTERCODE=0123456789AB&APPMODE=4
ネットワークセキュリティキーの設定(1.00.00+)
MASTERCODE=0123456789AB&APPNETWORKK
EY=12345678
SSIDの設定(1.00.00+) MASTERCODE=0123456789AB&APPSSID=flashai
r
WiFI起動画面パスの設定(1.00.00+) MASTERCODE=0123456789AB&CIPATH=/DCIM/1
00__TSB/FA000001.jpg
マスターコードの設定(1.00.00+) MASTERCODE=0123456789AB
機能(ファームウェアバージョン) パラメータ例
ファイルのアップロード画面(1.00.00+) なし (※?も不要です)
ファイルの削除(1.00.00+) DEL=/DCIM/100__TSB/DSC_100.JPG
アップロード先ディレクトリの設定(1.00.00+)
UPDIR=/DCIM/101__TSB
システム時間の設定(1.00.00+) FTIME=0x00210000
ホスト機器からの書き込み禁止(1.00.00+) WRITEPROTECT=ON
http://flashair/command.cgi?<パラメータ> http://flashair/config.cgi?<パラメータ>
http://flashair/thumbnail.cgi?<フォルダパス>
http://flashair/upload.cgi?<パラメータ>
command.cgi config.cgi
upload.cgi
thumbnail.cgi
© 2014 Fixstars Corporation.
API一覧(抜粋)
OSC2014 Tokyo/Fall
44
パラメータ名 説明 例
APPAUTOTIME 接続タイムアウト時間の設定 APPAUTOTIME=3000000
APPINFO アプリケーション独自情報 APPINFO=0123ABCD4567EFGH
APPMODE 無線LANモード APPMODE=4
APPNAME NETBIOS, Bonjour名称 APPNAME=myflashair
APPNETWORKKEY ネットワークセキュリティーキー APPNETWORKKEY=12345678
APPSSID SSID APPSSID=flashair
CID カードID CID=02544d53573038470750002a0200c201
CIPATH 無線起動画面のパス CIPATH=/DCIM/100__TSB/FA000001.jpg
LOCK 初期設定済みフラグ LOCK=1
MASTERCODE マスターコード MASTERCODE=0123456789AB
PRODUCT 製品コード PRODUCT=FlashAir
UPLOAD アップロード機能有効フラグ UPLOAD=1
VENDOR ベンダーコード VENDOR=TOSHIBA
VERSION ファームウェアバージョン VERSION=F24A6W3AW1.00.03
/SD_WLAN/CONFIG ブラウザユーティリティ
ブラウザユーティリティは、 FlashAirのコンテンツをウェブブラウザで見る場合に表示される画面のことです。 List.htmというHTMLファイルがその実体で、 これを変更することで、コンテンツの表示方法をカスタマイズすることができます。 例えば、JavaScriptを使ったユーザーインターフェースを作ったり、 背景写真を組み合わせてフォトフレームのような見た目にすることもできます。
List.htm
ディレクトリパスに対するGETリクエストが発行された場合、 FlashAirはこのファイルを読み込んでレスポンスとして返します。 その際、ファイル内に <!--WLANSDJLST--> というタグがあった場合、 下記のような対象ディレクトリのコンテンツリストに置き換えを行います。
W-02カードでは, デフォルトではList.htm は存在せず、 ファームウェアに内蔵されたブラウザユーティリティが使われますが、 List.htmを作成すれば上記の説明通りにカスタマイズができます。 ただし、<!--WLANSDJLST--> の置き換えルールが異なります。
wlansd.push({"r_uri":"/DCIM", "fname":"100__TSB",
"fsize":0,"attr":16,"fdate":9944,"ftime":129});
wlansd.push({"r_uri":"/DCIM", "fname":"0126_1.jpg
", "fsize":70408,"attr":32,"fdate":17071,"ftime":
28040});
/DCIM,100__TSB,0,16,9944,129
/DCIM,0126_1.jpg,70408,32,17071,28040
© 2014 Fixstars Corporation.
チュートリアル
FlashAir対応アプリの作り方を解説
iOS, Android, ウェブブラウザ
45
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
さらに!!
OSC2014 Tokyo/Fall
46
Arduino向けチュートリアル iSDIO拡張コマンドの作成
カードステータスの読み取り
APモードでの起動
STAモードでの起動
Webページの取得 (近日公開)
などなど順次公開中
© 2014 Fixstars Corporation.
上級者向け情報
FlashAir Developersでしか見られない!
ステーションモードの利用
FlashAirへのアップロード
インターネット同時接続モードの利用
FlashAirを使ったセンサーデータの無線モニタリング
47
OSC2014 Tokyo/Fall
© 2014 Fixstars Corporation.
アプリショーケース
OSC2014 Tokyo/Fall
48
X
あ
A
15
12
6
5
6 1
1 4
アプリを作ったらぜひFlashAir Developersまで!
1
2014-10-17現在
© 2014 Fixstars Corporation.
デベロッパーフォーラム
OSC2014 Tokyo/Fall
49
© 2014 Fixstars Corporation.
デベロッパーフォーラム
OSC2014 Tokyo/Fall
50
英語の方が元気!
© 2014 Fixstars Corporation.
デベロッパーフォーラム
OSC2014 Tokyo/Fall
51
英語の方が元気!
潜在的読者数
1.3億人
潜在的読者数
21億人
だからかな・・・
© 2014 Fixstars Corporation.
リーフレットできました
OSC2014 Tokyo/Fall
52
東芝ブースにて配布中
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
Enjoy !!
53
もうちっとだけ続くんじゃ
© 2014 Fixstars Corporation.
お知らせ
OSC2014 Tokyo/Fall
54
FlashAirからGPIO制御専用基板配布中 ※Arduinoシールドとしても使えます
FlashAirでなにつくる?
© 2014 Fixstars Corporation.
入手方法
OSC2014 Tokyo/Fall
55
東芝ブースへGo!!
使いたい情熱を語ってくれた方に
お渡ししています
数量限定です!
※FlashAirはご自身でご用意ください
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
56
One More Thing…
© 2014 Fixstars Corporation.
明日16:15以降のじゃんけん大会で 16GB版を2名様にプレゼント!
OSC2014 Tokyo/Fall
57
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
Enjoy !! ご清聴ありがとうございました
58
注:限定デザインFlashAirはver.1.xのAPIまでの対応になります
限定デザイン FlashAirは
退室の際にお受け取りください
© 2014 Fixstars Corporation. OSC2014 Tokyo/Fall
59
注:限定デザインFlashAirはver.1.xのAPIまでの対応になります
限定デザイン FlashAirは
退室の際にお受け取りください
Q?