Intel EdisonおよびGalileo iBeaconビーコンの作成方法

Bluetooth Smartとも呼ばれるBluetooth Low Energyテクノロジーを使用して、 iBeaconビーコンを作成できます。 灯台は定期的に周囲のデバイスにその存在を通知し、適切なアプリケーションを備えたデバイスが灯台までの距離を決定し、特定のアクションを実行します。 このようなシステムが博物館に設置されている場合、訪問者のスマートフォンは、展示ホールでの人物の位置に基づいて、展示に関する追加情報を表示できます。 同じスキームを使用して、たとえば、店舗の割引や、特定のスペースにいるユーザーとやり取りするためのその他のオプションを提供できます。







本日は、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エジソン



BLE iBeaconをサポートする新しいプロジェクトを作成する



ここでは、コード例を使用して、ボードがBLEを使用してその存在を周囲のデバイスに通知できるようにするプロジェクトを作成する方法について説明します。



  1. Intel XDK IoT Editionを起動します。
  2. プログラムウィンドウの左上で、[ プロジェクト ]タブをクリックします。
  3. [ 新しいプロジェクト開始 ]ボタンをクリックします。









    Intel XDK IoT Editionで新しいプロジェクトを作成する



  4. Internet of Things Embedded Applicationsグループで、 Templatesをクリックします。









    アプリケーションテンプレートの選択に移動します



  5. ウィンドウの左側で、 (BLE)BLE-iBeaconアイコンをクリックします。 その後、[ 続行 ]ボタンをクリックします。









    テンプレートの選択



  6. [ プロジェクト名]フィールドにプロジェクト名を入力し、[ 作成 ]ボタンをクリックします 。 新しいプロジェクトが作成され、XDKで開かれます。









    プロジェクト作成



ボード上のBLEを有効にする



ここでは、ボードでBLEを有効にする方法について説明します。 以下の手順を実行するには、Intel XDK IoT Editionで利用可能なブックマークツールSSHターミナルまたはシリアルターミナルを使用してボードに接続する必要があります。 XDKのシリアルポートを介してボードへのターミナル接続を整理する方法の詳細を記載した便利なリンクを次に示します。





接続が確立されたら、次を実行します。



  1. SSHセッションで、または端末を介して接続する場合、次のコマンドを実行します。



    rfkill unblock bluetooth hciconfig hci0 up
          
          





  2. 次のコマンドを入力して、 viテキストエディターbase-feeds.confファイル開きます



     vi /etc/opkg/base-feeds.conf
          
          





  3. このファイルに次を追加します。



     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
          
          





    変更を保存して、エディターを終了します。



  4. Node.jsのBlenoパッケージが正しく機能するようにするには、次のコマンドを入力します。



     rfkill unblock bluetooth killall bluetoothd hciconfig hci0 up
          
          





BLE-iBeacon Node.jsアプリケーションをボードにダウンロードする



ここでは、アセンブリを検討し、ボードにアップロードして、デバイスがBLEモジュールと連携できるようにするアプリケーションを起動します。



  1. Intel XDK IoT Editionの下部のツールバーで、 アップロードアイコンをクリックします。 プロジェクトをボードにアップロードします。



  2. 実行アイコンをクリックします プロジェクトを開始します。



プログラムウィンドウの下部にあるコンソールに、MRAAを検出できないというメッセージが表示された場合は、ボード上のMRAAライブラリを更新する必要があります。 これを行うには、デーモン/ IoTデバイスの管理アイコンをクリックします ウィンドウの右下部分で、[ ボード上のライブラリを更新]を選択します



テスト中



アプリケーションがボード上で実行できた場合、これは戦いの半分です。 プロジェクトは、スマートフォンとBLE iBeaconデバイスで動作するように設計された適切なモバイルアプリケーションを使用してテストする必要があります。 そのようなアプリケーションでは、通常Locate Beaconと呼ばれるコマンドがあります 。 近くにあるビーコンを見つけて、それらまでの距離を計算できます。 以下に、 iOS用Android 用の2つの適切なアプリを示します。



結論



Bluetooth Low Energyの機能を使用して、Intel EdisonまたはIntel GalileoからIntel iBeaconビーコンを作成し、近くにあるプレゼンスデバイスについて通知する方法について説明しました。 提案されたソリューションを使用するためのいくつかのオプションがあります。 最初のものは、小規模で教育的なプロジェクト向けに設計されており、エンドデバイスとしてのボードの使用を伴います。 別のオプションは、EdisonまたはGalileoに基づいた大規模な商用システムのプロトタイプを作成することです。 プロトタイプが期待どおりに機能する場合、ユニバーサルボードを特殊なビーコンに置き換えることができ、エジソンとガリレオを新しい実験に使用できます。



All Articles