node-serialport
和node-xbee
来从RouterB配置中的XBee系列2读取传入的XBee帧。一个电位器连接到XBee的20引脚AD0
模拟输入引脚。所有4个模拟引脚AD0
,AD1
,AD2
,AD3
已启用,只有AD1
连接到某物。使用Node-XBee和Node-SerialPort从XBee了解串行数据在以下代码中使用
如何解释frame_object
中收到的data
数组? Theres显然是一个趋势,当0V被馈送到XBee时,我们收到一个数组data
10,结束元素0, 0, 2, 14, 2, 8, 2, 15
。当3.3V供给XBee时,data
阵列以元素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帧时的XBee销被供给0V
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帧时的XBee销被馈送3.3V
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 ] }