Coding

jf-open-pro-ptz-control

Try it

杰峰云台设备控制技能(开发版)。支持云台方向控制、变倍聚焦、预置位管理、巡航计划、回到守望位等功能,适用于云台摄像头设备。

What it does

杰峰云台设备控制技能(开发版)。支持云台方向控制、变倍聚焦、预置位管理、巡航计划、回到守望位等功能,适用于云台摄像头设备。

The skill document

jf-open-pro-ptz-control - 杰峰云台设备控制技能(开发版)

技能描述

支持杰峰云台设备的全面控制功能:

  • 云台方向控制 - 上/下/左/右/左上/左下/右上/右下八个方向
  • 变倍和聚焦 - 光学变倍放大/缩小,聚焦远/近调节
  • 预置位管理 - 设置/删除/转到/编辑预置位
  • 巡航计划 - 添加/删除/开始/停止/清除巡航点
  • 特殊预置位 - 移动追踪守望位(100)、自检回归预置位(128)

适用场景:

  • 远程调整摄像头视角
  • 快速定位到预设监控位置
  • 自动巡航监控多个区域
  • 变焦查看细节

触发词

  • 云台控制 / PTZ 控制 / 方向控制
  • 向上转 / 向下转 / 向左转 / 向右转
  • 左上 / 左下 / 右上 / 右下
  • 变倍 / 聚焦 / 放大 / 缩小
  • 预置位 / 巡航 / 守望位

前置条件

硬件要求

  1. 云台设备 - 设备需支持 PTZ 功能
  2. 能力集验证 - OtherFunction.SupportPTZDirectionControltrue

必需配置

  1. 签名算法 - 使用杰峰官方移位加密算法生成 signature
  2. 时间戳算法 - counter(7 位) + timeMillis(13 位),实时生成
  3. 设备绑定 - 设备需先绑定到开放平台账号

环境变量

变量名说明默认值必需
JF_UUID开放平台用户 uuid-
JF_APP_KEY开放平台应用 appKey-
JF_APP_SECRET开放平台应用密钥-
JF_MOVE_CARD移动卡标识(用于签名)2
JF_DEVICE_SN设备序列号-
JF_DEVICE_TOKEN设备接口访问令牌-
JF_ENDPOINTAPI 接入地址api-cn.jftechws.com

API 接口

功能地址方法需要 Token需要在线
云台方向控制POST /gwp/v3/rtc/device/opdev/{token}POST
变倍聚焦控制POST /gwp/v3/rtc/device/opdev/{token}POST
预置位操作POST /gwp/v3/rtc/device/opdev/{token}POST
巡航计划POST /gwp/v3/rtc/device/opdev/{token}POST
获取预置位列表POST /gwp/v3/rtc/device/getconfig/{token}POST
获取巡航配置POST /gwp/v3/rtc/device/getconfig/{token}POST

核心功能

1. 云台方向控制(Direction Control)

API: POST /gwp/v3/rtc/device/opdev/{deviceToken}

Name: OPPTZControl

Command 参数:

方向Command 值
DirectionUp
DirectionDown
DirectionLeft
DirectionRight
左上DirectionLeftUp
左下DirectionLeftDown
右上DirectionRightUp
右下DirectionRightDown

Parameter 参数:

参数类型说明取值
Presetint运动控制0=开始运动,-1=停止运动
Channelint通道号0=第一通道
Stepint运动速度1-8(1 最慢,8 最快)

⚠️ 重要:

  • start/stop 指令需间隔 500ms,避免并发冲突
  • 未调用停止,设备会一直转到最大角度

操作步骤:

  1. 发送 start 指令(Preset=0)
  2. 等待 500ms
  3. 发送 stop 指令(Preset=-1)

2. 变倍和聚焦控制(Zoom & Focus)

API: POST /gwp/v3/rtc/device/opdev/{deviceToken}

Name: OPPTZControl

Command 参数:

功能Command 值说明
变倍 -ZoomWide缩小(广角)
变倍 +ZoomTile放大(长焦)
聚焦 -FocusFar聚焦远处
聚焦 +FocusNear聚焦近处
光圈 -IrisSmall缩小光圈
光圈 +IrisLarge放大光圈

Parameter 参数:

参数类型说明取值
Channelint通道号0=第一通道
Stepint操作速度1-8(1 最慢,8 最快)
Presetint开始/停止0=开始,-1=停止

⚠️ 注意: 变倍和聚焦不支持设置特定倍数,只能操作快慢。

3. 预置位管理(Preset)

API: POST /gwp/v3/rtc/device/opdev/{deviceToken}

Name: OPPTZControl

Command 参数:

操作Command 值说明
设置预置位SetPreset保存当前位置为预置位
删除预置位ClearPreset删除指定预置位
转到预置位GotoPreset转动到指定预置位
编辑预置位名称SetPresetName修改预置位名称

Parameter 参数:

参数类型说明取值
Presetint预置位编号1-255
Channelint通道号0=第一通道
PresetNamestring预置位名称自定义名称

特殊预置位:

编号名称说明
100移动追踪守望位追踪停止后自动回归的位置
128自检回归预置位设备重启/自检后回归的位置

设置步骤:

  1. 方向控制,转动设备到某一方向
  2. 设置预置位(SetPreset)
  3. 转动到其他方向
  4. 转到预置位(GotoPreset)验证

4. 巡航计划(PTZ Tour)

API: POST /gwp/v3/rtc/device/opdev/{deviceToken}

Name: OPPTZControl

Command 参数:

操作Command 值说明
添加巡航点AddTour往巡航线路添加预置点
删除巡航点DeleteTour从巡航线路删除预置点
开始巡航StartTour开始自动巡航
停止巡航StopTour停止巡航
清除巡航线路ClearTour清除整个巡航线路

