mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-18 05:21:19 +00:00
78 lines
2.4 KiB
Python
78 lines
2.4 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
|
||
"""
|
||
使用 CameraController 来测试 PTZ:
|
||
让摄像头按顺序向下、向上、向左、向右运动几次。
|
||
"""
|
||
|
||
import time
|
||
import sys
|
||
|
||
# 根据你的工程结构修改导入路径:
|
||
# 假设 CameraController 定义在 cameraController.py 里
|
||
from cameraDriver import CameraController
|
||
|
||
|
||
def main():
|
||
# === 根据你的实际情况填 IP、端口、账号密码 ===
|
||
ptz_host = "192.168.31.164"
|
||
ptz_port = 2020 # 注意要和你单独测试 PTZController 时保持一致
|
||
ptz_user = "admin"
|
||
ptz_password = "admin123"
|
||
|
||
# 1. 创建 CameraController 实例
|
||
cam = CameraController(
|
||
# 其他摄像机相关参数按你类的 __init__ 来补充
|
||
ptz_host=ptz_host,
|
||
ptz_port=ptz_port,
|
||
ptz_user=ptz_user,
|
||
ptz_password=ptz_password,
|
||
)
|
||
|
||
# 2. 启动 / 初始化(如果你的 CameraController 有 start(config) 之类的接口)
|
||
# 这里给一个最小的 config,重点是 PTZ 相关字段
|
||
config = {
|
||
"ptz_host": ptz_host,
|
||
"ptz_port": ptz_port,
|
||
"ptz_user": ptz_user,
|
||
"ptz_password": ptz_password,
|
||
}
|
||
|
||
try:
|
||
cam.start(config)
|
||
except Exception as e:
|
||
print(f"[TEST] CameraController start() 失败: {e}", file=sys.stderr)
|
||
return
|
||
|
||
# 这里可以判断一下内部 _ptz 是否初始化成功(如果你对 CameraController 做了封装)
|
||
if getattr(cam, "_ptz", None) is None:
|
||
print("[TEST] CameraController 内部 PTZ 未初始化成功,请检查 ptz_host/port/user/password 配置。", file=sys.stderr)
|
||
return
|
||
|
||
# 3. 依次调用 CameraController 的 PTZ 方法
|
||
# 这里假设你在 CameraController 中提供了这几个对外方法:
|
||
# ptz_move_down / ptz_move_up / ptz_move_left / ptz_move_right
|
||
# 如果你命名不一样,把下面调用名改成你的即可。
|
||
|
||
print("向下移动(通过 CameraController)...")
|
||
cam.ptz_move_down(speed=0.5, duration=1.0)
|
||
time.sleep(1)
|
||
|
||
print("向上移动(通过 CameraController)...")
|
||
cam.ptz_move_up(speed=0.5, duration=1.0)
|
||
time.sleep(1)
|
||
|
||
print("向左移动(通过 CameraController)...")
|
||
cam.ptz_move_left(speed=0.5, duration=1.0)
|
||
time.sleep(1)
|
||
|
||
print("向右移动(通过 CameraController)...")
|
||
cam.ptz_move_right(speed=0.5, duration=1.0)
|
||
time.sleep(1)
|
||
|
||
print("测试结束。")
|
||
|
||
|
||
if __name__ == "__main__":
|
||
main() |