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="停止位")