如何重命名Teensyduino 3.2的串口连接以实现Python自动识别?
修改Teensyduino 3.2串口设备名称,实现Python自动识别
问题背景
你的Python代码通过检测串口设备描述中的Arduino关键词来识别开发板,但Teensyduino 3.2默认在Windows设备管理器中显示为USB Serial Device (COMx),导致无法被现有代码识别。下面是无需外部链接的具体解决步骤:
方法1:使用Teensyduino官方工具修改(推荐)
Teensy官方提供了直接修改设备描述的功能,操作简单且稳定:
- 打开安装了Teensyduino插件的Arduino IDE
- 点击顶部菜单栏的Tools → USB Type
- 在弹出的选项窗口中,选择你当前使用的USB模式(比如
Serial,或你需要的Serial + MIDI等组合模式) - 此时会出现USB Description输入框,输入你想要的设备名称,比如
Teensyduino 3.2 - 点击OK,重新上传代码到Teensyduino
- 重新插拔Teensy的USB线,此时设备管理器中就会显示你设置的名称,比如
Teensyduino 3.2 (COM14)
之后只需要把Python代码的判断条件改成if "Teensyduino" in p.description:,就能自动识别它了。
方法2:手动修改Windows设备友好名称
如果上述方法不生效,可以直接修改系统注册表来更改设备显示名称:
- 打开设备管理器,找到Teensy对应的
USB Serial Device (COMx) - 右键点击设备,选择属性,切换到详细信息选项卡
- 在属性下拉菜单中选择设备实例路径,复制完整路径(格式类似
USB\VID_16C0&PID_0483\XXXXXX) - 按下
Win + R输入regedit打开注册表编辑器 - 导航到路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\,粘贴刚才复制的设备实例路径,找到对应的子项 - 右键新建字符串值,命名为
FriendlyName;如果已有该值,直接双击编辑 - 输入你想要的名称,比如
Teensyduino 3.2 (COM14),保存后关闭注册表 - 刷新设备管理器,设备名称就会更新完成
额外优化:让Python代码兼容多设备
为了同时识别Arduino和Teensyduino,还可以优化你的Python代码,让端口提取更可靠:
#____________finding Arduino/Teensy COM Ports______________ ports = list(ser.comports()) for p in ports: print(p) if "Arduino" in p.description or "Teensyduino" in p.description: # 更通用的COM端口提取方式,适配1位/2位/3位端口号 boardCOM = p.device print("") print("____________________________") print(f"Board found! Port: {boardCOM}") print("____________________________") print("")
这里直接使用p.device获取端口号,比硬编码截取字符串更可靠,能自动适配不同长度的COM编号。
内容的提问来源于stack exchange,提问作者Liamzgi
相关产品推荐
相关产品推荐

