Python Serial 获取串口 VID

在Python中,我们可以使用第三方库pyserial来访问串口设备。通过串口连接,我们可以与各种硬件设备进行通信,比如Arduino、传感器等。有时候我们需要获取串口设备的厂商识别码(Vendor ID,简称VID)来识别设备的制造商,这对于设备的识别和通信非常有用。

安装 pyserial

首先,我们需要安装pyserial库。可以使用pip来进行安装:

pip install pyserial

获取串口 VID

下面是一个简单的Python代码示例,可以用来获取串口设备的VID:

import serial.tools.list_ports

def get_vid():
    ports = serial.tools.list_ports.comports()
    
    for port, desc, hwid in sorted(ports):
        vid = hwid.split(':')[0][4:]
        print(f"Port: {port}, VID: {vid}")

get_vid()

上面的代码首先使用list_ports函数获取当前连接的所有串口设备信息,然后遍历打印出每个串口设备的端口和VID。注意,在hwid中,VID的格式通常是VID_XXXX,我们通过对字符串进行截取来提取出VID部分。

序列图

下面是一个使用序列图表示上述代码的操作流程:

sequenceDiagram
    participant User
    participant Python
    participant pyserial
    
    User->>Python: 执行get_vid()
    Python->>pyserial: list_ports()
    pyserial-->>Python: ports
    loop For each port
        Python->>pyserial: port, desc, hwid
        pyserial-->>Python: vid
        Python->>Python: Print Port and VID
    end
    Python-->>User: 输出所有串口的VID

状态图

我们还可以使用状态图来描述获取串口VID的状态变化:

stateDiagram
    [*] --> Ready
    Ready --> GetPorts: list_ports()
    GetPorts --> ProcessPorts: 遍历串口设备
    ProcessPorts --> PrintVID: 输出端口和VID
    PrintVID --> Ready: 继续等待操作

通过以上的代码示例、序列图和状态图,我们可以清晰地了解如何使用Python的pyserial库来获取串口设备的VID。这对于串口通信和设备识别非常有帮助。希望这篇文章能对你有所帮助!