はじめに
今回は、オンセミ社の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を以下のように接続してください。
![](/business/semiconductor/articles/b7e9d4c87f100e39cd57327f96892477_1.png)
開発ツール
・onsemi IDE:Eclipse®ベースの統合開発環境です。
![onsemi IDE](/business/semiconductor/articles/ONSEMIIDE.png)
開発環境の準備
開発環境の準備については、第一弾の記事を参照してください。
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参照)
![](/business/semiconductor/articles/b5561a8159723a8aa17fc186a5ebef5e.png)
4. Project Explorer上に C/C++が開き、新しくコピーされたプロジェクト(ble_broadcaster_eddystone)が表示されます。
5. Project Explorer上のble_broadcaster_eddystoneフォルダーの中のmain.cをクリックする事でC言語でのコードが確認できます。(図2参照)
![](/business/semiconductor/articles/04cb8ee3840b757f17045151360a0949.png)
Eddystone Beaconでデータ送信のサンプルコードビルド方法
1. ビルド前の準備としてincludeフォルダー内のapp.config.hファイルを右クリックし、Open Withにカーソルを合わせます。そしてCMSIS Configuration Wizardを選択し左クリックを押します。(図3参照)
![](/business/semiconductor/articles/3816110c8d9ba1160bfc821a64026e04.png)
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を選択。
![](/business/semiconductor/articles/22f29a5f0b446e5c820e2515673bfc07.png)
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を選択。
![](/business/semiconductor/articles/6f9f95a711e3e0b4080f0619cba3f963.png)
5. ble_broadcaster_eddystone用のフォルダを右クリックし、Build Projectをクリックします。または、プロジェクトを選択し、[Build Project]をクリックします。
6. ビルドが実行されると、図6に示すようにビルドの出力がオンセミIDE C/C++上で表示されます。
![](/business/semiconductor/articles/febd8e255e19405341be760584d89a06.png)
7. プロジェクトエクスプローラー上のDebugフォルダーに出力される主な結果は以下の通りです。(図7参照)
Eddystone Beaconのデータ送信で使用するファイルはble_broadcaster_eddystone.elfになります。
![](/business/semiconductor/articles/d5a7a269ec2ed9121f89c86aa1ac237a.png)
図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参照)
![](/business/semiconductor/articles/eb4d4cd5a8410d49a5ef377acbaebe93.png)
4. コンフィギュレーションの更新が完了したら、評価・開発ボードをマイクロUSBケーブルでPCに接続し、デバッグをクリックします。
J-Linkは自動的にble_broadcaster_eddystoneというサンプルコードをダウンロードし、RSL10 のフラッシュメモリーに保存します。
5. デバックをクリックした後に下記、図9のResume(F8)をクリックします。
![](/business/semiconductor/articles/f7a998fcd371585adad637ebc096e483.png)
BLE Scannerを用いたEddystone Beaconでデータ送信の確認方法
1.スマートフォンにてBLE Scannerというアプリをダウンロードします。こちらはRSL10にて送信されたEddystone Beaconのデータを確認するために、今回使用しました。
2. アプリを開いて左側のScanner箇所を選択します。
![](/business/semiconductor/articles/29d57c8ba7382786fd31895c160c71f2.png)
3.以下よりBLE Scannerを用いて、Eddystone Beaconでデータ送信されている事を確認できます。(図12参照)
![](/business/semiconductor/articles/f20c93b8eb51d5b70fc1a2b6d59adeab.png)
さいごに
今回はRSL10を用いてEddystone Beaconでデータ送信をおこないました。
・第1弾「LEDを点灯」
・第2弾 前編「RSLでセンシング エラーが発生するまで」
・第2弾 後編「RSLでセンシング エラーの原因と解決方法」
・第3弾 「RSL10でBLE通信を用いたデモ環境の構築」
お問い合わせ
今回紹介した内容及び製品にご興味がある方は、ぜひお問い合わせください。
オンセミ メーカー情報Topへ
オンセミ メーカー情報Topに戻りたい方は以下をクリックしてください。