如何使用NW.js和chrome.serialAPI设置串口连接?

How to setup serial port connection using NW.js and chrome.serial API?

我想我可以在 NW.js 中与串行端口通信,而无需像 node-serialport 那样的依赖性与针对不同平台的预编译二进制文件。

纯Node.js无法完成这个任务。但在NW.js中集成了ChromeAPI,在JavaScript中还集成了chrome.serialAPI,可以直接使用JavaScript设置串口连接。

如何实现?

列表

首先让我们获取可与之通信的设备列表:

chrome.serial.getDevices(function(ports) {
    for (let port of ports) {
        if (port.vendorId) {
            console.log(port);
        }
    }
});

您将获得指定 vendorId 的所有端口的列表,即现有设备。

示例结果:

{
    displayName: 'Arduino Uno'
    path: 'COM7',
    productId: 67,
    vendorId: 9025
}

属性 path 然后用于连接。


连接

使用默认设置连接:

var path = 'COM7';

chrome.serial.connect(path, {}, function(CI) {
    console.log('Connection ID: '+ CI.connecionId);
    console.log(CI);
});

现在你准备好了!