Skill: jftech/jf-open-pro-device-image-flip (version 1.0.0)

--- 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 实现： - **画面左右翻转（镜像）** - 水平翻转画面，类似镜子效果 - **画面上下翻转（倒置）** - 垂直翻转画面，上下颠倒 - **翻转状态查询** - 查询当前画面翻转配置 **适用场景：** - 摄像头倒装时需要上下翻转画面 - 摄像头镜像安装时需要左右翻转画面 - 特殊安装角度需要调整画面方向 ## 触发词 - 查询画面翻转配置 / 设置画面翻转 - 开启左右翻转 / 关闭左右翻转 - 开启上下翻转 / 关闭上下翻转 - 画面镜像 / 画面倒置 / 摄像头翻转 ## 前置条件 ### 必需配置 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_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 度 ## 使用示例 ### 环境准备 ```bash # 设置环境变量 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. 查询画面翻转配置 ```bash cd ~/.openclaw/workspace/skills/developer/jf-open-pro-device-image-flip/scripts python3 image_flip.py --action get-flip-config ``` ### 2. 设置左右翻转（镜像） ```bash # 开启左右翻转 python3 image_flip.py --action set-mirror --enable true # 关闭左右翻转 python3 image_flip.py --action set-mirror --enable false ``` ### 3. 设置上下翻转 ```bash # 开启上下翻转 python3 image_flip.py --action set-flip --enable true # 关闭上下翻转 python3 image_flip.py --action set-flip --enable false ``` ### 4. 同时设置左右和上下翻转 ```bash # 同时开启左右和上下翻转（相当于旋转 180 度） python3 image_flip.py --action set-both --mirror true --flip true # 同时关闭 python3 image_flip.py --action set-both --mirror false --flip false ``` ### 5. 重置画面方向 ```bash # 重置为默认（不翻转） 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 | 成功 | ## 注意事项 1. **deviceToken 有效期** - 24 小时，过期需重新获取 2. **设备在线要求** - 配置类操作需要设备在线 3. **走廊模式影响** - 开启走廊模式时，翻转效果会互换 4. **立即生效** - 设置后画面会立即翻转，可能需要重新加载视频流 5. **配置保存** - 设置会保存到设备，重启后仍然生效 6. **通道号** - NVR 设备需要指定通道号（0-N） ## 相关文件 | 文件 | 说明 | |------|------| | `SKILL.md` | 技能文档 | | `scripts/image_flip.py` | Python 执行脚本 | | `scripts/crypto.py` | 签名/时间戳加密工具（复用） | ## 参考文档 - [杰峰开放平台](https://docs.jftech.com)


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: suspicious (CRITICAL)