You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell自动识别Arduino连接的串口号

PowerShell自动识别Arduino串口方案

查询Arduino当前串口号的方法

Windows系统会将所有已识别的串口设备信息存储在WMI类中,Arduino(含使用CH340、CP2102等USB转串口芯片的兼容板)的设备名会携带特定标识,直接运行以下PowerShell命令即可过滤出对应设备的串口号,输出的DeviceID字段即为COM端口号:

Get-CimInstance -ClassName Win32_SerialPort | Where-Object { $_.Name -match 'Arduino|CH340|CP210x|USB Serial Device|USB-SERIAL' } | Select-Object DeviceID, Name

自动识别串口的修改版脚本

将原脚本中固定写死的COM8替换为动态查询得到的端口即可,脚本同时增加了设备不存在的异常提示、串口资源安全释放逻辑:

# 查找已连接的Arduino设备端口
$arduinoCom = Get-CimInstance Win32_SerialPort | Where-Object {
    $_.Name -match 'Arduino|CH340|CP210x|USB Serial Device|USB-SERIAL'
} | Select-Object -First 1 -ExpandProperty DeviceID

if (-not $arduinoCom) {
    Write-Error "未检测到Arduino设备,请检查USB连接与驱动安装状态"
    exit 1
}

Write-Host "识别到Arduino端口:$arduinoCom,正在发送数据"
$serial = New-Object System.IO.Ports.SerialPort $arduinoCom,9600,None,8,one
try {
    $serial.Open()
    $serial.WriteLine("1")
    Start-Sleep -Milliseconds 50 # 短暂等待确保数据传输完成
}
finally {
    # 无论发送是否成功,都确保关闭串口释放资源
    if ($serial.IsOpen) {
        $serial.Close()
    }
}

适配说明

  • 如果使用小众兼容板出现识别不到的情况,打开设备管理器找到对应串口的设备名称,把名称里的特征关键字加到脚本的-match匹配规则中即可。
  • 若同时连接多台Arduino设备,上述脚本默认选择枚举到的第一台设备,需要指定特定设备时可在匹配规则中增加专属的设备名特征。

内容的提问来源于stack exchange,提问作者Adriano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 21:01:58