USB Serial
模块 API 手册#
概述#
USB Serial 模块提供了通过 USB 串口进行数据通信的功能。本模块实现了标准的流协议接口,支持读写操作。
该模块支持通过 AT 指令与 4G 模块通信。
API 介绍#
Serial 类属于 usb 模块。
构造函数#
Serial(path, timeout_ms=300)
#
创建一个 USB Serial 对象。
参数:
path
(str): 串口设备路径timeout_ms
(int): 读写超时时间,单位为毫秒,默认为 300ms
返回值:
USB Serial 对象
示例:
from usb import Serial
# 创建 USB Serial 对象
serial = Serial("/dev/ttyUSB1", timeout_ms=300)
方法#
open([path])
#
打开 USB 串口设备。
参数:
path
(str, 可选): 如果提供,将使用此路径代替构造函数中指定的路径
返回值:
True
: 打开成功False
: 打开失败
示例:
serial.open() # 使用构造函数中指定的路径
serial.open("/dev/ttyUSB2") # 使用新路径
close()
#
关闭 USB 串口设备。
示例:
serial.close()
read(size)
#
从串口读取数据。
参数:
size
(int): 要读取的字节数
返回值: 读取到的数据(bytes 类型)
readinto(buf)
#
将数据读取到缓冲区中。
参数:
buf
(bytearray): 目标缓冲区
返回值: 实际读取的字节数
readline()
#
读取一行数据,直到遇到换行符或超时。
返回值: 读取到的行数据(bytes 类型)
write(buf)
#
向串口写入数据。
参数:
buf
(bytes/bytearray): 要写入的数据
返回值: 实际写入的字节数
属性#
path
#
获取或设置串口设备路径。
示例:
print(serial.path) # 获取当前路径
serial.path = "/dev/ttyUSB1" # 设置新路径
timeout_ms
#
获取或设置读写超时时间(毫秒)。
示例:
print(serial.timeout_ms) # 获取当前超时时间
serial.timeout_ms = 1000 # 设置超时时间为1秒
流协议支持#
USB Serial 对象实现了标准的流协议,可以直接用于需要流对象的场合。
示例:
# 使用 readline() 方法读取一行数据
line = serial.readline()
# 使用 write() 方法写入数据
serial.write(b"Hello World\n")
注意事项#
在对象销毁时会自动调用
close()
方法关闭串口所有读写操作都受
timeout_ms
参数控制如果串口未打开,调用读写方法会抛出 OSError 异常
默认设备路径为 “/dev/ttyUSB1”,请根据实际设备修改