Bluetooth® 5認定SoCのRSL10を初めて評価してみた 第4弾「RSL10を用いてEddystone Beaconでデータ送信」

はじめに

今回は、オンセミ社のRSL10を用いてEddystone Beaconでデータ送信おこないます。
ここでは初めてRSL10を開発する方、これから開発する方にRSL10を用いてEddystone Beaconでデータ送信方法を案内します。

Eddystoneとは

Eddystoneとは、2015年714日にGoogleが発表したBLEの規格で、近接したBeaconの情報をBLE通信でアドバタイズするデータフォーマットを規定した仕様です。

また、Eddystoneには4つのフレームタイプがあります。

Eddystone-UID … ペイロードとして16byteUnique IDを送信
Eddystone-URL … ペイロードとしてBeacon自体がURLを送信
Eddystone-TLM … Beaconのバッテリー電圧や温度などのメンテナンス情報を送信
Eddystone-EID … 128Bitにて暗号化されたEID送信

用意するものと接続方法、開発ツール、開発環境の準備

用意するもの

・スマートフォン :RSL10で送信されたEddystone Beaconのデータを確認するために必要となります。

・評価ボード

RSL10-SIP-001GEVB

RSL10-SIP-001GEVB

ハードウェア接続方法

RSL10-SIP-001GEVBを以下のように接続してください。

開発ツール

・onsemi IDE:Eclipse®ベースの統合開発環境です。

onsemi IDE

開発環境の準備

開発環境の準備については、第一弾の記事を参照してください。

onsemi IDEで設計スタート

Eddystone Beaconでデータ送信のサンプルコードのインポート

1. オンセミ社の IDE の起動をおこないます。ON Semiconductor IDE を開くには、Windows [スタート] メニューから [ON Semiconductor] > [ON] を選択します。

2.「Example」タブをクリックすると、RSL10 CMSIS-Packに含まれるすべてのサンプルプロジェクトが一覧で表示されます。

3. Eddystone Beacon Firmware(Sleep,FOTA)(RSL10-COIN-GEVB)というサンプルプロジェクトを選択し、コピーボタンをクリックして、ワークスペースにインポートします。(図1参照)

図1 Pack Manager Perspective: Examples Tab

4. Project Explorer上に C/C++が開き、新しくコピーされたプロジェクト(ble_broadcaster_eddystone)が表示されます。

5. Project Explorer上のble_broadcaster_eddystoneフォルダーの中のmain.cをクリックする事でC言語でのコードが確認できます。(図2参照)

図2 Eddystone Beaconでデータ送信するC言語のコード確認方法

Eddystone Beaconでデータ送信のサンプルコードビルド方法

1.  ビルド前の準備としてincludeフォルダー内のapp.config.hファイルを右クリックし、Open Withにカーソルを合わせます。そしてCMSIS Configuration Wizardを選択し左クリックを押します。(図3参照)

図3 CMSIS Configuration Wizardの場所

2.  そしてEddystone Beacon ConfigurationHardware Configuration中身を以下の様に変更して、CtrlCを押します。(4参照)

・Eddystone Beacon Configuration 
Eddystone URLにチェックを入れる。

・Hardware Configuration
Board SelectionRSL10 Evaluation Boardを選択。
Temperature Sensor ConfigurationOperation modeではNot presentを選択。

図4 app.config.h内のCMSIS Configuration Wizardの中身について

3.同様にdefaultsファイルの内のapp_config_rsl10_evb.hでも同様に、ファイルを右クリックし、Open Withにカーソルを合わせます。そしてCMSIS Configuration Wizardを選択し左クリックを押します。

4. そしてEddystone Beacon ConfigurationHardware Configuration中身を同様に、以下の様に変更してCtrlCを押します。(5参照)
Eddystone Beacon Configuration
Eddystone URLにチェックを入れる。

・Hardware Configuration
Board SelectionRSL10 Evaluation Boardを選択。
Temperature Sensor ConfigurationOperation modeではNot presentを選択。

図5 app_config_rsl10_evb.hのCMSIS Configuration Wizardの中身について


5. ble_broadcaster_eddystone用のフォルダを右クリックし、Build Projectをクリックします。または、プロジェクトを選択し、[Build Project]をクリックします。

6. ビルドが実行されると、図6に示すようにビルドの出力がオンセミIDE C/C++上で表示されます。

図6 ビルド出力例


7. プロジェクトエクスプローラー上のDebugフォルダーに出力される主な結果は以下の通りです。(7参照)
Eddystone Beaconのデータ送信で使用するファイルはble_broadcaster_eddystone.elfになります。


図7 ビルドによる出力ファイル

Eddystone Beaconでデータ送信のサンプルコードのデバッグ方法

ble_broadcaster_eddystone.elfファイルを用いてデバッグをおこないます。

1. Project Explorer内でble_broadcaster_eddystone.elfファイルを右クリックし、Debug As > Debug Configurationsを選択します。

2. Debug Configurationsダイアログが表示されたら、GDB SEGGER J-Link Debuggingを右クリックしNew Configurationを選択します。GDB SEGGERの見出しの下にble_broadcaster_eddystone.elfの新しいコンフィギュレーションが表示されます。右側のパネルに新しいコンフィギュレーションの詳細が表示されます。

3. Debuggerタブに移動し、「デバイス名」欄に「RSL10」と入力します。ターゲット・インターフェースにSWDが選択されていることを確認してください。(図8参照)

図8 GDB起動設定およびDebuggerタブの設定


4. コンフィギュレーションの更新が完了したら、評価・開発ボードをマイクロUSBケーブルでPCに接続し、デバッグをクリックします。
J-Linkは自動的にble_broadcaster_eddystoneというサンプルコードをダウンロードし、RSL10 のフラッシュメモリーに保存します。

5. デバックをクリックした後に下記、図9ResumeF8)をクリックします。

図9 Resumeのクリック場所

BLE Scannerを用いたEddystone Beaconでデータ送信の確認方法

1.スマートフォンにてBLE Scannerというアプリをダウンロードします。こちらはRSL10にて送信されたEddystone Beaconのデータを確認するために、今回使用しました。


2. アプリを開いて左側のScanner箇所を選択します。

図11 BLE Scannerのアプリホーム画面


3.以下よりBLE Scannerを用いて、Eddystone Beaconでデータ送信されている事を確認できます。(12参照)

図12 BLE Scannerを用いて、Eddystone Beaconのデータ送信確認

さいごに

今回はRSL10を用いてEddystone Beaconでデータ送信をおこないました。

RSL10の評価に関する記事、第一弾~第三弾については、こちらのリンクを参照してください。
・第1弾LEDを点灯」
・第2弾 前編RSLでセンシング エラーが発生するまで」
・第2弾 後編「RSLでセンシング エラーの原因と解決方法」
・第3弾 「RSL10でBLE通信を用いたデモ環境の構築」

お問い合わせ

今回紹介した内容及び製品にご興味がある方は、ぜひお問い合わせください。

オンセミ メーカー情報Topへ

オンセミ メーカー情報Topに戻りたい方は以下をクリックしてください。