nodejs – 从串口读取

我一直在四处寻找答案…

基本上,我想从串口读取数据(在这种情况下,通过USB)。 我已经查看了node-serialport模块,但是在串口的第一个结果之后,它一直停滞不前。 我希望它只是在收到数据时才吐出数据。 就好像一个缓冲区正在填满,需要刷新一下?

我稍微修改了我在这里find的演示代码 – https://github.com/voodootikigod/node-serialport/tree/master/tests

这是我的代码:

var sys = require("sys"), repl = require("repl"), serialPort = require("serialport").SerialPort; // Create new serialport pointer var serial = new serialPort("/dev/tty.usbmodem1d11" , { baudrate : 9600 }); // Add data read event listener serial.on( "data", function( chunk ) { sys.puts(chunk); }); serial.on( "error", function( msg ) { sys.puts("error: " + msg ); }); repl.start( "=>" ); 

我使用的是Arduino,因此9600波特率。

任何帮助将是真棒,欢呼声,

詹姆士

我也遇到了串口读取的问题。 这是由于node.js v4.7中的一个错误(请参阅此问题 )

然而,切换到旧版本的Node.js(v4.0)后,它工作。

它也可以使用版本高达v4.6,但我还没有validation。

节点串行端口的作者。 我已经跟踪了这个问题,这是由于node.js中的IOWatcher编译问题。 我已经修改了从串口读取的策略,现在应该在所有情况下按照devise进行工作。 请确保您使用的是node-serialport 0.2.6或更高版本。

现在出去,build立JS控制的机器人!