6月 112014
<< ble-firmata npm作った || Node.jsでプロセス終了前に何か処理する >>
前:Bluetoothが載ってるArduino派生ボード「BlendMicro」とNode.jsでBLEした
Bluetooth Low Energyが載ったArduinoMicroであるBlendMicroと、Node.jsで通信するためのライブラリを作った。
serialport npmと似たAPIで使えるようにしたので、けっこうわかりやすいと思う。
https://www.npmjs.org/package/blendmicro
https://github.com/shokai/blendmicro-node
動かん、意味不明、等の苦情要望はgithubかtwitterにお願いします。
ADCに接続した照度センサをBLEで読むのも簡単にできる
インストール
% npm install blendmicro
使う
基本的にREADMEやサンプルに書いたけど軽く紹介すると
arduino側で名前を宣言して、ble_begin()する。
#include <SPI.h>
#include <boards.h>
#include <RBL_nRF8001.h>
void setup(){
ble_set_name("BlendMicro"); // デバイスの名前を宣言、最大10文字
ble_begin();
}
node側から名前でデバイス探して接続できる。
var BlendMicro = require('blendmicro');
var bm = new BlendMicro("BlendMicro"); // 名前で接続
接続したら”open”イベントが発火するので、その後で”data”イベントで読んだり
bm.on('open', function(){
console.log("open!!");
bm.on("data", function(data){ // Bufferが返ってくる
console.log(data.toString());
});
});
文字列やBufferを書き込んだりできる
bm.write("hello");
bm.write( new Buffer([1,2,3]) );
このへんはserialport npmとほぼ同じだと思う。
bm.closeで閉じれる。
デバイス側から閉じられたらbm.on(“close”, callback)が発火する。