Successfully reported this slideshow.
Your SlideShare is downloading. ×

CoreBluetoothでつくるBluetooth Low Energyデバイス

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 18 Ad

More Related Content

Slideshows for you (20)

Similar to CoreBluetoothでつくるBluetooth Low Energyデバイス (20)

Advertisement

More from Shin Ise (20)

Recently uploaded (20)

Advertisement

CoreBluetoothでつくるBluetooth Low Energyデバイス

  1. 1. CoreBluetoothでつくる Bluetooth Low Energy デバイス 伊勢  シン / 伊藤  伸裕 ITごったに勉強会#1@沖縄 2013/02/02 (Sat)
  2. 2. ⾃自⼰己紹介 •  伊勢  シン / 伊藤  伸裕 –  @iseebi / id:iseebi •  スマートフォンアプリ作ってます。 –  iPhone / Android –  最近うっかり iOS Developer Program 失効させるところだった •  今⽇日もスマートフォンのはなしです。
  3. 3. 突然ですが!!!
  4. 4. 今年は PF間近接通信が 来る! と思う
  5. 5. 2013年年  スマホ⽅方⾯面で (個⼈人的に) アツそうなもの •  HTML5⽅方⾯面 –  依然注⽬目度度変わらず •  新しいモバイルOS –  Firefox OS、Ubuntu Phone •  Nexus S や Galaxy Nexus などの これらOSを”焼ける”端末の価値が急上昇の予感 •  機器連携・近接通信 –  プラットフォームを超えた通信 –  組み込み機器の⾃自作
  6. 6. いままでの近接通信状況 •  iOS –  ⾃自由に開放されたAPIがない –  GameKit をつかったらできる。 •  独⾃自プロファイルなので、iOS同⼠士でしか通信できず •  Android –  Bluetooth いけます –  機種によってはFelicaいけます •  なんか2011年年の夏に1機種だけでたアレ –  全くダメ
  7. 7. この1年年くらいで状況かわってきた •  iOS –  iOS 5 から  CoreBluetooth で⾃自由に使えるようになった。 iOS 6 でさらに⾃自由度度が上がった –  そのかわり、Bluetooth LEだけしか対応しない。 •  Android –  NFC最速対応 –  Bluetooth LE対応している機種もちらほら。 ⾮非公式SDKで、何機種かはいけそう? •  なんか⽇日本で出る気配のないアレ –  NFCつかえる (AndroidとのURLやりとり確認済み) –  旧来のBluetoothがいけるようになった
  8. 8. 新しい規格 •  Bluetooth Low Energy (BLE) = Bluetooth 4.0 –  これまでのBluetoothよりも省省電⼒力力な設計 •  その代わり互換性はないので、ほとんどはデュアルスタックで 実装される –  GATT(General Attribute Profile) ベースの通信 •  機器は複数の Service を提供し、 サービスは複数の Characteristic を提供する •  Indicate, Notify など、通知機能もあり。 •  Near Field Communication (NFC) –  おサイフケータイみたいな、「タッチして通信」 –  急速に広がってる
  9. 9. 何がうれしいの? •  いままでできなかったこんなことができるように! –  iPhone / Android の間でアドレス交換 •  Android側の対応がまだ難あり –  iPadで動くアプリのコントローラとして、 Andorid と iPhone両⽅方使える –  バックグラウンド実⾏行行が使えるので、夢が広がる •  Macでも、新しいやつはCoreBluetooth使えるので、 Macからパルス送り続けて、通信続けさせるとか。 (要検証)
  10. 10. まとめるとこうなる これまで⼀一切切あかんかった iOSが対応! Bluetooth 2.0 Bluetooth LE NFC ※各OSの開発者マニュアルなどの情報を元に作者調べ。  2012/02/02(Sat) 現在
  11. 11. iOSでBLE通信したい •  iOS 5 から⼊入った CoreBluetooth.framework を使う –  iPhone 4S 以上で使⽤用可能 •  バックグラウンド実⾏行行可能! –  機器からアプリを起こすことができる (数秒だけ。でもTask Completionも使える) •  NO GUIDE –  まともなドキュメントやサンプルがほぼない。 –  WWDC’12のセッションビデオが最⼤大の情報源 •  Advanced Core Bluetooth
  12. 12. BLE通信できた所で機器がない •  iOS 5 の段階で⽤用意されたのは 「機器に対してアクセスする」ものしかなかった –  iOS 5のタイミングでは、そんな機器はなかった。 •  最近になって、ようやくいろいろできるようになって きた –  Arduino BLEシールド –  konashi •  http://konashi.ux-xu.com/ •  知って4分で注⽂文しました –  思い通りにやるには電⼦子⼯工作の知識識が必要
  13. 13. iOS 6 で、iOSデバイスをBLE機器に! •  iOS 6で、CBPeripheralManager が追加! iOS  デバイス上にBLEデバイスを定義可能に –  NO REFERENCE •  リファレンスがないので、 ヘッダファイルのコメントをみながら、⼿手探り。
  14. 14. CBPeripheralManager基本的な⼿手順 •  CBPeripheralManagerDelegate を実装する –  必須なのは1つだけ •  CBPeriperalManager を作る •  CBMutableCharacteristic を作る •  CBMutableService を作って、 characteristics に配列列で突っ込む •  CBPeriperalManager に   CBMutableServiceをaddServiceで追加する •  startServiceする
  15. 15. Demo したい…
  16. 16. その他ポイント 1/2 •  CBUUIDは、独⾃自にサービスを定義する場合は、 ターミナルでuuidgenで⽣生成する –  Bluetooth SIGに認証とったら 4桁UUID(0xXXXX)が使えるらしい
  17. 17. その他ポイント 2/2 •  iOSデバイスが⾜足りなければ、Macの設定を 変更更してシミュレータで試すことも可能。 –  USBのBLE対応アダプタが必須 –  TN2295参照 –  https://developer.apple.com/library/ios/ #technotes/tn2295/_index.html •  BLExplr はBLE開発必携ツール –  https://itunes.apple.com/jp/app/blexplr/ id524018027?mt=8
  18. 18. まとめ •  iOS 6 + CoreBluetoothで CBPeripheralManagerを実装すれば BLE機器を簡単に作れます。 –  いろいろ夢がひろがる! –  組み込みのBLE機器のモックとしてもどうぞ •  ただしリファレンスがないので、ヘッダをがんばって読む。 –  そんなに仕組みは複雑じゃないです。まだがんばれる。 •  あなたのアプリに、新たな選択肢を!

×