Parameter 参数:

参数类型说明取值
Presetint预置点编号0-255
Tourint巡航线路编号0(默认)
Channelint通道号0=第一通道
Stepint转动速度1-8(添加巡航点时有效)

巡航说明:

  • 设备会在预设的预置点之间自动循环转动
  • 可自定义点与点之间的转动速度
  • 支持多条巡航线路

5. 获取预置位列表

API: POST /gwp/v3/rtc/device/getconfig/{deviceToken}

Name: Uart.PTZPreset

响应参数:

字段类型说明
Uart.PTZPresetobject[]预置位列表
├─ Idint预置位编号
├─ PresetNamestring预置位名称

6. 获取巡航路径配置

API: POST /gwp/v3/rtc/device/getconfig/{deviceToken}

Name: Uart.PTZTour

使用示例

环境准备

# 设置环境变量
export JF_UUID="uuidxxxx"
export JF_APP_KEY="appkeyxxxx"
export JF_APP_SECRET="appsecretxxxx"
export JF_MOVE_CARD=0
export JF_DEVICE_SN="snxxx1"
export JF_DEVICE_TOKEN="NTQ0NzQ3YmE3MXwyYzFk..."
export JF_ENDPOINT="api-cn.jftechws.com"

1. 云台方向控制

cd ~/.openclaw/workspace/skills/developer/jf-open-pro-ptz-control/scripts

# 向上转动
python3 ptz_control.py --action direction --direction up

# 向左转动
python3 ptz_control.py --action direction --direction left

# 向右下转动
python3 ptz_control.py --action direction --direction rightdown

2. 变倍和聚焦

# 变倍放大(拉近)
python3 ptz_control.py --action zoom --zoom in

# 变倍缩小(拉远)
python3 ptz_control.py --action zoom --zoom out

# 聚焦远处
python3 ptz_control.py --action focus --focus far

# 聚焦近处
python3 ptz_control.py --action focus --focus near

3. 预置位管理

# 设置预置位 1
python3 ptz_control.py --action set-preset --preset 1 --name "门口"

# 转到预置位 1
python3 ptz_control.py --action goto-preset --preset 1

# 删除预置位 1
python3 ptz_control.py --action clear-preset --preset 1

# 编辑预置位名称
python3 ptz_control.py --action set-preset-name --preset 1 --name "大门入口"

# 查询预置位列表
python3 ptz_control.py --action list-presets

4. 巡航计划

# 添加预置位 1 到巡航线路 0
python3 ptz_control.py --action add-tour --tour 0 --preset 1

# 添加预置位 2 到巡航线路 0
python3 ptz_control.py --action add-tour --tour 0 --preset 2

# 开始巡航
python3 ptz_control.py --action start-tour --tour 0

# 停止巡航
python3 ptz_control.py --action stop-tour --tour 0

# 清除巡航线路
python3 ptz_control.py --action clear-tour --tour 0

# 查询巡航配置
python3 ptz_control.py --action list-tours

5. 特殊预置位

# 设置移动追踪守望位(预置位 100)
python3 ptz_control.py --action set-preset --preset 100 --name "追踪守望位"

# 设置自检回归预置位(预置位 128)
python3 ptz_control.py --action set-preset --preset 128 --name "自检回归位"

# 转到移动追踪守望位
python3 ptz_control.py --action goto-preset --preset 100

状态码

平台状态码

code说明处理建议
2000成功-
28007Header 参数错误检查 uuid、appKey、timeMillis、signature
40103无效 TokendeviceToken 过期,重新获取
50000服务器内部错误联系杰峰技术支持

设备状态码(Ret)

Ret说明
100成功

注意事项

  1. 设备要求 - 设备需支持云台 PTZ 功能
  2. deviceToken 有效期 - 24 小时,过期需重新获取
  3. 设备在线要求 - 所有操作需要设备在线
  4. start/stop 间隔 - 方向控制指令需间隔 500ms
  5. 未停止会持续转动 - 未调用 stop 设备会转到最大角度
  6. 预置位编号 - 建议使用 1-199,200 以后可能为特殊用途
  7. 特殊预置位 - 100=移动追踪守望位,128=自检回归预置位
  8. 变倍聚焦 - 不支持设置特定倍数,只能操作快慢

相关文件

文件说明
SKILL.md技能文档
scripts/ptz_control.pyPython 执行脚本
scripts/crypto.py签名/时间戳加密工具(复用)

参考文档

Related skills

杰峰开放平台室外安防技能。提供车辆检测、异常告警、智能检测、灵敏度设置、检测区域配置、推送计划管理等功能,全面提升室外安防监控能力。

8 installs

杰峰设备本地录像技能(开发版)。支持 TF 卡/硬盘存储设备的录像日历查询、回放列表、录像回放下载、本地报警图片获取、主辅码流切换等功能。

11 installs

杰峰开放平台室内安防技能。实时监测客厅等居家场景,全方位守护人身与居家安全,实时掌握家人动态。筑牢安全防线,同步感知居家日常,安心守护居家点滴时光。

8 installs

杰峰设备直播预览技能(开发版)。支持多端集成实时视频播放,兼容 HLS、RTSP、RTMP、FLV、MP4、WebRTC 等主流协议,适配 H.264/H.265 设备。

11 installs

杰峰看门狗技能。基于杰峰设备抓图 + AI 视觉分析的通用区域状态监控,支持物品防盗、通道占用检测、人员存在检测等场景。

2 installs

杰峰设备 OSD 水印设置技能(开发版)。支持设备实时画面水印设置,可配置通道标题、时间标题、隐私区域等 OSD 叠加属性。

10 installs