我想使用arduino和rfid-rc522阅读器从rfid标签获取数据我可以通过arduino串行监视器获取标签数据但我无法通过node.js获得正确的数据我得到的是所有相同的数字标签(每个标签应该有自己的号码)。 我从arduino监视器得到的是正确的:http://i.stack.imgur.com/3ukb7.png
以及我从node.js获得的内容:http://i.stack.imgur.com/wCXXN.png
我的node.js代码是:
var SerialPort = require("serialport").SerialPort;
var serialport = new SerialPort("COM4",{baudrate:9600});
serialport.on('open', function(){
serialport.on('data', function(data ){
console.log(data[0] );
});
});;
任何帮助解决这个问题将不胜感激。
答案 0 :(得分:0)
由于nodejs是基于事件的,因此您将获得块中的字符串切片,因为'数据'每次收到一个字节时都会触发事件。使用node-serialport parsers来汇总之前收到的数据,直到数据中包含一些' x'表示消息结束的字符。
var sp = new SerialPort("/dev/tty-usbserial1", {
parser: serialport.parsers.readline("\n") // '\n' can be any character of your choice
});
希望有所帮助