从node.js和arduino serialport中的arduino串口接收值

时间:2014-08-29 13:05:12

标签: javascript c node.js arduino rfid

我想使用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]   );






    });
});;

任何帮助解决这个问题将不胜感激。

1 个答案:

答案 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
});

希望有所帮助