mbed HRM1017 (3)konashi.jsでナイトライダー
前回と同じく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にアクセスして、そこで作ります。今回使用するのは、
- mbed HRM1017でもナイトライダー!(※新しいタイプのコードに書き換えないと動作しません)
になります。
これを編集などしたい場合は、「Fork」のボタンがあるので、それをクリックして、複製を作れば、自分用に「Edit」可能になります。
プログラムは、JavaScript, HTML, CSSのタブをクリックして、それぞれにプログラムを書き込めます。説明文などは、Readmeに書きます。
今回のLEDを順に転送させるというプログラムの本質部分は、JavaScriptの中の以下の図のところになります。全部の説明はしてられませんので、そこだけ簡単に書いておきます。
- setIntervalで0.1秒ごとにLEDを光らせるk.digitalWriteAllを送信
- PIOのオン・オフは、1バイトのビットで0〜7番ピンを表しています。k.digitalWriteAllで光らせるピン番号のビットを立てて送信します。
mbedのプログラム
今回のサンプルは「BLE_Knight_Rider_PIO_Sample(※新しいタイプのコードに書き換えないと動作しません)」です。「Import this program」で取り込んで下さい。
A)ピンの設定
B)サービスおよびPIOデータのキャラクタリスティック
使うサービスおよびキャラクタリスティックは、konashiのサービスおよびPIOデータのキャラクタリスティックと同じに設定します。
- KONASHI_SERVICE_UUID = 0xFF00
- KONASHI_PIO_OUTPUT_UUID = 0x3002
になります。
C)データ処理
GattServerEventHandlerで送られたデータを受け取ります。
受け取ったデータは、以下の「DoPio」で処理するようにしました。
PIOのデータは1バイトで、それぞれのビットでピンに設定したP0_0〜P0_7ピンまでのオン・オフを示すようになっているので、OUTをオン・オフするような処理をします。
配線
「 (3)konashi.jsでナイトライダー」と同じです。1から4番ピンを行ったり来たりするようにしてるので、P0_1,P0_2,P0_3,P0_4にLEDを繋げています。
Warning
LEDなどを接続する際には、FETなどでドライブするようにしてください。
nRF51822のポートは0.5mAまでしか流せません。
画像のLEDは抵抗入りのLEDを使ってます。
動作テスト
App Storeからkonashi.jsアプリをダウンロード
動作チェック
- konashi.jsを起動
- Userからmicutilを検索
- 「mbed HRM1017でもナイトライダー!」をタップ
- 「矢印」をタップ
- 「Find」をタップして接続
どうでしたか?うまくLEDが点灯したでしょうか?私はJavaScriptとかWebアプリ系のことは苦手なんですが、とりあえず手っ取り早く作れて、テストできて、公開できるというメリットがkonashi.jsにはありますかね
----------------
にほんブログ
| 固定リンク
「無線(mbed HRM1017)」カテゴリの記事
- mbed HRM1017 (7)techBASICでナイトライダー(2014.07.28)
- mbed HRM1017 (5)温度を計測(konashi.js編)(2014.07.26)
- mbed HRM1017 (4)温度を計測(nRF Toolbox編)(2014.07.22)
- mbed HRM1017 (3)konashi.jsでナイトライダー(2014.07.29)
この記事へのコメントは終了しました。
コメント