2013-11-01 6 views
8

iBeaconとして機能するiPhoneにデータを送信するにはどうすればいいですか? 私は次のような方法を探しています:iBeaconになっているiphoneにデータを送信するにはどうすればいいですか?

  1. 検索近くのiBeaconsデバイス間のいくつかのiBeacon
  2. Exchangeデータへ
  3. 接続

誰もが異なるブルートゥースを配置する方法を知っています一緒に機能して これを可能にしますか?事前に

THX

答えて

1

iBeaconは近接技術であるとのデータ交換のために設計されていません。しかし、あなたのiPhoneでビーコンとして動作するBluetoothスタックがアクティブになるので(その近接UUIDを宣伝できる)、Core Bluetoothを使用してビーコンに接続し、デバイス間でデータを交換できます。

9

標準iBeaconsは、モバイルデバイスには見えるが、実際にはそれらに接続したりデータを交換したりしない送信専用デバイスです。

ただし、すべての端末にアプリがあり、データ転送を行うウェブサービスがある場合は、に依頼することもできます。これにより、デバイスAとデバイスBが近くにいるときにデバイスAとBが互いに検出してデータを交換できるようになります。 (アプリケーション固有の識別子と電話機固有の識別子でその存在を広告する)と、アプリケーション固有の識別子を含むiBeacon信号のために及ぶ

  1. iBeaconとして動作する間のデバイスのAとBを交互にアプリ:ここではどのようです。
  2. デバイスAのアプリケーションは、デバイス識別子Bとデバイス識別子Bの両方を含むデバイスBからのiBeacon送信を検出します。
  3. アプリケーションAがWebに「書き込み」コールを行います「A」の送信元と「B」の送信先を持つサービスと、「デバイスAがデバイスBにメッセージを送る」のように、転送したいデータがあります。
  4. また、アプリケーションは定期的にWebサービスへの "読み取り"呼び出しを行います。この例では、デバイスBはB宛ての情報を読み取り、WebサービスはデバイスAが「デバイスAがデバイスBにメッセージを送る」というデータを含むメッセージを送信したレコードを返します。

同じプロセスが両方の電話で実行されているため、この通信は両方の方法で実行できます。

+0

広告とレンジングを行う可能性がないので、Bluetoothデータ転送モードに戻って戻ることができますか? Webサービスの代わりにBluetoothを使用してデータを転送する方がクーラーになるので... – ErdyMurphy

+0

もちろん、CoreBluetoothを使用してWebサービスではなく電話機間で直接データを転送することもできます。それを設定することは、各アプリケーションに3番目の、おそらく4番目のサイクルを追加する必要があるため、はるかに複雑になります。これらの追加のサイクルは、各アプリを周辺機器モードおよび/または中央モードにして、Bluetoothデータを送受信することになります。しかし、Bluetoothデータを送信しているときにiBeaconとしてブロードキャストすることはできないため、複数のデバイスでBluetooth転送を使用してタイミングを管理することは非常に困難です。 – davidgyoung

1

具体的にはiBeaconテクノロジを使用する必要がありますか?私が尋ねる理由は、プロセスの説明を読んでから、iOS 7のMultipeer Connectivityを使って同じことを達成できるということです。 2つのiOSデバイスをWiFiやBluetoothのようなインターフェイスに関係なく接続する技術的な複雑さをすべて抽象化することができます。私はMCNearbyServiceBrowserMCNearbyServiceAdvertiser、およびMCSessionクラスを使って同様のものを構築しました。

+0

は、iBeaconを使用し、後でマルチペイパル接続を使用する近接交換データに基づいて、お互いにどれほど近い2台のデバイスを最初に検出できますか? – raaz

+0

はい、できます。チュートリアルのチュートリアルは、iOS 7のTutoialsの書籍で、CoreLocationの新機能の章です:) – rustylepord

関連する問題