node.js - 制造商/描述等串行端口信息在 Windows 上不可用,但在 Linux 上可用,使用带有串行端口包的 node.js
问题描述
我编写了一个 node.js 脚本,通过 USB 串行端口连接到外部设备。外部设备使用来自 FTDI 的芯片,可在 USB 信号之间进行转换。我使用FT_Prog将制造商、描述、序列号等基本设备信息编程到该芯片,假设当我在我的 node.js 脚本(使用 serialport 包)中读取端口信息时提供了这些信息。
但是,我似乎无法在我的 Windows 系统上检索该信息。当我读取我连接的串口信息时,制造商总是FTDI,描述是undefined
。但是在使用 Linux 系统时,该信息是可用的。
这似乎是同一个话题。但据我了解,只要我用FT_Prog对芯片进行编程,我就应该能够获得信息。但它仍然无法正常工作。
那么为什么我不能在 Windows 上检索这些信息,但在 Linux 上呢?
提前致谢!
编辑
我正在使用的代码:
'use strict';
const serialPort = require('serialport');
searchFscPort();
function searchFscPort() {
serialPort.list().then(ports => {
for(let i = 0; i < ports.length; i++) {
if(ports[i].manufacturer == 'FTDI' || ports[i].manufacturer == 'ME') {
console.log('Path: ', ports[i].path);
console.log('Manufacturer: ', ports[i].manufacturer);
console.log('SN: ', ports[i].serialNumber);
console.log('lID: ', ports[i].locationId);
console.log('pID: ', ports[i].productId);
console.log('vID: ', ports[i].vendorId);
console.log('pnpID: ', ports[i].pnpId);
return;
}
}
});
}
在 Windows 上的结果:
path: COM4
manufacturer: FTDI
SN: 110
lID: undefined
pID: 6015
vID: 0403
pnpID: FTDIBUS\VID_0403+PID_6015+110A\0000
Linux 上的结果:
path: /dev/ttyUSB0
manufacturer: ME
SN: 110
lID: undefined
pID: 6015
vID: 0403
pnpID: usb-ME_FSC1_7_110-if00-port0
顺便说一句,似乎没有 node.js 属性来获取“制造商描述”?
解决方案
推荐阅读
- python - 如何在基于面部的考勤中为每一天创建一个单独的 CSV 文件,而不是覆盖现有的
- windows - Win10/Ubuntu16双启动系统如何将power BI连接到postgresql数据库?
- keras - 使用 keras image_dataset_from_directory 时如何添加标签?
- java - CSS中的背景图像属性不起作用
- timezone - Nuxt JS 在用户的时区显示日期和时间
- android - 如何在 Compose 函数的按钮单击中启动 Intent
- typescript - 如何从 Firebase Cloud Functions 中调用 Google Places API?
- php - Laravel 需要 2 次登录 1 基于 account_type 的表需要重定向不同的地方
- typescript - 打字稿 - 异步,等待和承诺不等待
- r - 如何在 Mac 上将 RSelenium 与 Firefox 或 Chrome 配置文件一起使用?