NodeJS读取TTY串口数据

4
我找不到任何使用Node.JS在计算机上简单读取串口的示例,似乎我不是唯一在寻找的人。
最近这是一个包含库,但我无法理解它!

http://nodejs.org/docs/v0.3.8/api/tty.html

有人有一个简单读取串口并仅将输出console.log的示例吗?

4个回答

4

@James,在Windows上配置串口,请尝试以下步骤:

var spawn = require('child_process').spawn 
  , command = 'MODE COM1:38400,N,8,1,P' 
  , cmd    = spawn('cmd', ['/s', '/c', command], { customFds: [0,1,2] }); 

cmd.on('exit', function(code){ 
    console.log(code);  
}); 

4

3
在Windows系统中,使用v0.5.2版本的node.exe下载即可实现此功能,无需插件。它以9600波特率读取COM1端口。
var fs = require('fs');
var inp = fs.createReadStream("\\\\.\\COM1");
inp.setEncoding('utf8');
var inptext = "";
inp.on('data', function (data) {
    inptext += data;
});

1
但是如何设置波特率、奇偶校验等呢?有人有什么想法吗? - James
COM连接设置在重启前是永久的。只需要在Windows上运行mode命令,例如mode com1: BAUD=115200 PARITY=N data=8 stop=1 xon=off - zupa

0

你看过最近文档上的例子吗?

var tty = require('tty');
tty.setRawMode(true);
process.stdin.resume();
process.stdin.on('keypress', function(char, key) {
  if (key && key.ctrl && key.name == 'c') {
    console.log('graceful exit');
    process.exit()
  }
});

我已经尝试过了,但是不知道如何打开例如/dev/tty.usbserial0这样的端口! - Lee Armstrong
Node.js中的tty模块用于访问控制台,而不是串口。 - James Newton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接