gpt4 book ai didi

node.js - 使用 Node 串行读取串行端口

转载 作者:太空宇宙 更新时间:2023-11-04 02:39:55 24 4
gpt4 key购买 nike

我正在尝试在 Ubuntu 中使用磁条阅读器读取 RS232 串行端口。我有一个工作正常的 USB(ID-Tech)。但我正在尝试让 Ne​​uron 阅读器也能工作。我一般不熟悉串行端口通信,但通过 Node 串行,我编写了一个简单的应用程序,它可以等待设备:

node tester.js /dev/ttyS0 

然后吐出读卡器的输出。与 USB ID-Tech 读卡器配合使用效果很好,但当我插入串行端口设备时,我什么也没得到。我也有点不确定如何判断它正在使用哪个串行端口。有没有更好的工具来“探测”Ubuntu 中的串行端口并找出 Mag Reader 正在使用哪个串行端口?

更新

围绕它进行研究似乎可以使用的工具是:

sudo cat /dev/ttyS0

我遇到的问题是设备连接到哪个端口,在 ttyS0,1,2,3 上执行上述操作不会执行任何操作,并且应该从设备中转储一些输出。但是我不确定是否需要先运行:

sudo inputattach -dump /dev/ttyS0

这只是卡在光标处,我想尝试为读卡器输入键盘类型,但同样的问题仍然挂起。 dmesg | 的输出grep ttyS 显示已启用的端口:

[    1.906700] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 1.927250] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 1.947758] serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
[ 1.968273] serial8250: ttyS3 at I/O 0x2e8 (irq = 3) is a 16550A
[ 1.990199] 00:04: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 2.010770] 00:05: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[ 2.031335] 00:06: ttyS2 at I/O 0x3e8 (irq = 5) is a 16550A
[ 2.051952] 00:07: ttyS3 at I/O 0x2e8 (irq = 11) is a 16550A

最佳答案

插入设备后,您可以运行此 Node 代码并检查每个端口的信息。您可能会认出一些东西,这就是您正在寻找的端口。

var serialport = require("serialport");

serialport.list(function (err, ports) {
ports.forEach(function(port) {

console.log("pnpId: " + port.pnpId);
console.log("manufacturer: " + port.manufacturer);
console.log("comName: " + port.comName);
console.log("serialNumber: " + port.serialNumber);
console.log("vendorId: " + port.vendorId);
console.log("productId: " + port.productId);
});
});

然后使用以下方式连接:

var myPort = new SerialPort("/dev/ttyACM0", { // replace ttyACM0 with the right port on your computer
baudrate: 115200,
parser: serialport.parsers.readline("\r\n")
});

希望对你有帮助!

关于node.js - 使用 Node 串行读取串行端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17603304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com