Download - mbedとwindows 8.1
![Page 1: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/1.jpg)
mbedとWindows 8.1
@第10回まどべんよっかいち2014/10/18青木 宣明(@kumar0001)
![Page 2: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/2.jpg)
今日の目標
mbedなどの組み込み機器のプロトタイプ開発環境を知ってもらう
mbedの機能とプログラムの開発方法を知ってもらう
組み込み機器とWindows 8.1アプリの連携方法を知ってもらう
![Page 3: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/3.jpg)
スマートデバイスとガジェット~私のやりたいこと
スマートデバイスでやりたいこと
ガジェットによる機能の補完
組み込み機器のプロトタイプ開発
![Page 4: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/4.jpg)
IoT: Internet of thing
http://monoist.atmarkit.co.jp/mn/articles/1410/17/news123.html
![Page 5: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/5.jpg)
http://monoist.atmarkit.co.jp/mn/articles/1410/17/news123.html
![Page 6: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/6.jpg)
de:code 2014“DE-003Internet Of Things を Windows プラットフォームで実践”より
IoTとクラウド
![Page 7: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/7.jpg)
スマートデバイスの位置付け
人・モノ・情報とのインターフェース
Human
Information
Thing
あらゆる情報にすぐにアクセスしたい・入力方法、表示方法
物理空間のあらゆる情報を蓄積したい
SNSが普及してるのでその利便性向上で間に合いそう
![Page 8: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/8.jpg)
モノの記録の蓄積
場所GPS
加速度計
金電子マネー
レシート
オンラインバンキング
環境温度・湿度
気圧
照度
あらゆるモノを自動的に記録したい
Windows (Phone)* 8.1ができないところは
ガジェットで補おう
![Page 9: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/9.jpg)
もっと身近な事情
ところで、電子マネー使ってますか?
利用履歴の記録領域が数件分しかない!
6件
3件
5件
1日の全ての記録を残すには、こまめに利用履歴を残すしかない
![Page 10: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/10.jpg)
どうやってこまめに記録?
Androidアプリを作ればいいんじゃない?
①スマートフォンアプリの立ち上がり時間の問題⇒専用デバイスならではの起動の早さを求めたい
②Windows (Phone) 8.1で間に合わせたい
![Page 11: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/11.jpg)
どうやってこまめに記録?
Windows 8.1ユニバーサルアプリで解決する方法を考えてみよう
WinRTのNFC機能はNDEFと呼ばれる形式だけの対応でFelica対応カードの
読み書きができない!
Felicaカードリーダを搭載したガジェットとWindows 8.1を併用すれば解決できそう
![Page 12: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/12.jpg)
iOSのとあるガジェット
Pasori RC-S390
• iPhone、iPad、iPod touch(iOSデバイス)と Bluetooth通信でワイヤレス接続が可能な非接触ICカードリーダー/ライターhttp://www.sony.co.jp/Products/felica/business/
products/RC-S390.html
![Page 13: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/13.jpg)
作りたいガジェット
①読み取り
②タッチ操作
③記録
④Win8.1連携
mbed
![Page 14: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/14.jpg)
で、進捗は?
![Page 15: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/15.jpg)
進捗状況
•データ形式を検討中
• SDカードの扱いはOK•Bluetoothでの連携はOK
•伝送形式を検討中
•部品を選定中
•GUI&タッチ操作は
難易度が高そう
•読み取りの基本はOK
•トラブルの原因調査中
読取 表示
記録連携
![Page 16: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/16.jpg)
MBEDとは
組み込み機器のプロトタイプ開発
mbedの特徴
mbedの機能
mbedのプログラム開発
![Page 17: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/17.jpg)
mbedとは?
ARM社が提供する組み込み機器のプロトタイプ開発環境
• ワンボードマイコン
• プログラミング環境
他のプラットフォームとの違い
• C++ ⇔ C# (.NET Micro Framework)
• マイコン ⇔ PC基板(RasPi)
• OS非依存の汎用の開発環境 ⇔ 独自のIDEによる開発環境 (Arduino, Intel Galileo)
![Page 18: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/18.jpg)
組み込み機器のプロトタイプ開発
通信モジュールのドライバは自前で実装?
センサー・LCDなどパーツとの接続は半田付け?どうやって制御するの?
開発環境は何を使えばいいの?マイコンにPGを書き込む方法は?
![Page 19: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/19.jpg)
mbedの特徴
簡素化された開発作業
オンライン開発環境
公開ライブラリの利用
![Page 20: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/20.jpg)
簡素化された開発作業
オンラインコンパイラ
• 開発環境をインストールする必要がない
USB接続とDnDでの書き込み
• USBで接続してファイルをExplorerでコピーするだけ
USBシリアルでのprintfデバッグ
• TeraTermなどのCOM通信ソフトで確認
![Page 21: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/21.jpg)
オンライン開発環境
Webブラウザ上の開発環境
コード作成
ライブラリインポート
バージョン管理
ビルド
![Page 22: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/22.jpg)
公開ライブラリの利用
プログラム、ライブラリをオンラインコンパイラ画面で取り込み可能
• Microsoft社のNuGetに相当
自分のオリジナルコードの公開も
• Wikiでの説明、履歴
• 既存ライブラリをForkして公開も可能
• GitHubに近い
![Page 23: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/23.jpg)
mbedの種類
http://developer.mbed.org/platforms/
![Page 24: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/24.jpg)
mbedの機能
![Page 25: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/25.jpg)
デモ① Lチカ
Lチカ=マイコンボードでのhello world
ブレッドボードでの配線
コード作成
ビルド
PGの書き込み
![Page 26: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/26.jpg)
デモ② もう少し複雑な例
LCD、ファイル書き込み
ライブラリの利用
デバッグ
• printfデバッグ
board orangeを利用• LPC1768を挿して利用
• LCD, USB端子, MicroSDカードスロット, DC IN, 10/100Base-Tコネクタを実装。LPC1768と結線済み
• http://developer.mbed.org/users/logic_star/notebook/star_board_orange/
![Page 27: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/27.jpg)
参考)オフライン開発環境
無償のオフライン開発環境
デバッグ
• アダプタが必要
• ブレークポイントとか
mbedオンラインコンパイラからのエクスポート
![Page 28: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/28.jpg)
WINDOWS 8.1との連携
スマートデバイスとガジェットの連携
Windows 8.1とガジェットの連携
![Page 29: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/29.jpg)
スマートデバイスとガジェットの連携
有線
無線
遠隔近接
Bluetooth
NFC
イーサネットケーブル
WiFi
USB
赤外線
UART
![Page 30: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/30.jpg)
Bluetooth
Bluetooth 2.x/3.x
• 従来のBluetooth
• 高速(~24Mbps)だが消費電力大(2次電池での駆動)
• WindowsではProximity APIでサポート
Bluetooth LE
• Bluetooth Smart=LEのみ、Bluetooth Smart Ready=LE+従来
• 低速(~1Mbps)だが消費電力が小さい(ボタン電池での駆動)
• WindowsではXXX
![Page 31: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/31.jpg)
Classic Bluetoothでの連携
![Page 32: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/32.jpg)
Classic Bluetooth連携①~mbed側
USB端子にUSBドングルを接続する場合
• USBスタックにmyBlueUSBを利用
RFCOMMとSDPに対応
コンパイルが通るようにしたmbed:myBlueUSB_localfix
• イベントドリブンなPGに処理を追加
TestShell関数のmainloopの部分
![Page 33: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/33.jpg)
Classic Bluetooth連携①~mbed側
![Page 34: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/34.jpg)
Classic Bluetooth連携①~ WinRT側
• https://github.com/nobukuma/BTRFCommDevTest
![Page 35: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/35.jpg)
デモ③:Classic Bluetooth連携
USBドングルの場合
![Page 36: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/36.jpg)
USBドングルの利用
USBドングルの場合
![Page 37: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/37.jpg)
Classic Bluetooth連携②~mbed側
RN-42XVPを利用する場合
• mbedとはシリアルでデータを送受信
SPPの処理はRN-42XVP側で行ってくれる
PCとシリアル接続する場合と同様に見える• RN-42XVP LPC1768
• Pin1 VOUT
• Pin2 p14(rx)
• Pin3 p13(tx)
• Pin10 GND
• mbed:RN-42XVPSample
![Page 38: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/38.jpg)
Classic Bluetooth連携②~ WinRT側
USBドングル利用の場合と同じ
![Page 39: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/39.jpg)
デモ③:Classic Bluetooth連携
RN-42XVPを使う場合
• 最後まで動作しなかったので…省略
• 続きはブログで
![Page 40: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/40.jpg)
Bluetooth LEでの連携
![Page 41: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/41.jpg)
Bluetooth LE連携~mbed側
BLE_HTM_HRM1017
![Page 42: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/42.jpg)
Bluetooth LE連携~WinRT側
PGで説明
■参考Bar Windows 8.1 – BluetoothでGO! 2013/10/29
http://www.kekyo.net/2013/10/29/bar-windows-8-1-bluetooth%e3%81%a7go/
![Page 43: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/43.jpg)
デモ:Bluetooth LE連携
温度センサーのデータ読み取り
Surface RTで読み取って表示
![Page 44: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/44.jpg)
まとめ
mbedで組み込み機器のプロトタイピングを手軽に
• オンライン開発環境+公開ライブラリで素早くPG開発を立ち上
げ
• ブレッドボード、開発用ボードを利用して配線の手間を削減
• プロトコル、ドライバ、サーバ処理の実装はライブラリ利用で
Windows 8.1との連携
• WinRTでBluetooth 2.x/3.xやBluetooth LEのAPIが提供済み
• mbed側もライブラリや専用ボードを利用して実装負荷を低減
![Page 45: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/45.jpg)
雑感
ライブラリの品質はまちまち
• 立ち上げ時にはそのまま利用すればよいが、リリースに向けたデバッグ時には対象のパーツ・プロトコルなどを理解する必要がある
ソースを読む
仕様書を読む
• 組み込み以外の開発と同じ
printfデバッグはつらいのでオフライン開発環境を作ったがよいのでは
• デバッガがボードに対応しているかどうか
![Page 46: mbedとwindows 8.1](https://reader033.vdocuments.net/reader033/viewer/2022052307/559814f91a28ab621d8b4615/html5/thumbnails/46.jpg)
今後の計画
Felicaカードの読み取り処理• トラブルの解消
タッチパネル付きLCDの制御• 部品を決めて実装してしまう
ガジェットのPG• スモールスタートで実装してしまう
リリース作業• 外に持ち出せるようにブレッドボードからユ
ニバーサル基板への実装の変更• 電源は…?• ケースもどうしようか…?