サイト内検索

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

はじめに

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

Eddystoneとは

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

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

Eddystone-UID … ペイロードとして16byteのUnique 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 ConfigurationとHardware Configuration中身を以下の様に変更して、Ctrl+Cを押します。(図4参照)

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

・Hardware Configuration
⇒Board SelectionでRSL10 Evaluation Boardを選択。
⇒Temperature Sensor ConfigurationのOperation 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 ConfigurationとHardware Configuration中身を同様に、以下の様に変更してCtrl+Cを押します。(図5参照)
・
Eddystone Beacon Configuration
⇒Eddystone URLにチェックを入れる。

・Hardware Configuration
⇒Board SelectionでRSL10 Evaluation Boardを選択。
⇒Temperature Sensor ConfigurationのOperation 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. デバックをクリックした後に下記、図9のResume(F8)をクリックします。

図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に戻りたい方は以下をクリックしてください。