1. 概述
目前APP兼容V536 CDR系列的全志芯片平台的记录仪产品,对接接口参考自《V536 wifi cmmad User Gide_20190809.pdf》;
设备固件要严格按着上述文档开发,且cmd要和文档完全一致;
2. 注意点:
2.1 恢复出厂设置
上述文档中的恢复出厂设置的举例使用的CMD是254,实际APP中使用的是1014:
- 命令: 1014
- 参数: par = 0
http命令行:
http://192.168.10.1:8082/api/setdeviceinfo/?custom=1&cmd=1014&par=0
2.2 记录仪文件中的显示时间
APP内:”连接记录仪“->进入预览界面->"记录仪文件"中的文件列表中,看到的视频或是图片的时间
当前记录仪中的图片和视频的时间使用的是从文件名解析出来的,文件名解析是按全志默认的文件名进行解析,其规则如下描述;
其文件名中要包含年(yyyy)、月(MM)、日(dd)、小时(HH)、分钟(mm)、秒(ss),文件名中的日期解析是从第一个字符开始,前面不能有其他字符,整个日期部分(14个日期字符[yyyyMMddHHmmss])中只能包含'_',不能包含其他字符,日期后面可以用任意字符,没有限制:
20200101_000010F.ts
(yyyyMMdd_HHmmss)
合法的文件名举例:
2020_0101_000010F_23-S-T.ts
2020_0101_000010-F_23-TUTUUT112-T.ts
……
不合法的文件名举例:
F2020_0101_000010-F_23-S-T.ts // 不是以日期开头
2020_0101_0000-F_23-S-T.ts // 日期最后没有秒(ss)
2020-0101_0000-F_23-TUUT-T.ts // 年后面是'-',不是'_',不符合要求
2.3 产品信息查询
功能描述 获取设备对应的产品型号、品牌商,用以APP来进行接口类别区分,并给品牌商进行设备的logo的定制,需要区分设备型号和品牌
命令描述 命令(重用原有获取系统version的命令):api/getdeviceinfo/?custom=1&cmd=2001 操作类型:查询
结果中增加字段 product:model@brand,举例:Q101@Nembus, sp:方案商的代号,名字由方案商自己定,用来区分方案商不同的接口,举例"qicheng" wifi_ssid:用来显示设备当前的名称; mac:设备的mac地址,用来唯一区分设备;
其中:
- 型号(model):本产品的型号,比如:Q101
- brand:品牌公司,直接销售产品的公司,即方案商的客户,比如:Nembus,如暂时没有定可以不填
- sp:方案商,举例:方案商名称为蓝天:"qicheng",这个名称方案商自己定即可,有助于APP更好的对接方案商的方案接口;
样例:
api/getdeviceinfo/?custom=1&cmd=2001
响应:
{
"version":"V536-CDR-xxx",
"wifi_ssid" : "Nembus-91d0b0"
"product":"Q101@Nembus",
"sp":"qicheng", // 这个填一下方案公司的名称,后面可以对该方案公司的特有cmd公版适配
"mac":"设备mac地址"
}
2.4 多路摄像头支持
1. 查询当前摄像头情况
命令字:2006,在原有2006的响应消息中增加内容字段:
```
{
"camnum":3,
"channel":"ch01,ch13,ch15",
"curid":"ch13"
}
```
camnum:当前摄像头总个数;
channel:当前摄像头对应的rtsp地址的尾部,以‘,’号分割;
curid:当前摄像头的id,使用当前摄像头对应的channel值;
上述例子:
1. "camnum":3,表示当前有3个摄像头;
2. "channel":"ch01,ch13,ch15"表示3个摄像头分别代表的rtsp地址的变化部分
```
rtsp://ip:8554/ch01 // 第1路的rtsp地址
rtsp://ip:8554/ch13 // 第2路的rtsp地址
rtsp://ip:8554/ch15 // 第3路的rtsp地址
```
3."curid":"ch13",表示当前观看第2路,app就会默认请求第2路的rtsp地址rtsp://ip:8554/ch13
2. 摄像头变化的消息推送
消息推送ID:5003,在原来消息字段的基础上增加新的字段:
{
"camnum":3,
"channel":"ch01,ch13,ch15",
"curid":"ch13"
}
每个字段的含义同 查询 部分;
注意,和原来后路定义的:2006、5003的兼容性问题:
1. 上述定义都是新增字段,不会更改原有字段,会保障只有后路时和其他APP的兼容性;
2. 当我们APP检测到有”camnum“字段时:会使用新的字段和分析摄像头的情况,不会再使用旧字段;
2.5 设备能力集查询
为更好的进行机器功能的适配,我们定义app需要的特定能力识别,以便APP自动进行部分功能适配,设备端根据真实的设备情况按下面的定义返回字符串;
接口:api/getdeviceinfo/?custom=1&cmd=9143
操作类型:查询
返回值:"value":"0100" // 具体值参考各位的字符定义
样例: ```json api/getdeviceinfo/?custom=1&cmd=9143
响应: { "value":"0100" }
其中String自动的每一位代表1个业务能力(方案商实现时,如果对某位的业务不支持或是不了解,默认填0):
第0位:GPS数据业务
- 0 不支持GPS
- 1 仅支持下载后的视频文件GPS数据获取;
- 2 支持下载后的视频文件、在线回放的视频文件GPS数据获取;
- 3 支持下载后的视频文件、在线回放的视频文件、实时画面GPS数据获取;
- 4 支持下载后的视频文件、实时画面GPS数据获取; ```
第1位:1-运动相机,0-记录仪(默认)
第2位:1-不支持停车监控相册,0-支持停车监控相册(默认)
第3位:1-该设备支持通过APP操作文件加锁,0-不支持(默认)
第4位:1- 不支持删除加锁文件;0-支持删除加锁文件(默认); 如果有需求不能删除加锁文件,修改此字段;
第5位:部分芯片拍照需要切换到拍照模式的,1- 不切换模式,直接录像码流抓拍,0-(默认)切换模式进行抓拍或是当前默认方式
第6位:回放是否使用rtsp的流,
0-(默认)-不使用rtsp的流,使用文件下载播放的方式,
1- 使用RTSP的协议TCP播放回放实时流
2- 使用RTSP的协议UDP播放回放实时流; 如果部分设备回放码率特别大,wifi传输会造成回放卡顿,需要使用rtsp播放小码流时,可以修改此字段(回放是否支持rtsp还需要设备端支持);
第7位:是否支持拍照功能,0(默认)-支持拍照功能, 1- 不支持拍照,只支持录像;部分设备资源不够,不支持拍照功能时,修改此字段,app上将会隐藏拍照按钮;
第8位:是否支持APP修改wifi名或wifi密码
- 0(默认)- 支持修改WiFi名和WiFi密码,
- 1-不支持修改WiFi名,支持修改WiFi密码,此时WiFi名将会隐藏;
- 2-支持修改WiFi名,不支持修改WiFi密码,此时WiFi密码将会隐藏;
- 3.不支持修改WiFi名,且不支持修改WiFi密码,此时WiFi名和密码都将会隐藏;
第n位:待补充
3.扩展协议
本协议定义《V536 wifi cmmad User Gide_20190809.pdf》中没有定义出来的协议,以适应更多的业务扩展;
ID | 菜单类型 - | 对应业务项 - | 备注 |
---|---|---|---|
19002 | 开关 | 驾驶辅助 | |
19003 | 下拉选项 | 缩时录影时长 | 缩时录影的时长,比如12小时、24小时之类 |
19004 | 下拉选项 | 缩时录影帧率 | 比如 1秒1帧,2秒1帧等 |
19005 | 下拉选项 | 屏幕亮度调节 | |
19006 | 下拉选项 | BSD选项 | |
19007 | 开关 | BSD语音告警开关 | |
19008 | 下拉选项 | HUD模式 | |
19010 | 开关 | 后视镜像 | 是否将后路摄像头画面镜像 |
19011 | 开关 | 倒车联动 | 记录仪画面是否和倒车进行联动 |
19012 | 下拉选项 | 停车录像模式 | 比如:普通录像、缩时录影等 |
19013 | 操作 | 对当前录制视频进行加锁操作 | 无参数 |
19014 | 下拉选项 | 停车监控gsensor灵敏度 | |
19015 | 开关 | 视频速度水印 | 视频水印是否显示速度数据 |
19016 | 开关 | 视频坐标(GPS)水印 | 视频水印是否显示经纬度数据 |
19017 | 下拉选项 | 视频水印选项 | |
19018 | 开关 | 图像上下翻转 | 是否支持图像翻转 |
19019 | 开关 | 开机音效 | 是否开启开启音效 |
19020 | 下拉选项 | 速度单位 | "KM/H", "MPH" 等 |
19021 | 开关 | 海拔水印 | 视频水印是否显示海拔数据 |
19022 | 开关 | 语音控制 | 是否开启语音控制 |
19023 | 下拉选项 | 设备时区选项 | 设备的时区列表 |