node-serialport
次のコードでnode-xbee
使用され、Router AT 構成の XBee シリーズ 2 から着信 XBee フレームを読み取ります。ポテンショメータはAD0
、XBee のピン 20 アナログ入力ピンに接続されています。4 つのアナログ ピンAD0
、AD1
、AD2
がAD3
すべて有効で、 のみAD1
が何かに接続されています。
受信したdata
配列をどのように解釈しますか? frame_object
0V が XBee に供給されると、data
elements で終わる配列を受け取ります0, 0, 2, 14, 2, 8, 2, 15
。3.3V が XBee に供給されると、data
配列は elements で終了します3, 255, 3, 255, 3, 255, 3, 255
。
これらの生の値をより意味のあるものに変換するにはどうすればよいでしょうか? 3, 255
3.3V を表す値のペアのように見えますか? しかし、どのようにし3, 255
て電圧の読み取り値を取得するのでしょうか?
シリアル ポート データの読み取り
var SerialPort = require('serialport').SerialPort;
var xbee_api = require('xbee-api');
var C = xbee_api.constants;
var xbeeAPI = new xbee_api.XBeeAPI({
api_mode: 1
});
var serialport = new SerialPort("/dev/cu.usbserial-A702NY8S", {
baudrate: 9600,
parser: xbeeAPI.rawParser()
});
xbeeAPI.on("frame_object", function(frame) {
console.log("OBJ> "+util.inspect(frame));
});
XBeeピンに0Vが供給されたときのXBeeフレーム
OBJ> { type: 145,
remote64: '0013a20040b19213',
remote16: '56bc',
receiveOptions: 232,
data: [ 232, 0, 146, 193, 5, 1, 1, 0, 0, 15, 0, 0, 2, 14, 2, 8, 2, 15 ] }
OBJ> { type: 145,
remote64: '0013a20040b19213',
remote16: '56bc',
receiveOptions: 232,
data: [ 232, 0, 146, 193, 5, 1, 1, 0, 0, 15, 0, 0, 2, 16, 2, 14, 2, 14 ] }
OBJ> { type: 145,
remote64: '0013a20040b19213',
remote16: '56bc',
receiveOptions: 232,
data: [ 232, 0, 146, 193, 5, 1, 1, 0, 0, 15, 0, 0, 2, 17, 2, 11, 2, 9 ] }
XBeeピンに3.3Vが供給されたときのXBeeフレーム
OBJ> { type: 145,
remote64: '0013a20040b19213',
remote16: '56bc',
receiveOptions: 232,
data: [ 232, 0, 146, 193, 5, 1, 1, 0, 0, 15, 3, 255, 3, 255, 3, 255, 3, 255 ] }
OBJ> { type: 145,
remote64: '0013a20040b19213',
remote16: '56bc',
receiveOptions: 232,
data: [ 232, 0, 146, 193, 5, 1, 1, 0, 0, 15, 3, 255, 3, 255, 3, 255, 3, 255 ] }
OBJ> { type: 145,
remote64: '0013a20040b19213',
remote16: '56bc',
receiveOptions: 232,
data: [ 232, 0, 146, 193, 5, 1, 1, 0, 0, 15, 3, 255, 3, 255, 3, 255, 3, 255 ] }