OpenIris/PythonTools/models.py

52 lines
1.0 KiB
Python

from pydantic import BaseModel
from typing import Optional, List
from PythonTools.constants import FrameSize, WifiPowerPoint
class DeviceConfig(BaseModel):
OTALogin: Optional[str] = None
OTAPassword: Optional[str] = None
class MDNSConfig(BaseModel):
hostname: Optional[str] = None
service: Optional[str] = None
class CameraConfig(BaseModel):
framesize: Optional[FrameSize] = None
vflip: Optional[bool] = None
hflip: Optional[bool] = None
quality: Optional[int] = None
brightness: Optional[int] = None
class WiFiConfig(BaseModel):
name: str
ssid: str
password: str
channel: int
power: int
adhoc: bool
class WiFiTXPower(BaseModel):
power: WifiPowerPoint
class APWiFiConfig(BaseModel):
ssid: str
password: str
channel: int
adhoc: bool
class TrackerConfig(BaseModel):
device_config: DeviceConfig
camera_config: CameraConfig
networks: List[WiFiConfig]
AP_WiFi_config: APWiFiConfig
mdns_config: MDNSConfig
Wifi_TX_power: WiFiTXPower