0

我想使用 Teensyduino 3.2 从我的 python 程序中读取串行输入。python程序使用“serial.tools.list_ports”库自动检测通过USB连接的Arduinos,代码如下:

#____________finding Arduino COM Ports______________

ports = list(ser.comports())

for p in ports:
    print(p)
    if "Arduino" in p.description:
        x = str(p)
        arduinoCOM = x[:5]

        print("")
        print("____________________________")
        print("Arduino found! arduinoPort:")
        print(arduinoCOM)
        print("____________________________")
        print("")

python程序的输出:

OM4 - USB Serial Device (COM4)
COM8 - Standard Serial over Bluetooth link (COM8)
COM51 - Arduino Uno (COM51)

____________________________
Arduino found! arduinoPort:
COM51
____________________________

COM7 - Standard Serial over Bluetooth link (COM7)
COM5 - USB Serial Device (COM5)
COM3 - Intel(R) Active Management Technology - SOL (COM3)

这适用于任何 Arduino 板,因为它们的连接显示为,例如:“Arduino Uno (COM51)”,如设备管理器中所示: 设备管理器截图工具.png

但是 Teensy(蓝色突出显示)仅显示为:“USB 串行设备(COM14)”。像这样,我的 python 代码无法区分任何 USB 设备和 Teensyduino。

如何将与我的 Teensyduino 的连接重命名为例如:“Teensyduino 3.2 (COM14)?

我已经尝试过的:

https://medium.com/@j0hnm4r5/changeing-teensy-serial-name-and-port-name-2ca76552d26d https://www.youtube.com/watch?v=nrT7WXFEEZI

非常感谢您!

亲切的问候利亚姆兹吉

4

1 回答 1

0

comports()方法返回一个ListPortInfo对象列表。

无需检查描述是否包含名称“Arduino”,您可以使用vidpid成员查看它们是否与 teensy 引导加载程序的匹配(您可以从 Windows 设备管理器中找到的属性中复制)。还包含许多您也可以使用的其他字段(例如字段)ListPortInfomanufacturer

于 2021-08-30T12:14:54.500 回答