如何使用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.serial
API,可以直接使用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);
});
现在你准备好了!
我想我可以在 NW.js 中与串行端口通信,而无需像 node-serialport 那样的依赖性与针对不同平台的预编译二进制文件。
纯Node.js无法完成这个任务。但在NW.js中集成了ChromeAPI,在JavaScript中还集成了chrome.serial
API,可以直接使用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);
});
现在你准备好了!