Your SlideShare is downloading. ×
0
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
20130902 btleハンズオンワークショップ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

20130902 btleハンズオンワークショップ

1,863

Published on

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,863
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
21
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. BluetoothLE体験講座(iOS):iOS開発者向け ドリームコア 1F モバイル・コア 9月2日 (合)わふう 上原 昭宏 (有)トリガーデバイス 佐藤 忠彦 13年9月2日月曜日
  • 2. 目次 • Bluetooth Low Energyって? • センサータグを使う • iOSらしいBluetooth LEの使い方? 13年9月2日月曜日
  • 3. サンプルコードのダウンロード http://www.ti.com/tool/sensortag-sw http://www.ti.com/ww/en/wireless_connectivity/sensortag/ 13年9月2日月曜日
  • 4. http://goo.gl/Sf3p7 13年9月2日月曜日
  • 5. http://www.ti.com/tool/sensortag-sw 13年9月2日月曜日
  • 6. http://www.ti.com/tool/sensortag-sw 13年9月2日月曜日
  • 7. Bluetooth Low Energy 13年9月2日月曜日
  • 8. Bluetoothの歴史 13年9月2日月曜日
  • 9. Bluetoothの歴史 13年9月2日月曜日
  • 10. Bluetoothの歴史 2007 V2.1 EDR 13年9月2日月曜日
  • 11. Bluetoothの歴史 2007 V2.1 EDR 2009 V3.0 High Speed 13年9月2日月曜日
  • 12. Bluetoothの歴史 2007 V2.1 EDR 2009 V3.0 High Speed 2010 V4.0 Low Energy 13年9月2日月曜日
  • 13. Bluetoothの歴史 2007 V2.1 EDR 2009 V3.0 High Speed 2010 V4.0 Low Energy 2004 Bluetooth Low End Extension 13年9月2日月曜日
  • 14. Bluetoothの歴史 2007 V2.1 EDR 2009 V3.0 High Speed 2010 V4.0 Low Energy 2004 Bluetooth Low End Extension 2006 Wibree 13年9月2日月曜日
  • 15. Bluetoothの歴史 2007 V2.1 EDR 2009 V3.0 High Speed 2010 V4.0 Low Energy 2004 Bluetooth Low End Extension 2006 Wibree 2010 V4.0 Low Energy = 3.0 + LE 13年9月2日月曜日
  • 16. Bluetoothの歴史 2007 V2.1 EDR 2009 V3.0 High Speed 2010 V4.0 Low Energy 2004 Bluetooth Low End Extension 2006 Wibree 2010 V4.0 Low Energy = 3.0 + LE Low Energy 13年9月2日月曜日
  • 17. Bluetooth Low Energyとは 13年9月2日月曜日
  • 18. Bluetooth Low Energyとは 13年9月2日月曜日
  • 19. Bluetooth Low Energyとは 13年9月2日月曜日
  • 20. Bluetooth SMART ロゴ • SMART / SMART READY 13年9月2日月曜日
  • 21. iOSとBTLE • iOSデバイスのBluetooth4対応 • iPhone4S (2011年10月発売) 以降のApple社製品 、iOS5 / iOS6 • BTLE対応アプリのストア承認 • Made for iPhone(MFi) NDA締結不要 (ロゴ掲載には必要) • ハードウェアの提出は求められるかも • 開発環境 • CoreBluetoothフレームワーク (一般開発者が使える) • 従来BTをつかった独自機器開発 • MFi必須。 13年9月2日月曜日
  • 22. BTLEの使いどころ 13年9月2日月曜日
  • 23. BTLEの使いどころ 13年9月2日月曜日
  • 24. BTLEの使いどころ 13年9月2日月曜日
  • 25. BTLEの使いどころ 13年9月2日月曜日
  • 26. BTLEの使いどころ • 運動、健康、近接... 13年9月2日月曜日
  • 27. BTLEの使いどころ • 運動、健康、近接... • Appcessory 13年9月2日月曜日
  • 28. BTLEの使いどころ • 運動、健康、近接... • Appcessory • ハード、スマフォ、ネット 13年9月2日月曜日
  • 29. BTLEの使いどころ • 運動、健康、近接... • Appcessory • ハード、スマフォ、ネット • ぶっちゃけ 13年9月2日月曜日
  • 30. BTLEの使いどころ • 運動、健康、近接... • Appcessory • ハード、スマフォ、ネット • ぶっちゃけ • ハードメーカがスマフォで 売れるぜは死亡フラグ 13年9月2日月曜日
  • 31. BTLEの使いどころ • 運動、健康、近接... • Appcessory • ハード、スマフォ、ネット • ぶっちゃけ • ハードメーカがスマフォで 売れるぜは死亡フラグ • 異世界にようこそ 13年9月2日月曜日
  • 32. Sensor Tagで遊ぶ 13年9月2日月曜日
  • 33. http://goo.gl/d3HUL 13年9月2日月曜日
  • 34. TI Sensor tag IR temperature Sensor Humidity Sensor Pressure Sensor Accelerometer Gyroscope Magnetometer http://www.ti.com/tool/ cc2541dk-sensor 13年9月2日月曜日
  • 35. http://goo.gl/Sf3p7 13年9月2日月曜日
  • 36. Bluetoothの設定 13年9月2日月曜日
  • 37. Bluetoothの設定 13年9月2日月曜日
  • 38. Bluetoothの設定 設定→Bluetooth 13年9月2日月曜日
  • 39. Bluetoothの設定 設定→Bluetooth 13年9月2日月曜日
  • 40. Bluetoothの設定 設定→Bluetooth 13年9月2日月曜日
  • 41. 13年9月2日月曜日
  • 42. 13年9月2日月曜日
  • 43. 13年9月2日月曜日
  • 44. SensorTagを使うアプリ 13年9月2日月曜日
  • 45. サンプルコードを開く • Sensor Example Source Code 1.0.0 13年9月2日月曜日
  • 46. 実行する 1. MacにiPhone(iPod touch)を接続 2. 左上のプルダウンメニューから、ターゲット に実機を選択 3. Runアイコンを押して動かす 13年9月2日月曜日
  • 47. CoreBluetoothを使う 13年9月2日月曜日
  • 48. CBフレームワーク • 通信手順を抽象化 • 発見 • 接続 / 切断 • 読み書き • 通知 13年9月2日月曜日
  • 49. フレームワークの追加 13年9月2日月曜日
  • 50. フレームワークの追加 13年9月2日月曜日
  • 51. フレームワークの追加 13年9月2日月曜日
  • 52. フレームワークの追加 #import "KeyFobController.h" #import <CoreBluetooth/CoreBluetooth.h> @interface KeyFobController() <CBCentralManagerDelegate, CBPeripheralDelegate> { CBCentralManager *_centralManager; 13年9月2日月曜日
  • 53. フレームワークの追加 • CoreBluetooth.frameworkを追加 • #import <CoreBluetooth/ CoreBluetooth.h> • CBCentralManagerDelegate, CBPeripheralDelegate を実装 #import "KeyFobController.h" #import <CoreBluetooth/CoreBluetooth.h> @interface KeyFobController() <CBCentralManagerDelegate, CBPeripheralDelegate> { CBCentralManager *_centralManager; 13年9月2日月曜日
  • 54. BTの状態変化 13年9月2日月曜日
  • 55. deviceSelector.m 121行 BTサポート,On/Off設定 CBCentralManager delegate deviceSelector.m 25行 CBCentralManagerインスタンス 13年9月2日月曜日
  • 56. ペリフェラルの発見 13年9月2日月曜日
  • 57. ネットワーク・トポロジ • スター型 • 接続数の上限がない • スキャッタネットはない • ペリフェラルが同時に2 つのセントラルと接続 セントラル (Central) ペリフェラル (Peripheral) 13年9月2日月曜日
  • 58. ネットワーク・トポロジ • スター型 • 接続数の上限がない • スキャッタネットはない • ペリフェラルが同時に2 つのセントラルと接続 セントラル (Central) ペリフェラル (Peripheral) 13年9月2日月曜日
  • 59. ネットワーク・トポロジ • スター型 • 接続数の上限がない • スキャッタネットはない • ペリフェラルが同時に2 つのセントラルと接続 セントラル (Central) ペリフェラル (Peripheral) ✗ 13年9月2日月曜日
  • 60. ペリフェラルの発見 • アドバタイズメント • パケットを送信 • 20ミリ秒~1.3秒周期 • デバイス名などの情報 Ad Ad Ad Ad 13年9月2日月曜日
  • 61. モデル セントラル (Central) ペリフェラル (Peripheral) CBCentralManager CBPeripheral 1. CBCentralManagerの インスタンスを作る 2. CBPeriperalを見つけて取得 13年9月2日月曜日
  • 62. deviceSelector.m 134行 ペリフェラルの発見、接続開始 13年9月2日月曜日
  • 63. deviceSelector.m 134行 ペリフェラルの発見、接続開始 //UUIDはnullかも 13年9月2日月曜日
  • 64. deviceSelector.m 134行 ペリフェラルの発見、接続開始 //UUIDはnullかも //接続 13年9月2日月曜日
  • 65. deviceSelector.m 134行 ペリフェラルの発見、接続開始 //必ずretain //UUIDはnullかも //接続 13年9月2日月曜日
  • 66. 接続と切断 13年9月2日月曜日
  • 67. SensorTagApplicationViewController.m 104行 delegateの再設定、接続 13年9月2日月曜日
  • 68. SensorTagApplicationViewController.m 104行 delegateの再設定、接続 //接続 13年9月2日月曜日
  • 69. サービスとキャラクタリスティクス そしてプロファイル 13年9月2日月曜日
  • 70. プロトコルスタック Applications GATT ATT L2CAP PHY Link Layer Applications Core Bluetooth Applications XPC BTserver 13年9月2日月曜日
  • 71. プロトコルスタック Applications Core Bluetooth GATT ATT L2CAP PHY Link Layer ApplicationsApplications XPC BTserver サービス=クラス キャラクタリスティクス =プロパティ 13年9月2日月曜日
  • 72. プロトコルスタック Applications Core Bluetooth GATT ATT L2CAP PHY Link Layer ApplicationsApplications XPC BTserver • キャラクタリスティクス • 制御/動作指定 • センサー値/外界の状態 • (装置の)動作状態/内部状態 サービス=クラス キャラクタリスティクス =プロパティ 13年9月2日月曜日
  • 73. プロファイルの実装 Applications Core Bluetooth GATT ATT L2CAP PHY Link Layer ApplicationsApplications • プロファイルがアプリ側 • 任意の振る舞い、OK • すべてがアプリの管理下 • 発見 • 接続/切断 • 読み書き • iOSはいっさい関係してこない 13年9月2日月曜日
  • 74. プロファイルの実装 Applications Core Bluetooth GATT ATT L2CAP PHY Link Layer ApplicationsApplications XPC BTserver • プロファイルがアプリ側 • 任意の振る舞い、OK • すべてがアプリの管理下 • 発見 • 接続/切断 • 読み書き • iOSはいっさい関係してこない 13年9月2日月曜日
  • 75. プロファイルの実装 Applications Core Bluetooth GATT ATT L2CAP PHY Link Layer ApplicationsApplications XPC BTserver • プロファイルがアプリ側 • 任意の振る舞い、OK • すべてがアプリの管理下 • 発見 • 接続/切断 • 読み書き • iOSはいっさい関係してこない 13年9月2日月曜日
  • 76. CBフレームワークの使い方: サービスとキャラクタリスティクスの リスティング 13年9月2日月曜日
  • 77. SensorTagApplicationViewController.m 419行 接続完了、サービスを検索 434行 キャラクタリスティクスを検索 427行 キャラクタリスティクスを発見 13年9月2日月曜日
  • 78. 読み込み 13年9月2日月曜日
  • 79. BLEUtility.m 57行 ペリフェラルのreadValueForCharacteristic: SensorTagApplicationViewController.m 443行 値の更新 13年9月2日月曜日
  • 80. BLEUtility.m 57行 ペリフェラルのreadValueForCharacteristic: //非同期 SensorTagApplicationViewController.m 443行 値の更新 13年9月2日月曜日
  • 81. BLEUtility.m 93行 setNotifyValue: forCharacteristic SensorTagApplicationViewController.m 439行 値更新の通知 13年9月2日月曜日
  • 82. BLEUtility.m 93行 setNotifyValue: forCharacteristic //通知ON SensorTagApplicationViewController.m 439行 値更新の通知 13年9月2日月曜日
  • 83. 書き込み 13年9月2日月曜日
  • 84. BLEUtility.m 28行 writeValue:type: レスポンス あり/なし SensorTagApplicationViewController.m 571行 書き込み完了の通知 13年9月2日月曜日
  • 85. BLEUtility.m 28行 writeValue:type: レスポンス あり/なし //非同期 SensorTagApplicationViewController.m 571行 書き込み完了の通知 13年9月2日月曜日
  • 86. 情報源 • 目的 • 基礎知識、入門知識 • 最新情報の収集 • 分野 • ハードウェア • アプリ • サービス 13年9月2日月曜日
  • 87. Appleからの情報 • https://developer.apple.com/videos/ wwdc/2012/ • Session 703: Core Bluetooth 101 • Session 705 Advanced Core Bluetooth • Apple Bluetooth Mailing list • https://lists.apple.com/mailman/ listinfo/bluetooth-dev 13年9月2日月曜日
  • 88. サービス、動向 • Facebook BTLEグループ • https://www.facebook.com/groups/ 563064710384459/ • Kickstarter ? • http://www.kickstarter.com/discover/ recently-launched 13年9月2日月曜日
  • 89. 半導体会社の情報 • Texus Instruments社 • http://www.tij.co.jp/product/jp/cc2540 • http://processors.wiki.ti.com/index.php/ Category:BluetoothLE?DCMP=blestack&HQS=ble-wiki • フォーラム • Nordic Semiconductor社 • https://www.nordicsemi.com • BlueGiga • http://www.bluegiga.com 13年9月2日月曜日
  • 90. 書籍 • AppleのBluetoothアクセサリ設計指針 • Bluetooth Low Energy Handbook • http://www.amazon.co.jp/Bluetooth-Low-Energy- Developers-ebook/dp/B009XDA1G8/ • Building iPhone and iPad Electronic Projects • http://shop.oreilly.com/product/0636920029281.do • Bluetooth4 Core Specificaiton (辞書的に) 13年9月2日月曜日

×