それより、プレビュー画面に映像が映らないのはなぜだろう。Enegy)の仕様をざっくり理解したのでまとめておきます。BLEの通信はCentralとPeripheralと言う二種類のロール(役割)に分かれて行われます。既存の概念で言えば「クライアント・サーバー」モデルに似ています。Centralがサーバーで、peripheralがクライアントと言った感じです。iBeaconの場合、iBeacon端末がperipheralで、iPhoneがCentralとなります。※ちなみにiBeaconはBLEの仕様に則ってAppleが提供する独自のサービスです。BLE=iBeaconではありません。イメージ的にはBLE>iBeacon(BLEにiBeaconが含まれる感じ)で、peripheralとCentralがそれぞれ何をするかと言うと、peripheralはAdvertisingによって、自分の存在を周囲に発信します。逆に、CentralはAdvertisingを受信し、その中から目的のperipheralをScanします。Centralは目的のPeripheralを見つけると、Connectionを確立し、Peripheralから送信される情報を受信し、任意の処理を実施します。必要があれば、処理結果をPeripheralへ返却する事も出来ます。Perepheralから送られる情報単体はcharactaristicと呼ばれる文字情報です。それを目的別にまとめたものがServiceと呼ばれます。Object志向プログラミングで言うクラスとプロパティの関係の様なものです。それぞれのServiceやCharactaristicにはそれぞれUUIDが振られています。これらの一連の処理を簡易に実装できるフレームワークがAndroidにもiOSにもあります。その内容については次回。実験アプリの作成をやって行きたいと思います。イメージはiPadとAndroid双方にBLE(BlueToothLowEnagy)を実装し、すれ違い通信が出来る様なアプリを目指します。現在手元のAndroidは4.4なので、いわゆる発信機側になれるPeripheralモードはまだサポートされてません。iPadをPeripheralモード、AndroidをCentralモードで動かす前提で進めて行きたいと思います。下記ブログで紹介されているAndroid向けサンプルを動かして見ました。LightBlueでBloodPresureと言う名前のperipheralを公開サンプルアプリで、BloodPresureを受信できた。