surga Lab

読者です 読者をやめる 読者になる 読者になる

surga Lab

営業部でも開発したい!!

BLE Nanoを試してみました

特別深い意味はありませんが、BLEしたくなったので買いました。
そういうのって大事だと思うんです。

これがBLE Nanoです

f:id:hisurga:20170410212607j:plain

小さいです。

f:id:hisurga:20170410212608j:plain

下のUSB部は書き込み用です。
上に乗っているさらにちっさいのが本体です。

f:id:hisurga:20170410212609j:plain

こんな感じで書き込みます。

f:id:hisurga:20170410212610j:plain

スイッチサイエンスで購入しました。

RedBearLab BLE Nanoキット

RedBearLab BLE Nanoキット

BLE Nanoへプログラミングする方法

以下の方法があります。

mbedでやる

オンラインコンパイラを利用したプログラミングです。
オンラインでバイナリデータを作って放り込めば完成らしい。

今回はARM CPUへの開発になるので、本来ならこっちが自然かもしれないですね。

Arduinoでやる

慣れているので今回はこっちでいきます。
ただなんだかんだmbedと同じようなコードになるみたいです。

Keilでやる

よーわからんです

GCCでやる

よーわからんです

ではArduinoでいきましょう

BLE Nanoのサイトは以下になりますが、Arduinoプログラミングに関してはRedBearLab nrf51822のリファレンスへ誘導されます。

BLE Nano — RedBear

以下のサイトがRedBearLab nrf51822用です。同じnrf51822を使っているので内容は同じなんでしょうね。

ややこしいですが、nrf51822はARMのBLE内蔵CPUチップでRedBearLab nrf51822はその開発用ボードです。

Getting Started - nRF51822 — RedBear

準備

とりあえずArduino IDEにBLE Nanoを対応させるために以下GitHub/READMEの指示に従います。

GitHub - RedBearLab/nRF51822-Arduino: Add support for Arduino IDE to allow compiling nRF51822 firmware.

Arduino IDEを開いて
Setting > ボードマネージャの追加に

https://redbearlab.github.io/arduino/package_redbearlab_index.json

を追加します。

するとTools -> Board -> Boards Manager …にRedBearが表示されるのでインストールします。

f:id:hisurga:20170412004714p:plain

続いてBLE Nanoにbootloaderを書き込みます。
bootloaderフォルダ以下にある"bootloader.hex"を書き込み機のマウント名"MBED" か “DAPLINK"直下にコピーしてください。
しばらくするとBLE Nanoが再起動しますので、再マウントされたフォルダにfailがなければ成功です。

サンプルファイルを書き込んでみる

Arduino IDEのツールから書き込み設定をBLE Nano用に選択します

  • ボードをBLE Nano(新旧あるので注意)
  • 書込装置をMBED or DAPLINK

Arduino IDEのファイル > スケッチの例 > Digital > Blink without Delay で試しに書き込んでみましょう。

BLE Nanoの裏面LEDが点滅するようになったら成功です。

BLEを試す

せっかくなのでBLEの機能も試しましょう。
スケッチの例 > BLE_Example > SimpleChat
を書き込みます。

今回はAndroidと通信を行うためgoogle play storeからアプリを落とします。
対応バージョンは4.3以上で、かつ端末がBLEに対応している必要があります。

play.google.com

iOSはこちらです。

BLE Controller

BLE Controller

  • RedBear
  • ユーティリティ
  • 無料

Arduino IDEでシリアルモニタも開いておきます。

まずはアプリのメニューからでSimple Chatを選択し、検索で出てきたBLE Nanoを選択します。

f:id:hisurga:20170412005902p:plain:w300

続いてアプリ側からメッセージを送ってみます。

f:id:hisurga:20170412005903p:plain:w300

上手くいくとシリアルモニタに文字列が表示されます。

f:id:hisurga:20170412005905p:plain

今度は逆にシリアルモニタからメッセージを送ってみます。

f:id:hisurga:20170412005906p:plain

上手くいくとアプリ側にも文字列が表示されます。

f:id:hisurga:20170412005904p:plain:w300

とりあえず動作検証を問題なく終えることができました。

あとは一体何を作るのか、ですね。