Server-Class Install
必要なファイル (尾原件が作成したソースコード)
x_logger: ログファイル管理
ese774_frame: コボッタ制御サーバーとの通信するためのフレームワーク(似非774版)
cobotta2: ORiN2 を用いたコボッタ制御サーバープログラム
cobotta2_client: コボッタサーバーと通信して、コボッタを制御するプログラムサンプル集
cobotta_joypad: JoyPad を用いてcobotta制御 (gRPCを用いた高速通信用)
x_logger
x_logger: ログファイル管理
x_logger.zip 解凍後。解凍ディレクトリに移動し
pip install x_logger
ese774_frame
ese774_frame: コボッタ制御サーバーとの通信するためのフレームワーク(似非774版)
fastapi_frame.zip 解凍後。解凍ディレクトリに移動し
pip install ese774_frame
cbotta2
cobotta2: ORiN2 を用いたコボッタ制御サーバープログラム
cobotta2制御プログラム
pip install cobotta2
server 起動 (pythonからの直接起動)
#!/usr/bin/env python
from cobotta2.config import Config
from cobotta2.cobotta_ctrl_state import CobottaState
from cobotta2.server_fastapi import CobottaRouterState
from cobotta2.server_fastapi import cobotta_state_api_spec
from ese774_frame.api_server import FastApiServer
from x_logger.x_logger import XLogger
if __name__ == "__main__":
Config.load_yaml("config_cobotta2_state.yaml")
logger = XLogger(
log_level="debug",
logger_name=Config.SERVER_LOGGER_NAME,
log_mode="rotate",
# log_mode="file",
log_name=f"c:/opt/log/{Config.SERVER_LOGGER_NAME}.log",
)
logger.info(f"COBOTTA IP = {Config.COBOTTA_IP}")
logger.info(f"SERVER IP = {Config.SERVER_IP}")
logger.info(f"SERVER PORT = {Config.SERVER_PORT}")
server = FastApiServer(
device_cls=CobottaState, # 制御クラス
router_cls=CobottaRouterState, # 継承でつくった router
config=Config,
api_spec=cobotta_state_api_spec,
device_kwargs={
"cobotta_ip": Config.COBOTTA_IP
}, # COBOTTA制御Classのコンストラクタ引数)
logger=logger,
logger_name=Config.SERVER_LOGGER_NAME,
lifespan_msg_prefix="COBOTTA",
)
server.run(host=Config.SERVER_IP, port=Config.SERVER_PORT)
ローカルクライアントでのテスト
fastapi での通信テスト
サーバーログディレクトリ作成とサービス用フォルダ作成
サーバーログ保存の場所作成
サーバープログラム起動場所の作成
windows のサービスとして python の cobotta-server 起動を登録する
windows のサービスとして python の aandd-server 起動を登録する
作者
Kengo NAKADA