【发布时间】:2023-03-20 23:43:02
【问题描述】:
我找不到任何使用 Node.JS 在机器上简单地读取串行端口的示例,而且我似乎不是唯一一个在寻找的人。
最近它是一个包含库,但我无法理解它!
http://nodejs.org/docs/v0.3.8/api/tty.html
有没有人有一个简单地读取串行端口并只是 console.log 输出的例子?
【问题讨论】:
我找不到任何使用 Node.JS 在机器上简单地读取串行端口的示例,而且我似乎不是唯一一个在寻找的人。
最近它是一个包含库,但我无法理解它!
http://nodejs.org/docs/v0.3.8/api/tty.html
有没有人有一个简单地读取串行端口并只是 console.log 输出的例子?
【问题讨论】:
尝试查看node-serialport 模块源码。
【讨论】:
在 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;
});
【讨论】:
mode com1: BAUD=115200 PARITY=N data=8 stop=1 xon=off
@James,要在 windows 上配置 comport 试试这个:
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);
});
【讨论】:
你看过最近docs上的例子吗?
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()
}
});
【讨论】: