
本日は、Intel GalileoおよびIntel Edison用のiBeaconアプリケーションを作成する方法について説明します。 このアプリケーションは、BLEビーコンのように見えるボードの存在を他のユーザーに通知します。 たとえば、ビーコンの存在を検出し、ビーコンからモバイルデバイスまでの距離を測定できるスマートフォン用のプログラムを使用して、信号を受信できます。 EdisonとGalileo向けのBLE iBeaconアプリの既製のコードは、 こちらにあります 。
この例は、モバイルデバイスに対するBLEビーコン(この場合、エジソンまたはガリレオボード)の位置を識別するためのBLE iBeaconテクノロジーの適用性を示しています。 詳細な技術情報を含むプロジェクト作成の機能に興味がある場合は、 こちらをご覧ください 。 開発は、Arduino拡張ボードがインストールされたIntel Edisonでテストされています。
ここではBluetooth Low Energyを使用しているため、モバイルデバイスとビーコンが同じWi-Fiネットワークに接続されている必要はありません。 同時に、ボードとIntel XDK IoT Edition開発環境を実行するコンピューターを同じネットワークに接続する必要があります。
前提条件
このガイドを習得するには、職場が次の要件を満たしている必要があります。
- Intel XDK IoT Editionがインストールされたコンピューターとそれに接続されたIoTボードが必要です。 開発環境の編成に関する詳細なガイドが必要な場合は、 この記事をご覧ください。
- ボードは、コンピューターと同じワイヤレスネットワークに接続する必要があります。 接続の詳細はこちらをご覧ください 。
- ボードにはBluetoothモジュールが必要です。
- Bluetooth Low Energy標準をサポートするiOSまたはAndroidスマートフォンなどのデバイスが必要です。 適切なデバイスのリストを以下に示します。

Intelエジソン
BLE iBeaconをサポートする新しいプロジェクトを作成する
ここでは、コード例を使用して、ボードがBLEを使用してその存在を周囲のデバイスに通知できるようにするプロジェクトを作成する方法について説明します。
- Intel XDK IoT Editionを起動します。
- プログラムウィンドウの左上で、[ プロジェクト ]タブをクリックします。
- [ 新しいプロジェクトの開始 ]ボタンをクリックします。
Intel XDK IoT Editionで新しいプロジェクトを作成する
- Internet of Things Embedded Applicationsグループで、 Templatesをクリックします。
アプリケーションテンプレートの選択に移動します
- ウィンドウの左側で、 (BLE)BLE-iBeaconアイコンをクリックします。 その後、[ 続行 ]ボタンをクリックします。
テンプレートの選択
- [ プロジェクト名]フィールドにプロジェクト名を入力し、[ 作成 ]ボタンをクリックします 。 新しいプロジェクトが作成され、XDKで開かれます。
プロジェクト作成
ボード上のBLEを有効にする
ここでは、ボードでBLEを有効にする方法について説明します。 以下の手順を実行するには、Intel XDK IoT Editionで利用可能なブックマークツールSSHターミナルまたはシリアルターミナルを使用してボードに接続する必要があります。 XDKのシリアルポートを介してボードへのターミナル接続を整理する方法の詳細を記載した便利なリンクを次に示します。
- Intel Edisonを使用する場合は、 こちらをご覧ください 。
- Intel Galileo向けに開発している場合は、 Windows 、 Mac OS X 、 Linuxなど 、さまざまなOSのマニュアルセットがあります。
接続が確立されたら、次を実行します。
- SSHセッションで、または端末を介して接続する場合、次のコマンドを実行します。
rfkill unblock bluetooth hciconfig hci0 up
- 次のコマンドを入力して、 viテキストエディターでbase-feeds.confファイルを開きます 。
vi /etc/opkg/base-feeds.conf
- このファイルに次を追加します。
src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
変更を保存して、エディターを終了します。
- Node.jsのBlenoパッケージが正しく機能するようにするには、次のコマンドを入力します。
rfkill unblock bluetooth killall bluetoothd hciconfig hci0 up
BLE-iBeacon Node.jsアプリケーションをボードにダウンロードする
ここでは、アセンブリを検討し、ボードにアップロードして、デバイスがBLEモジュールと連携できるようにするアプリケーションを起動します。
- Intel XDK IoT Editionの下部のツールバーで、 アップロードアイコンをクリックします。
プロジェクトをボードにアップロードします。
- 実行アイコンをクリックします
プロジェクトを開始します。
プログラムウィンドウの下部にあるコンソールに、MRAAを検出できないというメッセージが表示された場合は、ボード上のMRAAライブラリを更新する必要があります。 これを行うには、デーモン/ IoTデバイスの管理アイコンをクリックします

テスト中
アプリケーションがボード上で実行できた場合、これは戦いの半分です。 プロジェクトは、スマートフォンとBLE iBeaconデバイスで動作するように設計された適切なモバイルアプリケーションを使用してテストする必要があります。 そのようなアプリケーションでは、通常Locate Beaconと呼ばれるコマンドがあります 。 近くにあるビーコンを見つけて、それらまでの距離を計算できます。 以下に、 iOS用とAndroid 用の2つの適切なアプリを示します。
結論
Bluetooth Low Energyの機能を使用して、Intel EdisonまたはIntel GalileoからIntel iBeaconビーコンを作成し、近くにあるプレゼンスデバイスについて通知する方法について説明しました。 提案されたソリューションを使用するためのいくつかのオプションがあります。 最初のものは、小規模で教育的なプロジェクト向けに設計されており、エンドデバイスとしてのボードの使用を伴います。 別のオプションは、EdisonまたはGalileoに基づいた大規模な商用システムのプロトタイプを作成することです。 プロトタイプが期待どおりに機能する場合、ユニバーサルボードを特殊なビーコンに置き換えることができ、エジソンとガリレオを新しい実験に使用できます。