You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

24 lines
1.1 KiB

from pydantic import BaseModel, Field
from typing import Optional
class ATCommandRequest(BaseModel):
"""AT指令请求模型"""
command: str = Field(..., description="AT指令内容")
timeout: Optional[int] = Field(5, description="响应超时时间(秒)", ge=1)
wait_response: Optional[bool] = Field(True, description="是否等待响应")
class ATCommandResponse(BaseModel):
"""AT指令响应模型"""
success: bool = Field(..., description="执行是否成功")
command: str = Field(..., description="发送的指令")
response: str = Field(..., description="设备响应")
execution_time: float = Field(..., description="执行时间(秒)")
class SerialConnectionInfo(BaseModel):
"""串口连接信息模型"""
port: str = Field(..., description="串口名称")
baudrate: int = Field(115200, description="波特率")
timeout: int = Field(5, description="超时时间(秒)")
bytesize: int = Field(8, description="数据位")
parity: str = Field("N", description="校验位")
stopbits: int = Field(1, description="停止位")