Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

mbedとwindows 8.1

1,800 views

Published on

第10回まどべんよっかいちでの発表資料です。最後のWindows 8.1との連携、特にBluetooth LEでの連携は説明できなかったので、ブログにて説明する予定です。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

mbedとwindows 8.1

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

×