gpt4 book ai didi

python - 使用pyserial识别给定USB VID和PID的USB到串行端口

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:15 25 4
gpt4 key购买 nike

我是 python 的新手。我想创建一个网络应用程序来发送短信或使用数据卡打电话。我一直在使用数据卡发送短信,但我的问题是,如果我同时使用多个数据卡连接,如何检查哪个 USB 端口工作正常。所以我想获取 usb 序列号或 usb pid 或 vid。

import serial.tools.list_ports;
reslt = serial.tools.list_ports.comports()
print serial.tools.list_ports.ListPortInfo.name

结果:

[('/dev/ttyS31', 'ttyS31', 'n/a'), ('/dev/ttyS30', 'ttyS30', 'n/a'),
('/dev/ttyS29', 'ttyS29', 'n/a'), ('/dev/ttyS28', 'ttyS28', 'n/a'),
('/dev/ttyS27', 'ttyS27', 'n/a'), ('/dev/ttyS26', 'ttyS26', 'n/a'),
('/dev/ttyS25', 'ttyS25', 'n/a'), ('/dev/ttyS24', 'ttyS24', 'n/a'),
('/dev/ttyS23', 'ttyS23', 'n/a'), ('/dev/ttyS22', 'ttyS22', 'n/a'),
('/dev/ttyS21', 'ttyS21', 'n/a'), ('/dev/ttyS20', 'ttyS20', 'n/a'),
('/dev/ttyS19', 'ttyS19', 'n/a'), ('/dev/ttyS18', 'ttyS18', 'n/a'),
('/dev/ttyS17', 'ttyS17', 'n/a'), ('/dev/ttyS16', 'ttyS16', 'n/a'),
('/dev/ttyS15', 'ttyS15', 'n/a'), ('/dev/ttyS14', 'ttyS14', 'n/a'),
('/dev/ttyS13', 'ttyS13', 'n/a'), ('/dev/ttyS12', 'ttyS12', 'n/a'),
('/dev/ttyS11', 'ttyS11', 'n/a'), ('/dev/ttyS10', 'ttyS10', 'n/a'),
('/dev/ttyS9', 'ttyS9', 'n/a'), ('/dev/ttyS8', 'ttyS8', 'n/a'),
('/dev/ttyS7', 'ttyS7', 'n/a'), ('/dev/ttyS6', 'ttyS6', 'n/a'),
('/dev/ttyS5', 'ttyS5', 'n/a'), ('/dev/ttyS4', 'ttyS4', 'n/a'),
('/dev/ttyS3', 'ttyS3', 'n/a'), ('/dev/ttyS2', 'ttyS2', 'n/a'),
('/dev/ttyS1', 'ttyS1', 'n/a'), ('/dev/ttyS0', 'ttyS0', 'n/a'),
('/dev/ttyUSB3', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB2', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB0', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506')]

为了

import serial.tools.list_ports;
print [port for port in serial.tools.list_ports.comports() if port[2] != 'n/a']

结果:

[('/dev/ttyUSB3', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB2', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506'),
('/dev/ttyUSB0', 'Huawei Technologies Co., Ltd. Modem/Networkcard ',
'USB VID:PID=12d1:1506')]

我在学习http://pyserial.readthedocs.org/en/latest/tools.html

请帮助我如何获得 USB VID、USB 序列号等。

最佳答案

正如@Peter 在他的评论中所说,在较新版本的 PySerial(当前版本为 3.4)中,您可以轻松获取端口信息,例如描述、PID、VID、HWID、名称、序列号等。

例如:

for port in serial.tools.list_ports.comports():
print(port.hwid)

关于python - 使用pyserial识别给定USB VID和PID的USB到串行端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34967369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com