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 ] }