From eec9fb49a2d52e86513c61f1ad829af636905b1a Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Sat, 25 May 2024 11:09:00 +0800 Subject: [PATCH] AppManager doc. --- middleware/AppManager/README.md | 191 ++++++++++++++++++++++++++------ 1 file changed, 158 insertions(+), 33 deletions(-) diff --git a/middleware/AppManager/README.md b/middleware/AppManager/README.md index a131f861..b05afefd 100644 --- a/middleware/AppManager/README.md +++ b/middleware/AppManager/README.md @@ -3,6 +3,7 @@ | 版本 | 时间 | 说明 | | ---- | ---- | ---- | | V1.0 | 2024-5-21 | 首次评审。 | +| V1.1 | 2024-5-25 | 增加标准设置项和动态设置参数协议。 | ## 1.1. 概述 @@ -99,36 +100,39 @@ **记录仪当前参数列表:** -| 参数名称 | 数据类型 | 取值说明 | 备注 | -| ---- | ---- | ---- | ---- | -| 记录仪WiFi名称 | ---- | ---- | ---- | -| 记录仪WiFi密码 | ---- | ---- | ---- | -| 固件版本 | ---- | ---- | ---- | -| 格式化存储卡 | ---- | ---- | ---- | -| 恢复出厂设置 | ---- | ---- | ---- | +| 参数名称 | 数据类型 | 取值说明 | 公版支持 | 备注 | +| ---- | ---- | ---- | ---- | ---- | +| 记录仪WiFi名称 | ---- | ---- | 支持 | ---- | +| 记录仪WiFi密码 | ---- | ---- | 支持 | ---- | +| 固件版本 | ---- | ---- | 支持 | ---- | +| 格式化存储卡 | ---- | ---- | 支持 | ---- | +| 恢复出厂设置 | ---- | ---- | 支持 | ---- | **打猎机参数需求列表:** -| 参数名称 | 数据类型 | 取值说明 | 备注 | -| ---- | ---- | ---- | ---- | -| 记录仪WiFi名称 | ---- | ---- | ---- | -| 记录仪WiFi密码 | ---- | ---- | ---- | -| 固件版本 | ---- | ---- | 仅显示 | -| ---- | ---- | ---- | ---- | -| 电量 | ---- | ---- | 仅显示 | -| 工作模式 | 数字 | 0:图片
1:图片+视频 | ---- | -| 连拍|数字 | 1/2/3 | 单位:P | -| 连拍间隔 | 数字 | 0~60 | 单位:s | -| 图片大小 | 数字 | 8/16/24/32/40 | 单位:M | -| 视频长度 | 数字 | 10/15 | 单位:s | -| PIR延时 | 数字 | 0~60 | 单位:s | -| 工作时间 | 时间 | 起始的时间设置
例如:起点20:00至终点6:00 | ---- | -| 循环存储 | 数字 | 0:OFF
1:ON | ---- | -| 红外灯功率 | 数字 | 0/1/2 | 低/中/高 | -| PIR灵敏度 | 数字 | 0~9 | ---- | -| 恢复出厂 | ---- | ---- | 功能 | -| 格式化SD卡 | ---- | ---- | 功能 | -| 重启 | ---- | ---- | 功能 | +| 参数名称 | 数据类型 | 取值说明 | 公版支持 | 备注 | +| ---- | ---- | ---- | ---- | ---- | +| 记录仪WiFi名称 | ---- | ---- | 支持 | ---- | +| 记录仪WiFi密码 | ---- | ---- | 支持 | ---- | +| 固件版本 | ---- | ---- | 支持 | 仅显示 | +| ---- | ---- | ---- | ---- | ---- | +| 电量 | ---- | ---- | 未支持 | 仅显示 | +| 工作模式 | 数字 | 0:图片
1:图片+视频 | 未支持 | ---- | +| 连拍|数字 | 1/2/3 | 未支持 | 单位:P | +| 连拍间隔 | 数字 | 0~60 | 未支持 | 单位:s | +| 图片大小 | 数字 | 8/16/24/32/40 | 未支持 | 单位:M | +| 录像分辨率 | 数字 | 0:WVGA
1:HD
2:FHD | 未支持 | ---- | +| 录像帧率 | 数字 | 15/30 | 未支持 | 单位:fps | +| 视频长度 | 数字 | 10/15 | 未支持 | 单位:s | +| PIR延时 | 时间 | 00:00:00-23:59:59 | 未支持 | 两个PIR之间的最小间隔 | +| 定时工作 | 时间 | 00:00:00-23:59:59 | 未支持 | 定时唤醒 | +| 工作时间 | 时间 | 起始的时间设置
例如:起点20:00至终点6:00 | 未支持 | ---- | +| 循环存储 | 数字 | 0:OFF
1:ON | 未支持 | ---- | +| 红外灯功率 | 数字 | 0/1/2 | 未支持 | 低/中/高 | +| PIR灵敏度 | 数字 | 0~9 | 未支持 | ---- | +| 恢复出厂 | ---- | ---- | 支持 | 功能 | +| 格式化SD卡 | ---- | ---- | 支持 | 功能 | +| 重启 | ---- | ---- | 未支持 | 功能 | #### 1.2.2.3. 问题列表 @@ -139,13 +143,15 @@ ## 1.3. APP定制整改总结 +  **基于公版基础,未修改原有协议,做界面显示定制和增量开发,方案可控。** + 1. “记录仪”统一修改为“相机”; 答:公版无法修改,需要定制。 2. 本地相册-“紧急”分类,改为“PIR”; 3. APP连接设备后,自动录像,改为默认不录像,可手动录像; 答:设备返回非记录仪即可,见能力集。 4. APP上的“循环”改成“全部”,“拍照”改成“手动”,“紧急”改成“PIR”,“停车”改成“定时”,**全部包括手动/PIR/定时**; -5. 相机设置需要实现设备自定义设置项功能; +5. **相机设置需要实现设备自定义设置项功能;** ## 1.4. 设置界面动态渲染方案设计 @@ -165,11 +171,130 @@ ### 1.4.2. 动态渲染设置界面 -1. APP获取设置参数列表,协议根据设置类型定义; -2. 设置界面根据设置类型显示设置控件; -3. 有操作后回传自定义控件信息; -4. 设备根据协议解析操作的控件,并执行自定义行为; +#### 1.4.2.1. 新增动态设置参数协议 + +**获取动态设置参数列表** + +| | | +| ---- | ---- | +| 描述 | 获取动态设置参数列表。 | +| 接口 | http://192.168.1.100/app/getdynamicparam | +| 参数 | ?index=all // 获取全部动态设置参数
?index=6 // 获取索引号为6的动态设置参数 | +| 返回参数 | result:0-成功,-1-失败
info:动态参数列表 | + +**获取全部动态参数返回示例:** + +```code +{ + "result": 0, + "info": + [ + { + "name": "SettingName", // 直接显示在APP界面 + "type": "label", // 显示控件类型,只显示 + "value": "0-表示字符串", // 当前值 + "index": 0 // 参数索引,直接回传给设备 + }, + { + "name": "NumberName", + "type": "inputnum", // 数字输入框,带单位显示 + "value": 123456789, + "unit": "s", // 单位,可选,如果有则显示单位 + "index": 1 // 参数索引,直接回传给设备 + }, + { + "name": "SwitchName", + "type": "switch", // 开关,0-关,1-开 + "value": 0, // 当前值,0-关,1-开 + "index": 2 // 参数索引,直接回传给设备 + }, + { + "name": "InputStringName", + "type": "inputstring", // 任意字符输入框,无限制 + "value": "0123abcDEF!@#", // 当前值 + "index": 3 // 参数索引,直接回传给设备 + }, + { + "name": "TimeSettingName", + "type": "time", // 时间设置(24小时制),格式:hh-mm-ss + "value": "23:59:59", // 当前值,格式:hh-mm-ss + "index": 4 // 参数索引,直接回传给设备 + }, + { + "name": "ConfirmName", + "tips": "Confirm?", // 提示信息,没有时使用name + "type": "comfirm", // 功能按钮(确认框) + "index": 5 // 参数索引,直接回传给设备 + }, + { + "name": "OptionName", + "type": "option", // 选项设置 + "items": ["Option0","Option1"], // 选项列表,格式:["选项1","选项2",...] + "value": 1, // 当前值, 索引值,0-Option0,1-Option1 + "index": 6 // 参数索引,直接回传给设备 + } + ] +} +``` + +响应值描述: + +| 参数名 | 类型 | 描述 | +| ---- | ---- | ---- | +| name | String | 直接显示在APP | +| type | String | 控件类型:
label-字符串,仅显示内容,无法修改
inputnum-数字
switch-开关(0-关,1-开)
inputstring-任意字符输入
time-时间设置
comfirm-功能按钮(确认框)
option-选项设置 | +| value | ---- | 当前值,类型根据type定义来确定 | +| unit | String | 单位,如果有则在APP界面显示 | +| index | int | 索引值,设备使用,根据索引值知道修改哪个参数 | + +**动态设置项设置协议** + +| | | +| ---- | ---- | +| 描述 | 动态设置项设置协议 | +| 接口 | http://192.168.1.100/app/dynamicparamset | +| 参数 | ?index=1&value=0123456789 // 数字输入框
?index=2&value=0 // 开关,0-关,1-开
?index=3&value=0123abcDEF!@# // 任意字符输入框
?index=4&value=23:59:59 // 时间
?index=5&value=0 // 0-取消;1-确认
?index=6&value=1 // 0-Option0,1-Option1,以此类推 | +| 返回参数 | result:0-成功,-1-失败
返回成功后重新获取动态参数显示 | + +**动态设置项设置返回示例:** + +```code +{ + "result" : 0, + "info" : "success." +} +``` + +**动态参数显示/设置UML时序图:** + +```mermaid +sequenceDiagram +participant APP +participant CAMERA +APP ->> APP:进入设置界面 +APP ->> +CAMERA:http:getdynamicparam?index=all +CAMERA -->> -APP:return +loop 设置界面停留 + opt 用户修改参数 + APP ->> APP:用户修改参数 + APP ->> +CAMERA:http:dynamicparamset?index=2 + CAMERA -->> -APP:return + alt result=0 + APP ->> APP:修改成功 + APP ->> +CAMERA:http:getdynamicparam?index=2 + CAMERA -->> -APP:return + APP ->> APP:刷新设置项显示 + else result=-1 + APP ->> APP:修改失败 + end + end +end +opt 设备端修改参数 + note over CAMERA: 设备端修改参数未能同步(未发现同步协议) +end +APP ->> APP:退出设置界面 +``` ### 1.4.3. 拓展规划 -  需要考虑拓展为4G版本。 \ No newline at end of file +  后续如何拓展为4G版本?