【紹介動画も公開中】ムセンコネクト著書『Bluetooth無線化講座―プロが教える基礎・開発ノウハウ・よくあるトラブルと対策―』絶賛発売中

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”をクリックします。

keywordを入力してサンプルプロジェクトを探す
iBeaconプロジェクトを選択

3. Project Configurationダイアログ

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

”Link sdk and copy project sources”を選択

”With project files”の3つの選択により、コピーするリソースとリンクするリソースを制御します。

With project files説明
Link to sourceソースもライブラリもオリジナルを参照
Link sdk and copy project sourcesSDK(ライブラリ)はオリジナルを参照し、ソースはローカルにコピーして使用(デフォルトの設定)
Copy contentsライブラリもソースもローカルにコピーして使用

プロジェクトの作成完了

プロジェクト作成中

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

プロジェクト作成完了

サンプルプロジェクトのビルド

ここでは、Simple buildでプロジェクトをビルドし、アプリケーションイメージを作成します。

以下は、プロジェクト作成完了後、Project Explorerでmain.cをダブルクリックして、main.cを開いたときの画面です。

Simple build

Simplicity IDEパースペクティブツールバーの”Build(hammer)” ボタンをクリックします。

Buildボタンをクリック
ビルド中

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

ビルド完了

サンプルプロジェクトの動作確認

ここでは、Simple buildでビルドしたイメージをターゲットデバイスにロードし、動作確認を行います。

デバッガの起動

Simplicity IDEパースペクティブツールバーの”Debug(bug)”ボタンをクリックします。

Debugボタンをクリック

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

上記ダイアログが出た場合はYesをクリック

SDK側で定義されているSE firmwareのVersionと実際に基板に書かれているSE firmwareのVersionが異なる場合に出る警告のようです。

デバッグ中

イメージロード完了後、Debugパースペクティブが起動し、デバッグセッションを開始します。

サンプルプログラムの実行

デバッグツールバーのResumeボタンをクリックし、サンプルプログラムを実行します。

Resumeボタンをクリック

iBeaconデータ(Advertisingデータ)が一定間隔(本サンプルプロジェクトでは100msecのインターバル)でAdvertise(送信)されます。

Advertisingデータの設定内容の確認

EFR Connect(スマートフォンのアプリ)でAdvertisingデータを確認する前に、本サンプルプロジェクトのAdvertisingデータの設定内容を確認します。

Advertisingデータはアプリケーション関数void bcn_setup_adv_beaconing(void)内で設定しています。

advertisingデータの設定

以下は、本サンプルプログラムで設定されるAdvertisingデータです。

項目サイズ(Octet)
Length10x02
DataAD Type10x01 ※Flags
AD DataFlags10x06
Length10x1A
DataAD Type10xFF ※Manufacture Specific Data
AD DataCompany ID20x004C ※Apple
Beacon type20x0215
UUID160xE2C56DB5DFFB48D2B060D0F5A71096E0
Major20x88AB
Minor20x0401
Measured Power10xD7(-41dBm)

Advertisingデータの受信

シリコンラボ社が提供しているEFR Connect(スマートフォンのアプリ)でAdvertisingデータを受信します。

①Google PlayからEFR Connectをダウンロード
②EFR Connectを起動
③Develop画面を開き、Browserをタップ
④リストから対象のデバイスをタップ
⑤受信したiBeaconデータを確認

複数のiBeaconデバイスが発見された場合は、発見デバイスをタップしUUIDをチェックして対象のデバイスであることを確認します。

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

連載第3回目は「SSv5のTips」をご紹介します。

よろしければシェアをお願いします
目次