制造商/描述等串行端口信息在 Windows 上不可用,但在 Linux 上可用,使用带有串行端口包的 node.js

问题描述

我编写了一个 node.js 脚本,它通过 USB 串行端口连接到外部设备。外部设备使用来自 FTDI 的芯片,可以与 USB 信号进行转换。我使用 FT_Prog 将基本设备信息(如制造商、描述、序列号等)编程到该芯片中,假设在我读取 node.js 脚本(使用 serialport 包)中的端口信息时提供了这些信息。
但是,我似乎无法在 Windows 系统上检索该信息。当我读取我连接的串口信息时,制造商始终是FTDI,描述是undefined。但是当使用 Linux 系统时,这些信息是可用的。

This 似乎是同一个话题。但据我所知,只要我用 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

这是我在芯片中编程的内容

enter image description here

顺便说一句,似乎没有 node.js 属性获取“制造商描述”?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)