« mbed HRM1017 (7)techBASICでナイトライダー | トップページ | 「週刊 ロビ」 第70号 »

mbed HRM1017 (3)konashi.jsでナイトライダー

Knight700

前回と同じくLチカですが、今回はkonashi.jsを使ってCentralなアプリを自作したみたいと思います。

konashi.jsについて

mbedのBLEモジュールができて、Peripheral側は気軽に作れるようになりましたが、Central側のアプリを作るのが結局大変ですよね。

mbed HRM1017と同じく、konashiというBLEモジュールがありますが、konashiは、iOSのSDKが公開され、それを使ってプログラムを作れます。さらに、konashiはkonashi.jsとういのが出ていて、JavaScript, CSS, HTMLを駆使してWebアプリとして作ったものが利用できます。

私はWebアプリは苦手なので、思ったようなプログラムを作ることはできないんですが、jsdo.itを使って簡単にプログラムを作れて、公開できるという、お手軽さ感はあります。

今回はkonashi.jsを使ってmbed HRM1017を動かしてみる訳ですが、konashiが使っているサービスおよびキャラクタリスティックに合わせてmbedのプログラムを作れば、konashi.jsから利用できるということになりますね

konashi.jsのプログラム

mbed HRM1017でもナイトライダー!※新しいタイプのコードに書き換えないと動作しません)」という、konashi.jsのプログラムを作ってみました。これは以前「SBBLEでもナイトライダー!」というのを作ったんですが、JavaScriptの本質部分のプログラムは同じで、表示される名称や、ReadMeなどの説明をmbed HRM1017用に書き換えただけのものです。

プログラミングは、パソコンのブラウザなどで、jsdo.itにアクセスして、そこで作ります。今回使用するのは、

になります。

これを編集などしたい場合は、「Fork」のボタンがあるので、それをクリックして、複製を作れば、自分用に「Edit」可能になります。

Safariscreensnapz044

プログラムは、JavaScript, HTML, CSSのタブをクリックして、それぞれにプログラムを書き込めます。説明文などは、Readmeに書きます。

今回のLEDを順に転送させるというプログラムの本質部分は、JavaScriptの中の以下の図のところになります。全部の説明はしてられませんので、そこだけ簡単に書いておきます。

  • setIntervalで0.1秒ごとにLEDを光らせるk.digitalWriteAllを送信
  • PIOのオン・オフは、1バイトのビットで0〜7番ピンを表しています。k.digitalWriteAllで光らせるピン番号のビットを立てて送信します。

Safariscreensnapz042

mbedのプログラム

今回のサンプルは「BLE_Knight_Rider_PIO_Sample※新しいタイプのコードに書き換えないと動作しません)」です。「Import this program」で取り込んで下さい。

A)ピンの設定

Safariscreensnapz047

B)サービスおよびPIOデータのキャラクタリスティック

使うサービスおよびキャラクタリスティックは、konashiのサービスおよびPIOデータのキャラクタリスティックと同じに設定します。

  • KONASHI_SERVICE_UUID = 0xFF00
  • KONASHI_PIO_OUTPUT_UUID = 0x3002

になります。

Safariscreensnapz046

Safariscreensnapz045

C)データ処理

GattServerEventHandlerで送られたデータを受け取ります。
Safariscreensnapz048

受け取ったデータは、以下の「DoPio」で処理するようにしました。

PIOのデータは1バイトで、それぞれのビットでピンに設定したP0_0〜P0_7ピンまでのオン・オフを示すようになっているので、OUTをオン・オフするような処理をします。
Safariscreensnapz043

配線

「 (3)konashi.jsでナイトライダー」と同じです。1から4番ピンを行ったり来たりするようにしてるので、P0_1,P0_2,P0_3,P0_4にLEDを繋げています。
Knight700x

Warning

LEDなどを接続する際には、FETなどでドライブするようにしてください。
nRF51822のポートは0.5mAまでしか流せません。
画像のLEDは抵抗入りのLEDを使ってます。

動作テスト

App Storeからkonashi.jsアプリをダウンロード

動作チェック

  1. konashi.jsを起動
  2. Userからmicutilを検索
  3. mbed HRM1017でもナイトライダー!」をタップ
  4. 「矢印」をタップ
  5. 「Find」をタップして接続

Img_5498_2 Img_5538

Img_5537 Img_5539

どうでしたか?うまくLEDが点灯したでしょうか?私はJavaScriptとかWebアプリ系のことは苦手なんですが、とりあえず手っ取り早く作れて、テストできて、公開できるというメリットがkonashi.jsにはありますかね

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ

Photo  

|

« mbed HRM1017 (7)techBASICでナイトライダー | トップページ | 「週刊 ロビ」 第70号 »

無線(mbed HRM1017)」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: mbed HRM1017 (3)konashi.jsでナイトライダー:

« mbed HRM1017 (7)techBASICでナイトライダー | トップページ | 「週刊 ロビ」 第70号 »