BLE動くまで帰れません

NefrockでWeb系の仕事をしている澤田といいます。

AI x ハードを標榜してやまない弊社でBLE熱が高まったので、その煽りを受けて、「YOU, BLEアプリ作っちゃいなYO」となったので、BLEなんぞ、組み込みなんぞ、という状態の中、ひとまずBLEのサンプルを手頃なモジュールで動かしてみました。  

Nordic謹製のBLESDKのインストールとIDEのインストールしてサンプルプロジェクトファイルをbuild&runして、お手隙のモジュール上でBLEサンプルプログラムが動作させてなんとか家に無事帰ることができた、という話です。 

今回のターゲットモジュール

なんか動かしたいんですけどーって雑に後藤さん*1に聞いたら、下のモジュールを貸してくれました。

f:id:hetakan:20200129204648j:plain
RedBearLab BLE Nano v2.0。かわいい。古くてもう手に入らないらしい

上部モジュールにはnRF52832というチップが載っていて、もちろんbluetoothも載ってます。

BLE対応SDKのダウンロード   

上のnRF52832に対応しているNordic社製のBLE対応SDKをダウンロードしておきます。
https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52832/Download から以下のzipをダウンロードしました:  

  • s112nrf52701.zip
  • nRF5SDK160098a08e2.zip

今回はnRF5SDK160098a08e2.zipだけを使うのでこれを適当なディレクトリに展開しておきます。

IDEのインストール

IDEとしてSegger Embeded Studio for ARM(以下、SES)をノリで選びました。 自分の開発PCはMacなので、 https://www.segger.com/downloads/embedded-studio/ からEmbedded Studio for ARM, macOSをv4.42で選択しダウンロードし、インストール。

Freeplanでアクティベーションコードを入力しました。 

サンプルコードを動かしたい

IDEは入れたはいいけど、どう動かすんだろう?
あぁ今日は帰れないぞー?と頭を抱えていると、
社長から「Stay calm」とこのリンクを授けられました。(第一情報大事)

読み漁っていると、どうたどり着いたのか忘れたのですが、公式がyoutubeでサンプルの動かし方を説明しているのを発見しました。

でもWindows用なんだよなぁ、と流して見ていると、先ほどのSDKのexamplesの中にプロジェクトファイル(拡張子が.emProjectのもの)をダブルクリックすれば勝手にIDEが開いてくれることが判明。まじか。

動画の通りに.emProjectファイルのものをダブルクリックするとプロジェクトがSES上で開く。おー。

ビルド、書き込み

予めPCのUSBスロットに先ほどのターゲットを挿しておきます。

SESのメニューの「Build」メニューから「Build and Run」を実行すると、 SESでクロスコンパイルやターゲットモジュールへの書き込みをしてくれました!

果たして、うまくいったのか。。?
ということで、手元のAndroid端末でnRF ConnectというNordic社製のアプリを使ってデバイスを探してみると。。。

f:id:hetakan:20200129214135j:plain
Nordic_HRMというやつ。

あった! 帰れる!!!
 

感想

大したことは本当にしてないのですが、サンプルは動いたので、
次は自分でSES上で書いたLチカプログラムをビルドして動かしたり、
SDKのBLEサンプル弄ったりしてみたいと思います。  

参考資料

https://www.nordicsemi.com/Software-and-tools/Development-Tools/Segger-Embedded-Studio/Get-Started#infotabs https://qiita.com/KentaHarada/items/341a0d5c9571da3aaf32 https://www.youtube.com/watch?v=o_H1USWAM18

*1:ゴリゴリのHWエンジニア