以前 BLE Nano の V1 で Lチカしてみた記事を書いたことがありますが、 BLE Nano は後継機の V2 が出てスイッチサイエンス等でも購入できるのは V2 のみになっています。
そこで今回は改めて BLE Nano の V2 でとりあえず Lチカまでをやってみました。 V1 と同様に初めて BLE Nano を使う場合は書き込み用のボードが必要なので、セットになったものを買うと良いのですが、 V1 の時に買ったものがあるので、そちらを使ってみました。
下記の画像のように V1 と V2 ではピン配置なども違うので、実装にあたっては注意が必要ですが、プログラムの書き込みだけであれば V1 の時のものも使えそうです。
オンラインのコンパイラで環境設定
まずはオンラインのコンパイラで環境設定から。チュートリアルは下記サイトに公開されていますので、こちらに従ってやってみます。
mbed で開発をするにはまずは対象のボードを選択する必要があります。 BLE Nano の V1 の時は対象のボードとしても BLE Nano が選択できたのですが、 V2 はまだ対象のボードの選択肢には含まれていません。 V2 では SoC が V1 の Nordic nRF51822 から nRF52832 に変更になっていたりしますので、 V1 を選択して使うわけにもいきません。現状ではチュートリアルでも紹介れているように、 nRF52832 を搭載した開発ボードである nRF52-DK を対象として選択して開発するようです。
上記開発ボードのページの右側に Add to your Mbed Compiler
というボタンがありますので、これをクリックするとオンラインのコンパイラにボードが追加されます。
次にコンパイラの画面に移って、右上のボード選択用のボタンをクリックします。
ボードの選択画面が開きますので、 nRF52-DK を選択してから右上の Select Platform
ボタンをクリックします。
Lチカ実行
ここまででひとまず設定は終わりなのでプログラムを用意します。コンパイラの左上の 新規 > 新しいプログラム
から新規のプログラムを作成します。
新しいプログラムの作成ダイアログが開いたら、プラットフォーム、テンプレート、プログラム名を下記のように設定して OK
をクリックします。
すると下記のように Lチカのコードが含まれたプログラムが作成されます。
デフォルトでは LED のピンの指定が LED
となっていますので、これを BLE Nano V2 の LED のピン番号である P0_11 に変更して、下記のようなコードにします。
#include "mbed.h" DigitalOut led1(P0_11); // main() runs in its own thread in the OS int main() { while (true) { led1 = !led1; wait(0.5); } }
今回のコードはこれだけなので、画面上部の コンパイル
をクリックしてコンパイルを実行します。
正常にコンパイルされると mbed-os-example-blinky_NRF52_DK.bin
というファイルが生成されますので、これを DAPLINK として認識されている BLE Nano V2 に保存(アップロード)します。試した限りではアップロードが終わったら一度 BLE Nano V2 を抜いて挿し直さないとプログラムが実行されませんでした。
まとめ
BLE Nano V2 そのものについての mbed でのサポートはまだ不十分なようですが、とりあえず Lチカだけであれば nRF52-DK をターゲットとすることで実行することができました。今回は CLI でのコンパイルと実行まではできませんでしたが、今後試してみたいと思います。また、 BLE を使った実装については、 nRF52832 を使ったサンプルはあまり多くなさそうなので、ちょっと苦戦しそうかなと思っています。