その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

【改訂版】BLE112 / 113 の開発環境を Mac に構築する

iOSデバイス同士とか、既製プロダクトと BLE で通信する場合は Core Bluetooth フレームワークが扱えれば問題ないのですが、新規でウェアラブルデバイスや、iOSと連携する何らかのガジェットとかを開発しようとすると、プロジェクト内の立場上は「iOS エンジニア」だとしても、ある程度 BLE モジュール側のことも知っていないと、ハード屋さんとの意思疎通がなかなか難しい場合があります。(相手がCore Bluetooth等、iOS側に精通していれば話は別ですが。。)


メジャーな BLE モジュールである Bluegiga の BLE112、BLE113 は、「開発キット」 (Development Kit) というものが販売されています。





これらは、ディスプレイ・USBインターフェース・バッテリーボックス・デバッガ・確認用のセンサ等々、BLEモジュールの開発・検証に必要な諸々がボードにビルトインされており、細々と部品を集めて回路を組んだりしなくても、買ってすぐに BLE モジュールのファームウェア開発を始められるようになっています。


ここでは、このDevelopment Kitを使ってBLEファームウェアを開発するのに必要な環境を Mac 上に構築する手順をまとめておきます。

工場出荷時点の Development Kit

BLE112 / BLE113 Development Kit は、購入して電源を入れるだけで、下記のように ディスプレイに温度が表示されます。


(工場出荷状態の BLE112 Development Kit)


アドバタイジングも開始されているので、BLExplr や自前 Core Bluetooth 実装等で確認することもできます。

Windows の仮想環境を用意する

関連ツールの何もかもが Windows 版しか用意されてないので、とにかく Windows 環境が必要になります。


ここでは 無料 の仮想化ソフト VirtualBox を用いて、Windows の仮想環境を Mac OSX 上に構築します。


基本的に下記ページの手順通りでうまくいったのですが、


一点だけ違ったのは、 初回起動時に Virtual Disk Image を求められる ことでした(ちなみに私が使用したVirtualBoxのバージョンは 4.3.10 です)。


インストールメディア(Windowsのインストールディスク)の Virtual Disk Image は下記のように作成します。

  1. OSのインストールメディアをドライブに入れる
  2. Disk Utility を起動して [New Image] (→ .dmg ファイルが生成される)
  3. 2で作成した .dmg ファイルを `~/Library/VirtualBox` に置いておく。

あとはダイアログで上記 .dmg ファイルを選択すれば、インストールが始まります。

BGScriptの開発環境を用意する

BGScript 専用のIDE、みたいなのはないので、既存の Windows 用テキストエディタ "notepad++" をカスタマイズして使用します。

notepad++をインストール

ググれば本家ダウンロードサイトも出てきますし、Bluegiga の Documentation and Software のページ からもダウンロードできます。


途中でPlugin フォルダを有効にするかどうかのチェックボックスがあるので、有効にしておきます。

シンタックスハイライトやコード補完が効くようにする

notepad++で、BGScript 編集時にシンタックスハイライトやコード補完が効くようにします。


Bluegiga の Documentation and Software のページ から

[PC Tools] > [BGScript Syntax Highlighting for Notepad++]

をダウンロードし、下記手順を踏みます。

  1. Notepad++ を起動
  2. Notepad++のメニューから [Language] > [Defined your language...] を選択
  3. [Import...] をクリックし、 "userDefineLang_BGScript.xml" ファイルを選択
  4. "BGScript.xml" ファイルを '\plugins\APIs' にコピーする
  5. notepad++ を再起動

Bluetooth Smart Software and SDK をインストール

Bluegiga の Documentation and Software のページ から

[Software Releases] > [Bluetooth Smart Software and SDK v.1.2.2] 

を選び、インストールします。

USBドングルを認識させる

Development Kit に付属している BLE112 USB ドングルを Mac に接続します。


VirtualBoxのWindows環境をシャットダウンさせた状態で、 [Settings] > [Ports] の USB タブを選択し、USB Device Filters に Bluegiga Low Energy Dongle を追加します。


※これをやらないと、仮想環境側にドングルを認識させようとしたときに "USB device in use by someone else" とエラーが出ます(参考記事:linux - Virtualbox: "USB device in use by someone else" error, how to make (mac) host let go? - Stack Overflow


いったんUSBドングルを抜いて、仮想環境を起動し、USBドングルを挿し直すと、ドライバのインストールが開始されます。


デバイスドライバのインストールに成功したら、ドングルは抜いてもOK。

CC Debugger を Windows 側に認識させる

CC Debugger は、BLE112 / 113 (で使用している TI のチップ)のデバッグを行ったり、プログラムを書き込んだりするためのデバイスです。


BLE113 の開発キットでは、CC Debugger は、Development Kit にビルトイン されています。


BLE112 開発キットの場合は、下記のように接続します。


(CCデバッガをBLE112開発キットに接続した状態)


そしてボードと Mac を接続し、VirtualBox メニューから

[Devices] > [USB Devices] > [Texas Instruments CC Debugger [xxxx]]  

を選択します。


Windows(仮想マシン)側でデバイスドライバのインストールが開始され、完了すると、デバイスマネージャーで Cebel controlled devices が確認できるようになります。

動作確認

ライセンスキーを控えておく

僕のように、手順を無視して TI の Flash Programmer から書き込んだりすると、License Keyが消えBluegigaにRequestを送って返信を待つ という面倒なことになるので、念のため License Key を控えておきます。


Bluegiga BLE SW Update Tool の "Info" をクリックすると、License Key が表示されます。


ビルド&プログラム書き込み

C:\Bluegiga\ble-1.2.2-100\example フォルダか、Bluegiga の Documentation and Software のページ からダウンロードできる Examples から、適当なプロジェクトを選び、BGScriptのプロジェクトファイル(拡張子 .bgproj)を Bluegiga BLE SW Update Tool で開きます。


諸々問題なければ Update ボタンをクリックすればビルド&プログラム書き込みが行われます。