Your SlideShare is downloading. ×
0
CoreBluetoothでつくるBluetooth Low Energy デバイス              伊勢  シン / 伊藤  伸裕              ITごったに勉強会#1@沖縄                    201...
⾃自⼰己紹介•  伊勢  シン / 伊藤  伸裕  –  @iseebi / id:iseebi•  スマートフォンアプリ作ってます。  –  iPhone / Android  –  最近うっかり     iOS Developer Prog...
突然ですが!!!
今年はPF間近接通信が   来る!     と思う
2013年年  スマホ⽅方⾯面で          (個⼈人的に)   アツそうなもの•  HTML5⽅方⾯面  –  依然注⽬目度度変わらず•  新しいモバイルOS  –  Firefox OS、Ubuntu Phone    •  Nexu...
いままでの近接通信状況•  iOS  –  ⾃自由に開放されたAPIがない  –  GameKit をつかったらできる。     •  独⾃自プロファイルなので、iOS同⼠士でしか通信できず•  Android  –  Bluetooth いけ...
この1年年くらいで状況かわってきた•  iOS  –  iOS 5 から  CoreBluetooth で⾃自由に使えるようになった。     iOS 6 でさらに⾃自由度度が上がった  –  そのかわり、Bluetooth LEだけしか対応し...
新しい規格•  Bluetooth Low Energy (BLE) = Bluetooth 4.0  –  これまでのBluetoothよりも省省電⼒力力な設計     •  その代わり互換性はないので、ほとんどはデュアルスタックで     ...
何がうれしいの?•  いままでできなかったこんなことができるように! –  iPhone / Android の間でアドレス交換   •  Android側の対応がまだ難あり –  iPadで動くアプリのコントローラとして、    Andori...
まとめるとこうなる これまで⼀一切切あかんかった    iOSが対応!                             Bluetooth 2.0                                             ...
iOSでBLE通信したい•  iOS 5 から⼊入った   CoreBluetooth.framework を使う  –  iPhone 4S 以上で使⽤用可能•  バックグラウンド実⾏行行可能!  –  機器からアプリを起こすことができる  ...
BLE通信できた所で機器がない•  iOS 5 の段階で⽤用意されたのは   「機器に対してアクセスする」ものしかなかった –  iOS 5のタイミングでは、そんな機器はなかった。•  最近になって、ようやくいろいろできるようになって   きた...
iOS 6 で、iOSデバイスをBLE機器に!•  iOS 6で、CBPeripheralManager が追加!   iOS  デバイス上にBLEデバイスを定義可能に  –  NO REFERENCE    •  リファレンスがないので、  ...
CBPeripheralManager基本的な⼿手順•  CBPeripheralManagerDelegate を実装する  –  必須なのは1つだけ•  CBPeriperalManager を作る•  CBMutableCharacter...
Demo   したい…
その他ポイント 1/2•  CBUUIDは、独⾃自にサービスを定義する場合は、   ターミナルでuuidgenで⽣生成する –  Bluetooth SIGに認証とったら    4桁UUID(0xXXXX)が使えるらしい
その他ポイント 2/2•  iOSデバイスが⾜足りなければ、Macの設定を   変更更してシミュレータで試すことも可能。 –  USBのBLE対応アダプタが必須 –  TN2295参照 –  https://developer.apple.co...
まとめ•  iOS 6 + CoreBluetoothで   CBPeripheralManagerを実装すれば   BLE機器を簡単に作れます。  –  いろいろ夢がひろがる!  –  組み込みのBLE機器のモックとしてもどうぞ•  ただしリ...
Upcoming SlideShare
Loading in...5
×

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

25,134

Published on

Published in: Technology

Transcript of "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機器のモックとしてもどうぞ•  ただしリファレンスがないので、ヘッダをがんばって読む。 –  そんなに仕組みは複雑じゃないです。まだがんばれる。•  あなたのアプリに、新たな選択肢を!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×