Silicon Labs BGM220xワイヤレスGeckoスターターキットの使い方②【サンプルプロジェクトの作成・ビルド・動作確認】

こんにちは、ムセンコネクトCMOの清水です。
連載企画「シリコンラボ(Silicon Labs)製BLE開発キットBGM220x Wireless Gecko Module Start Kitを使ってみました」の第2回目です(企画の趣旨や概要説明はこちらの記事をご覧ください)。
前回の「開発環境の構築」に続き、今回は「サンプルプロジェクトの作成・ビルド・動作確認」です。
サンプルプロジェクトの作成
今回はサンプルプロジェクトから”Bluetooth – SoC iBeacon”のプロジェクトを作成します。
SSv5のプロジェクトは、下記3つのダイアログのシーケンスを通して作成されます。
- Target, SDK, and Toolchain Selection
 - Example Project Selection
 - Project Configuration
 
LauncherパースペクティブのFileメニュー > New > Silicon Labs Project Wizardを選択して、”Target, SDK, and Toolchain Selection”ダイアログからプロジェクトの作成を開始します。

1. Target, SDK, and Toolchain Selectionダイアログ
ターゲットデバイス(評価ボード)が接続または選択されていると、全ての情報が事前に入力されます。
”NEXT”をクリックする。

2. Example Project Selectionダイアログ
チェックボックスまたはキーワード(例:ここではBluetoothを入力)で目的のサンプルプロジェクトを見つけ、それを選択して”NEXT”をクリックします。


3. Project Configurationダイアログ
プロジェクト名、および”Link sdk and copy project sources”がチェックされていることを確認し”FINISH”をクリックします。

”With project files”の3つの選択により、コピーするリソースとリンクするリソースを制御します。
| With project files | 説明 | 
|---|---|
| Link to source | ソースもライブラリもオリジナルを参照 | 
| Link sdk and copy project sources | SDK(ライブラリ)はオリジナルを参照し、ソースはローカルにコピーして使用(デフォルトの設定) | 
| Copy contents | ライブラリもソースもローカルにコピーして使用 | 
プロジェクトの作成完了

プロジェクトの作成が完了するとSimplicity IDEパースペクティブが開きます。

サンプルプロジェクトのビルド
ここでは、Simple buildでプロジェクトをビルドし、アプリケーションイメージを作成します。
Simple build
Simplicity IDEパースペクティブツールバーの”Build(hammer)” ボタンをクリックします。


ビルドが正常に終了するとConsoleタブに”Build Finished. 0 errors, …”と表示されます。

サンプルプロジェクトの動作確認
ここでは、Simple buildでビルドしたイメージをターゲットデバイスにロードし、動作確認を行います。
デバッガの起動
Simplicity IDEパースペクティブツールバーの”Debug(bug)”ボタンをクリックします。

ビルド完了後、イメージのロードの開始時に以下の警告ダイアログが表示されたときは、”Yes”をクリックします。


イメージロード完了後、Debugパースペクティブが起動し、デバッグセッションを開始します。
サンプルプログラムの実行
デバッグツールバーのResumeボタンをクリックし、サンプルプログラムを実行します。

iBeaconデータ(Advertisingデータ)が一定間隔(本サンプルプロジェクトでは100msecのインターバル)でAdvertise(送信)されます。
Advertisingデータの設定内容の確認
EFR Connect(スマートフォンのアプリ)でAdvertisingデータを確認する前に、本サンプルプロジェクトのAdvertisingデータの設定内容を確認します。
Advertisingデータはアプリケーション関数void bcn_setup_adv_beaconing(void)内で設定しています。

以下は、本サンプルプログラムで設定されるAdvertisingデータです。
| 項目 | サイズ(Octet) | 値 | ||
|---|---|---|---|---|
| Length | 1 | 0x02 | ||
| Data | AD Type | 1 | 0x01 ※Flags | |
| AD Data | Flags | 1 | 0x06 | |
| Length | 1 | 0x1A | ||
| Data | AD Type | 1 | 0xFF ※Manufacture Specific Data | |
| AD Data | Company ID | 2 | 0x004C ※Apple | |
| Beacon type | 2 | 0x0215 | ||
| UUID | 16 | 0xE2C56DB5DFFB48D2B060D0F5A71096E0 | ||
| Major | 2 | 0x88AB | ||
| Minor | 2 | 0x0401 | ||
| Measured Power | 1 | 0xD7(-41dBm) | ||
Advertisingデータの受信
シリコンラボ社が提供しているEFR Connect(スマートフォンのアプリ)でAdvertisingデータを受信します。





以上でサンプルプロジェクトの動作確認で完了です。
