name: jf-open-pro-device-image-flip
description: 杰峰设备画面翻转技能(开发版)。支持画面左右翻转(镜像)、上下翻转设置,适用于摄像头画面方向调整。
metadata:
version: 1.0.0
author: JFTech
category: camera
tags:
triggers:
- 查询画面翻转配置
- 设置画面翻转
- 开启左右翻转
- 关闭左右翻转
- 开启上下翻转
- 关闭上下翻转
- 画面镜像
- 画面倒置
- 摄像头翻转
prerequisites:
- 配置必需的环境变量
- 设备需已完成配网和绑定
- 设备需在线
region:
- CN: api-cn.jftechws.com (中国大陆)
- AS: api-as.jftechws.com (亚洲)
- EU: api-eu.jftechws.com (欧洲)
- NA: api-na.jftechws.com (北美洲)
jf-open-pro-device-image-flip - 杰峰设备画面翻转技能(开发版)
技能描述
支持杰峰设备的画面翻转功能,基于杰峰开放平台 OpenAPI 实现:
- 画面左右翻转(镜像) - 水平翻转画面,类似镜子效果
- 画面上下翻转(倒置) - 垂直翻转画面,上下颠倒
- 翻转状态查询 - 查询当前画面翻转配置
适用场景:
- 摄像头倒装时需要上下翻转画面
- 摄像头镜像安装时需要左右翻转画面
- 特殊安装角度需要调整画面方向
触发词
- 查询画面翻转配置 / 设置画面翻转
- 开启左右翻转 / 关闭左右翻转
- 开启上下翻转 / 关闭上下翻转
- 画面镜像 / 画面倒置 / 摄像头翻转
前置条件
必需配置
- 签名算法 - 使用杰峰官方移位加密算法生成 signature
- 时间戳算法 - counter(7 位) + timeMillis(13 位),实时生成
- 设备绑定 - 设备需先绑定到开放平台账号
环境变量
| 变量名 | 说明 | 默认值 | 必需 |
|--------|------|--------|------|
| JF_UUID | 开放平台用户 uuid | - | ✅ |
| JF_APP_KEY | 开放平台应用 appKey | - | ✅ |
| JF_APP_SECRET | 开放平台应用密钥 | - | ✅ |
| JF_MOVE_CARD | 移动卡标识(用于签名) | 2 | ✅ |
| JF_DEVICE_SN | 设备序列号 | - | ✅ |
| JF_DEVICE_TOKEN | 设备接口访问令牌 | - | ✅ |
| JF_ENDPOINT | API 接入地址 | api-cn.jftechws.com | ❌ |
API 接口
| 功能 | 地址 | 方法 | 需要 Token | 需要在线 |
|------|------|------|------------|----------|
| 获取画面配置 | POST /gwp/v3/rtc/device/getconfig/{token} | POST | ✅ | ✅ |
| 设置画面配置 | POST /gwp/v3/rtc/device/setconfig/{token} | POST | ✅ | ✅ |
配置名称: Camera.Param
核心功能
画面翻转参数(Camera.Param)
| 字段 | 类型 | 说明 | 取值 |
|------|------|------|------|
| PictureFlip | string | 上下翻转 | "0x00000000"=不翻转,"0x00000001"=翻转 |
| PictureMirror | string | 左右翻转(镜像) | "0x00000000"=不翻转,"0x00000001"=翻转 |
⚠️ 走廊模式影响
当开启走廊模式(CorridorMode)时,翻转效果会互换:
| 模式 | PictureFlip | PictureMirror |
|------|-------------|---------------|
| 普通模式 | 上下翻转 | 左右翻转(镜像) |
| 走廊模式 | 左右翻转 | 上下翻转 |
走廊模式取值:
0: 普通模式1: 走廊模式,画面逆时针转 90 度2: 画面逆时针旋转 180 度3: 走廊模式,画面逆时针旋转 270 度
使用示例
环境准备
# 设置环境变量
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-device-image-flip/scripts
python3 image_flip.py --action get-flip-config
2. 设置左右翻转(镜像)
# 开启左右翻转
python3 image_flip.py --action set-mirror --enable true
# 关闭左右翻转
python3 image_flip.py --action set-mirror --enable false
3. 设置上下翻转
# 开启上下翻转
python3 image_flip.py --action set-flip --enable true
# 关闭上下翻转
python3 image_flip.py --action set-flip --enable false
4. 同时设置左右和上下翻转
# 同时开启左右和上下翻转(相当于旋转 180 度)
python3 image_flip.py --action set-both --mirror true --flip true
# 同时关闭
python3 image_flip.py --action set-both --mirror false --flip false
5. 重置画面方向
# 重置为默认(不翻转)
python3 image_flip.py --action reset
翻转效果说明
左右翻转(PictureMirror / 镜像)
原始画面: 左右翻转后:
┌─────────┐ ┌─────────┐
│ ABCD │ │ DCBA │
│ 1234 │ → │ 4321 │
│ EFGH │ │ HGFE │
└─────────┘ └─────────┘
适用场景:
上下翻转(PictureFlip / 倒置)
原始画面: 上下翻转后:
┌─────────┐ ┌─────────┐
│ ABCD │ │ EFGH │
│ 1234 │ → │ 1234 │
│ EFGH │ │ ABCD │
└─────────┘ └─────────┘
适用场景:
组合效果
| 左右翻转 | 上下翻转 | 效果 |
|----------|----------|------|
| 关 | 关 | 原始画面 |
| 开 | 关 | 左右镜像 |
| 关 | 开 | 上下倒置 |
| 开 | 开 | 旋转 180 度 |
状态码
平台状态码
| code | 说明 | 处理建议 |
|------|------|----------|
| 2000 | 成功 | - |
| 28007 | Header 参数错误 | 检查 uuid、appKey、timeMillis、signature |
| 40103 | 无效 Token | deviceToken 过期,重新获取 |
| 50000 | 服务器内部错误 | 联系杰峰技术支持 |
设备状态码(Ret)
| Ret | 说明 |
|-----|------|
| 100 | 成功 |
注意事项
- deviceToken 有效期 - 24 小时,过期需重新获取
- 设备在线要求 - 配置类操作需要设备在线
- 走廊模式影响 - 开启走廊模式时,翻转效果会互换
- 立即生效 - 设置后画面会立即翻转,可能需要重新加载视频流
- 配置保存 - 设置会保存到设备,重启后仍然生效
- 通道号 - NVR 设备需要指定通道号(0-N)
相关文件
| 文件 | 说明 |
|------|------|
| SKILL.md | 技能文档 |
| scripts/image_flip.py | Python 执行脚本 |
| scripts/crypto.py | 签名/时间戳加密工具(复用) |
参考文档