FastAPI サーバー

dobot.server_fastapi.server は、ese774_frame.FastApiServer に DobotCtrl を渡す実装です。専用 Router や Pydantic モデルは使いません。api_spec=None、router_cls=None により標準 DeviceRouter の完全自動 dispatch を利用します。

from ese774_frame import FastApiServer
from dobot.config import Config
from dobot.dobot_ctrl import DobotCtrl

server = FastApiServer(
    device_cls=DobotCtrl,
    router_cls=None,
    config=Config,
    api_spec=None,
    object_name="dobot",
    device_kwargs={"dobot_ip": Config.DOBOT_IP,
                   "instance_name": Config.INSTANCE_NAME},
)
server.run(host=Config.SERVER_IP, port=Config.SERVER_PORT)

実際の同梱サーバーは logger と lifespan 設定も渡します。起動はパッケージをインストールした環境で次のように行います。

python -m dobot.server_fastapi.server

サーバー起動時に DobotCtrl が実機接続を試みます。既定の Config.SERVER_IP は 127.0.0.1、SERVER_PORT は 8000、DOBOT_IP は 192.168.1.6 です。外部公開前にネットワークアクセス制御を設定してください。