node.js - 使用 Node.js 将字节发送到串行端口

标签 node.js serial-port node-serialport

我计划使用 Node.js 进行串行端口通信的 POC。我用谷歌搜索并找到了 Node.js 的“serialport”模块。我有一个 C# 代码,它将数据以 byte 数据类型写入串行端口。我想使用 Node.js 尝试同样的操作。 C# 代码在 byte[] 数组中具有以下值:

5, 170, 85, 250, 0, 86, 0, 3, 158, 0

谁能告诉我如何使用 Node.js 的串口模块来实现这一点?

最佳答案

我终于明白了。只需创建一个缓冲区变量(如文档中所述)并将这些字节添加到其中。将其写入串行端口。以下是对我有用的 block :

var buffer = new Buffer(10);
buffer[0] = 0x05;
buffer[1] = 0xAA;
buffer[2] = 0x55;
buffer[3] = 0xFA;
buffer[4] = 0x00;
buffer[5] = 0x56;
buffer[6] = 0x00;
buffer[7] = 0x03;
buffer[8] = 0x9E;
buffer[9] = 0x00;

var com = new SerialPort(COM1, {
    baudRate: 38400,
    databits: 8,
    parity: 'none'
}, false);

com.open(function (error) {
    if (error) {
        console.log('Error while opening the port ' + error);
    } else {
        console.log('CST port open');
        com.write(buffer, function (err, result) {
            if (err) {
                console.log('Error while sending message : ' + err);
            }
            if (result) {
                console.log('Response received after sending message : ' + result);
            }    
        });
    }              
});

关于node.js - 使用 Node.js 将字节发送到串行端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26068550/

相关文章:

node.js - 如何信任使用 https 的自签名证书?

node.js - 捕获 stdout 和 stderr 以测试 Node.js CLI

linux - 确定哪个 USB 设备是/dev/ttyUSB0

node.js - 使用 Node 和串行端口 Node 包在同一端口上发送/接收数据

javascript - 是pjscrape慢还是PhantomJS慢?替代刮刀?

javascript - 如何逐行读取文件中的行并检查行是否为空?

c# SerialPort PinChanged 事件处理

linux - 在 baltos ir2110 上访问 u-boot 和内核调试控制台

linux - node.js 和 serialport 无法列出任何端口

node.js - Node 串行端口在 Alpine linux 上失败