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.
今日の話はこっち

iBeacon ?

CoreBluetooth ?
MultipeerConnectivity ?
近距離通信=ネット介さず
•

直接データ転送 (AirDrop)

•

リモコン (iTunes Remote、Keynote Remote)

•

そばにいる事の検出 (AirDrop、iBeacon)

•

すれ違い通信 (Nint...
iOS7
•

CoreBluetooth

       BLE (Bluetooth Low Energy)

•

iBeacon

       これもBLEベース

•

MultipeerConnectivity

       B...
•

BLE = Bluetooth Low Energy
•

バッテリー食わず

 (ボタン電池が2年持つほどの仕様)

•

昔ながらのBluetoothとは別物、と捉えとけ

 (電池食いやライセンス料の先入観排除)
どんなモノ作りたいの?
•

そばにいるよ検出/距離算出

•

文字列ちょっと送る

•

Background通信(すれ違い通信)

•

Androidとも繋ぐ

•

ユーザ間の頻繁な交信

•

写真や音楽など大きめデータ
ざっくり
•

そばにいるよ検出/距離算出

•

iBeacon

文字列ちょっと送る

•

Background通信(すれ違い通信)

•

Androidとも繋ぐ

•

ユーザ間の頻繁な交信

•

写真や音楽など大きめデータ

Co...
得意・不得意

くらべます
送れるもの
iBeacon

BLE

13962

整数のみ/一方通行

Hello World!
こんにちは!

Multipeer
Background Mode
iBeacon
発信

(ビーコン役)

受信

(スマホ役)

発信


受信

(スマホ役)

BLE
(BLEアクセサリ役)
Multipeer
たぶんBLE(LowEnergy)じゃないから
Background切れちゃう
iBeacon
発信


BLEなのにNG
(電波は飛ぶけどデータが欠ける。
iPhoneの電波共有上の制約)

LowEnergyじゃないほうのBluetoothだから

(Backgroundじゃ電池食いつぶ...
プログラミングわかりやすさ
iBeacon

単純、コード少ない
ビーコン役

(送信専門)

BLE

親機/子機のような関係

(意識せねばならず少し難解)
BLEアクセサリ役

(Peripheral)

Multipeer

スマホ役
...
Framework
iBeacon
発信

受信

CoreBluetooth.framework


CoreLocation.framework

BLE
CoreBluetooth.framework

Multipeer
Multipe...
iBeacon
CoreLocationに作らせたデータを、CoreBluetothで


•

発信してるだけ..




•

つまりiBeaconとは:

BLE上で何を流すかの決め事にしかすぎない!

(複雑なことしたきゃ最初から素直に...
CoreBluetooth(素のBLE)
•

発信も受信もできてます、すれ違い通信ならコレ

•

文字列のみだが、IDの通知程度なら十分だろう

(数字のみのiBeaconよりいい)
!

!
受信→

発信→
MultipeerConnectivity
•

ユーザ間の交信なら圧倒的にコレ、かんたん

(簡単/N対N/BluetoothオフでもWiFiで)

•

大きいデータも。ストリーミングも!


•

たぶんBLEでなく、昔ながらのBluet...
まとめ
•

そばにいるよ検出/距離算出

•

iBeacon

文字列ちょっと送る

•

Background通信(すれ違い通信)

•

Androidとも繋ぐ

•

ユーザ間の頻繁な交信

•

写真や音楽など大きめデータ

Cor...
併用したっていい 例えば
1. BackgroundでBLE受信

→ LocalNotification

 「平松くんがあなたを呼んでいます」
2. Foregroundになったら

→ MultipeerConnectivity 上でチャッ...
例:先日使ってみました

MultipeerConnectivity
Yahoo! JAPAN「Open Hack Day 2」

iPhoneを裸眼で見える3Dにしてみる作品。

iPhone/iPad間でスクロール量などを同期。
おしまい

•

このプレゼンも

Bluetooth経由でやってみました!

(Keynoteのremote機能で遠隔操作)
iOS7アプリ同士の近距離通信どれがいい?
Upcoming SlideShare
Loading in …5
×

iOS7アプリ同士の近距離通信どれがいい?

34,254 views

Published on

iBeacon/Bluetooth Low Energy/MultipeerConnectivity。iOS7でいろんな近距離通信技術が使えるようになったけど、「iPhone同士が通信するアプリ」を作りたくなったらどれ選ぶのがよいだろう?それぞれの得意・不得意をまとめてみました。

iOS勉強会で発表した資料。

Published in: Technology
  • Be the first to comment

iOS7アプリ同士の近距離通信どれがいい?

  1. 1. 今日の話はこっち iBeacon ?
 CoreBluetooth ? MultipeerConnectivity ?
  2. 2. 近距離通信=ネット介さず • 直接データ転送 (AirDrop) • リモコン (iTunes Remote、Keynote Remote) • そばにいる事の検出 (AirDrop、iBeacon) • すれ違い通信 (Nintendo DS) • ゲーム
  
  3. 3. iOS7 • CoreBluetooth
        BLE (Bluetooth Low Energy) • iBeacon
        これもBLEベース • MultipeerConnectivity
        Bluetooth or WiFi
        N対NのPeer-to-Peer
  4. 4. • BLE = Bluetooth Low Energy • バッテリー食わず
  (ボタン電池が2年持つほどの仕様) • 昔ながらのBluetoothとは別物、と捉えとけ
  (電池食いやライセンス料の先入観排除)
  5. 5. どんなモノ作りたいの? • そばにいるよ検出/距離算出 • 文字列ちょっと送る • Background通信(すれ違い通信) • Androidとも繋ぐ • ユーザ間の頻繁な交信 • 写真や音楽など大きめデータ
  6. 6. ざっくり • そばにいるよ検出/距離算出 • iBeacon 文字列ちょっと送る • Background通信(すれ違い通信) • Androidとも繋ぐ • ユーザ間の頻繁な交信 • 写真や音楽など大きめデータ CoreBluetooth
 (素のBLE) MultiPeer
 Connectivity
  7. 7. 得意・不得意
 くらべます
  8. 8. 送れるもの iBeacon BLE 13962 整数のみ/一方通行 Hello World! こんにちは! Multipeer
  9. 9. Background Mode iBeacon 発信
 (ビーコン役) 受信
 (スマホ役) 発信
 受信
 (スマホ役) BLE (BLEアクセサリ役) Multipeer たぶんBLE(LowEnergy)じゃないから
  10. 10. Background切れちゃう iBeacon 発信
 BLEなのにNG (電波は飛ぶけどデータが欠ける。 iPhoneの電波共有上の制約) LowEnergyじゃないほうのBluetoothだから
 (Backgroundじゃ電池食いつぶす) Multipeer
  11. 11. プログラミングわかりやすさ iBeacon 単純、コード少ない ビーコン役
 (送信専門) BLE 親機/子機のような関係
 (意識せねばならず少し難解) BLEアクセサリ役
 (Peripheral) Multipeer スマホ役
 (受信専門) スマホ役
 (Central) 一度繋がっちゃえば、
 どっちが親とか無く双方向
 (シンプルでわかりやすい)
  12. 12. Framework iBeacon 発信 受信 CoreBluetooth.framework
 CoreLocation.framework BLE CoreBluetooth.framework Multipeer MultipeerConnectivity.framework
  13. 13. iBeacon CoreLocationに作らせたデータを、CoreBluetothで
 • 発信してるだけ..
 
 • つまりiBeaconとは:
 BLE上で何を流すかの決め事にしかすぎない!
 (複雑なことしたきゃ最初から素直にBLE使えばよい) • CoreLocationが、電波の強さを計算して
 おおまかな距離を出してくれるのはいい
  14. 14. CoreBluetooth(素のBLE) • 発信も受信もできてます、すれ違い通信ならコレ • 文字列のみだが、IDの通知程度なら十分だろう
 (数字のみのiBeaconよりいい) ! ! 受信→
 発信→
  15. 15. MultipeerConnectivity • ユーザ間の交信なら圧倒的にコレ、かんたん
 (簡単/N対N/BluetoothオフでもWiFiで) • 大きいデータも。ストリーミングも!
 • たぶんBLEでなく、昔ながらのBluetoothベース
 (BLEは巨大データもストリーミングも扱えない)
  16. 16. まとめ • そばにいるよ検出/距離算出 • iBeacon 文字列ちょっと送る • Background通信(すれ違い通信) • Androidとも繋ぐ • ユーザ間の頻繁な交信 • 写真や音楽など大きめデータ CoreBluetooth
 (素のBLE) MultiPeer
 Connectivity
  17. 17. 併用したっていい 例えば 1. BackgroundでBLE受信
 → LocalNotification
  「平松くんがあなたを呼んでいます」 2. Foregroundになったら
 → MultipeerConnectivity 上でチャット 3. iBeaconで距離調べて表示
  「平松くん:約8m」
  18. 18. 例:先日使ってみました
 MultipeerConnectivity Yahoo! JAPAN「Open Hack Day 2」
 iPhoneを裸眼で見える3Dにしてみる作品。
 iPhone/iPad間でスクロール量などを同期。
  19. 19. おしまい • このプレゼンも
 Bluetooth経由でやってみました!
 (Keynoteのremote機能で遠隔操作)

×