2016年7月17日日曜日

BLEnanoをサンプルアプリのBluetooth通信でLチカする方法


備忘録としてメモを残します。

使ったもの

  • BLEnano開発キット
    スイッチサイエンスDegiKeyで買えます。
  • ネット接続されたPC
  • mbedのオンラインエディタ
  • スマートフォン(以下スマホ)
  • redbearのスマホアプリ

全体像

  1. オンラインエディタでプログラムを作成
  2. BLEnanoにサンプルプログラムを書き込み
  3. スマホにサンプルアプリをインストール
  4. スマホからLEDを操作

オンラインエディタでプログラムを作成

BLEnanoはmbedのオンラインエディタでプログラミングができます。
なお、オンラインエディタを利用するには、ARMmbedに会員登録またはログインする必要があります。

下記リンクの右側にある「Add to your mbed Compiler」というボタンをクリックすると、ARMmbedログイン後だとオンラインエディタが表示されます。
なお、一度オンラインエディタでBLEnanoに関する編集を可能にした後は、ボタンが「open mbed Compiler」に変わります。

https://developer.mbed.org/platforms/RedBearLab-BLE-Nano/


最初はプロジェクトが無いので、画面左上の「新規」をクリックしてプロジェクトの追加を行います。


アプリと連携するプログラムのテンプレート「SimpleControls works with the BLEcontroller iOS/Android App.」を選択します。


テンプレートのサンプルプログラムが追加されます。


サンプルプログラムがアプリから操作できるピンはLEDと繋がっていないP0_9が割り当てられています。
動作確認を簡単にするために、main.cppを編集してアプリで操作できるピンをLEDに繋がっているP0_19に変更します。
//#define DIGITAL_OUT_PIN                  P0_9       //TXD
#define DIGITAL_OUT_PIN                  P0_19

編集ができたら「コンパイル」ボタンをクリックしてプログラムをコンパイルします。


コンパイルが成功したら、400KB位のhexファイルのダウンロードが始まります。
このファイルをBLEnanoに書き込みます。

BLEnanoにサンプルプログラムを書き込み

BLEnanoをPCに接続します。


MBEDというメディアとして認識されます。


このメディアに先程の手順で取得したhexファイルを配置します。
ドラッグドロップでも、コマンド操作でも構いません。

自分の場合は下記のようなコマンドで配置しています。
cp ~/Downloads/BLENano_SimpleControls_RBLAB_BLENANO.hex /media/asuki/MBED/

書き込みが終わったら、デバイスが自動的に再起動します。
これでアプリと連動できるようになりました。

スマホにサンプルアプリをインストール

Android版iOS版が用意されています。


playstoreやitunesでredbearで検索すると出てくると思います。
インストールできたら、いよいよBLEnanoを操作します。

動作確認

メニューからSimple Controlsを選択します。


Simple Controlsモードになったら、「Scan」をクリックしてBluetoothデバイスをスキャンします。
確認できない場合は、BLEnanoを再起動して、アプリのスキャンをやり直してみてください。


スキャンが成功すると「Biscuit」というデバイスが表示されます。


デバイスをクリックすると操作画面が表示されます。
「Digital Out」を操作することで、LEDの状態が変わるはずです。


ONの時は、LEDが点灯します。


YES(OFF)の時は、LEDが消灯します。


以上です。
何かの参考になれば嬉しいです。

参考

http://redbearlab.com/blenano/

更新履歴

2017.11.17
「遅延が無いからラジコンのリモコンに使える」というを記述していましたが、使えるかどうかはそのリモコンに求める性能によるので、適切ではないと判断して記述を削除しました。

0 件のコメント :