首页 > 解决方案 > 制造商/描述等串行端口信息在 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 属性来获取“制造商描述”?

标签: node.jswindowsserial-portftdi

解决方案


推荐阅读