2026-01-25 22:34:33 +08:00
|
|
|
|
"""设备抽象层。
|
|
|
|
|
|
|
|
|
|
|
|
用于统一不同设备(真实硬件、仿真设备、Mock)的连接与状态查询接口。
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
2026-01-19 14:27:41 +08:00
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
|
|
from dataclasses import dataclass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
|
|
|
|
class DeviceInfo:
|
2026-01-25 22:34:33 +08:00
|
|
|
|
"""设备信息快照(可用于 API 输出)。"""
|
|
|
|
|
|
|
2026-01-19 14:27:41 +08:00
|
|
|
|
device_id: str
|
|
|
|
|
|
device_type: str
|
|
|
|
|
|
connected: bool
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class DeviceAdapter:
|
2026-01-25 22:34:33 +08:00
|
|
|
|
"""设备适配器接口(异步)。"""
|
|
|
|
|
|
|
2026-01-19 14:27:41 +08:00
|
|
|
|
device_id: str
|
|
|
|
|
|
device_type: str
|
|
|
|
|
|
|
|
|
|
|
|
async def connect(self) -> None:
|
2026-01-25 22:34:33 +08:00
|
|
|
|
"""建立与设备的连接。"""
|
2026-01-19 14:27:41 +08:00
|
|
|
|
raise NotImplementedError
|
|
|
|
|
|
|
|
|
|
|
|
async def disconnect(self) -> None:
|
2026-01-25 22:34:33 +08:00
|
|
|
|
"""断开与设备的连接。"""
|
2026-01-19 14:27:41 +08:00
|
|
|
|
raise NotImplementedError
|
|
|
|
|
|
|
|
|
|
|
|
async def is_connected(self) -> bool:
|
2026-01-25 22:34:33 +08:00
|
|
|
|
"""返回当前连接状态。"""
|
2026-01-19 14:27:41 +08:00
|
|
|
|
raise NotImplementedError
|