一、V200指令集
1.获取设备属性:
http://<server_ip>/cgi-bin/hisnet/getdeviceattr.cgi
响应:
var model = "Hi3559V200-CARRECORDER-OS08A10-BT656-108";
var softversion = "1.0.0.0.20190701";
var type = "v200_car";
var 8567 = "HI;HS3559;FT01;SN20;00;D4;xx;xx;XX:XX:XX:XX"
type字段表示为设备类型,“_car”结尾表示为记录仪,“_dv”结尾表示运动DV(此类型会影响设置项显示,记录仪和运动dv设置项会有所区别)
2.获取文件列表
http://<server_ip>/cgi-bin/hisnet/getdirfilelist.cgi?&-dir=%s&-start=%d&-end=%d
参数:
-dir : front_emr, front_norm, back_emr, back_norm, front_photo, back_photo
-start: 开始下标
-end: 结束下标
响应:
sd//front_norm/2019_12_20_152719_00.MP4;sd//front_norm/2019_12_20_152638_00.MP4;sd//front_norm/2019_12_20_151921_00.MP4;
3.获取文件数量
http://<server_ip>/cgi-bin/hisnet/getdirfilecount.cgi?-dir=%s
参数:
-dir : front_emr, front_norm, back_emr, back_norm, front_photo, back_photo
响应:
var count="5";
4. 获取当前工作模式
http://<server_ip>/cgi-bin/hisnet/getworkmode.cgi
NORM_REC : 录制模式
PHOTO : 拍照模式
响应:
var workmode="NORM_REC";
5. 发送工作模式命令,如触发拍照。
http://<server_ip>/cgi-bin/hisnet/workmodecmd.cgi?-cmd=%s
参数 :
-cmd = start ( 启动录像 )
-cmd = stop ( 停止录像 )
-cmd = trigger ( 触发拍照 )
-cmd = emrbegin ( 启动紧急录像 )
6.获取公共配置项的能力集列表
http://<server_ip>/cgi-bin/hisnet/getcommparamcapability.cgi?&-type=%s
参数 :
type = VOLUME (音量)
type = SCREEN_BRIGHTNESS (屏幕亮度) => 目前没有用
type = SCREEN_DORMANT (屏保) => 目前没有用
type = GSR_SENSITIVITY (重力感应灵敏度)
type = GSR_PARKING (停车监控)
type = AUDIO (录音)
type = DEV_INFO (设备版本信息)
type = KEYTONE (按键声音)
type = BOOTSOUND (开机声音开关)
type = LAPSE_RECTIME (缩时录像时长, 关机时间)
type = LAPSE_ SWITCH (缩时录像开关)
响应:
var capability="%s";
比如:
类型VOLUME : var capability="MUTE,LOW,MIDDLE,HIGH";
类型GSR_SENSITIVITY: var capability="OFF,LOW,MIDDLE,HIGH";
类型GSR_PARKING: var capability="OFF,LOW,MIDDLE,HIGH";
其它参考返回错误类型
7 .获取当前能力值
http://<server_ip>/cgi-bin/hisnet/getcommparam.cgi?&-type=%s
参数 :
-type = VOLUME (音量)
-type = SCREEN_DORMANT (屏幕保护)
-type = GSR_SENSITIVITY (碰撞灵敏度)
-type =GSR_PARKING (停车录像)
-type = OSD (时间显示状态)
-type = FILP (翻转状态)
-type = KEYTONE (按键声音)
-type=FH_LAPESE (缩时监控)
8. 获取当前预览ID
http://<server_ip>/cgi-bin/hisnet/getpreviewcamid.cgi?
响应 :
var previewcamid="0"; (0表示前路,1表示后路)
9. 获取点播路径
http://<server_ip>/cgi-bin/hisnet/getcamchnl.cgi?&-camid=%d
参数 :
-camid = 0 ( 获取前路 )
-camid = 1 ( 获取后路 )
响应:
var camchnl="5";
10.获取特定工作模式相关设置的能力集列表
http://<server_ip>/cgi-bin/hisnet/getcamparamcapability.cgi?&-workmode=%s&-type=%s
参数 :
workmode = NORM_REC (录制模式)
workmode = PHOTO (拍照模式) => 目前拍照模式没有用
type = MEDIAMODE (视频或照片分辨率)
type = ENC_PAYLOAD_TYPE (编码格式)
type = FLIP (上下翻转)
type = MIRROR (左右镜像)
type = Rec_Split_Time (循环录像时长)
type = ANTIFLICKER (光源频率)
type = REC_TYPE (录像类型: value = NORMAL:普通录像 \ LAPSE:缩时录像)
type = LAPSE_INTERVAL (缩时录像时间间隔 value = 0.5S/1S/5S, 缩时录像帧率)
type = OSD (日期标签)
响应:
var capability="%s";
比如:
类型MEDIAMODE: var capability="1080P30,720P30";
类型ENC_PAYLOAD_TYPE: var capability="H264,H265";
类型Rec_Split_Time: var capability="1MIN,3MIN,5MIN";
类型ANTIFLICKER: var capability=" 50,60";
其它参考返回错误类型
11 . 获取特定工作模式相关的设置值
http://<server_ip>/cgi-bin/hisnet/getcamparam.cgi?&-workmode=%s&-type=%s
参数 :
workmode = NORM_REC (录制模式)
workmode = PHOTO (拍照模式) => 目前拍照模式没有用
type = MEDIAMODE (视频或照片分辨率)
type = ENC_PAYLOAD_TYPE (编码格式)
type = FLIP (上下翻转)
type = MIRROR (左右镜像)
type = Rec_Split_Time (循环录像时长)
type = ANTIFLICKER (光源频率)
type = REC_TYPE (录像类型: value = NORMAL:普通录像 \ LAPSE:缩时录像)
type = LAPSE_INTERVAL (缩时录像时间间隔 value = 0.5S/1S/5S, 缩时录像帧率)
type = OSD (日期标签)
响应:
var value="%s”
其它参考返回错误类型
12. 设置特定工作模式下特定配置项的值
http://<server_ip>/cgi-bin/hisnet/setcamparam.cgi?&-workmode=%s&-type=%s&-value=%s
参数 :
workmode = NORM_REC (录制模式)
workmode = PHOTO (拍照模式) => 目前拍照模式没有用
type = MEDIAMODE (视频或照片分辨率)
type = ENC_PAYLOAD_TYPE (编码格式)
type = FLIP (上下翻转)
type = MIRROR (左右镜像)
type = Rec_Split_Time (循环录像时长)
type = ANTIFLICKER (光源频率)
type = REC_TYPE (录像类型: value = NORMAL:普通录像 \ LAPSE:缩时录像)
type = LAPSE_INTERVAL (缩时录像时间间隔 value = 0.5S/1S/5S)
type = OSD (日期标签)
value : 配置项的值
响应:
Success
其它参考返回错误类型
13.获取wifi热点信息
http://<server_ip>/cgi-bin/hisnet/getwifi.cgi?
响应:
var wifissid = "wifi-xxx";
var wifikey = "12345678";
var wifichannel = "xx";
14.设置wifi热点(与hisiv200一致)
http://<server_ip>/cgi-bin/hisnet/setwifi.cgi?&-wifissid=%s&-wifikey=%s&-wifichannel=%s
参数:
-wifissid : wifi名
-wifikey : wifi密码 (设备没有密码不需要加此参数)
-wifichannel : wifi通道
15. 切换前后路
http://<server_ip>/cgi-bin/hisnet/voswitch.cgi?
如从前路切换成后路先获取后路预览ID,再发此指令
响应:
Success
其它:参考返回错误类型
说明 必须多路时才有效
16. 设置新工作模式
http://<server_ip>/cgi-bin/hisnet/setworkmode.cgi?&-workmode=%s
参数:
-workmode = NORM_REC ( 录制模式 )
-workmode = PHOTO ( 拍照模式 )
17. 向板端注册自己的IP,以收到同步消息
http://<server_ip>/cgi-bin/hisnet/client.cgi?&-operation=register&-ip=%s
参数 :
-ip : 手机端Ip
18. 向板端反注册自己的IP,不再收到同步消息
http://<server_ip>/cgi-bin/hisnet/client.cgi?&-operation=unregister&-ip=%s
参数 :
-ip : 手机端Ip
19. 获取单目和双目
http://<server_ip>/cgi-bin/hisnet/getcamnum.cgi?
20. 设置DV端时间
http://<server_ip>/cgi-bin/hisnet/setsystime.cgi?&-time=%04d%02d%02d%02d%02d%02d
参数 :
time = 年月日分秒
21.恢复出厂设置
http://<server_ip>/cgi-bin/hisnet/reset.cgi?
22.设备SD卡Command
http://<server_ip>/cgi-bin/hisnet/sdcommand.cgi?&-format 格式化SD卡
http://<server_ip>/cgi-bin/hisnet/sdcommand.cgi?&-umount 卸载SD卡
http://<server_ip>/cgi-bin/hisnet/sdcommand.cgi?&-mount 挂载SD卡
响应:
var sdstatus="%d";(0OUT \ 1MOUNT \ 2UMOUNT \ 3READONLY \ 4NOPARTITION \ 5BUTT)
var sdfreespace="%d";
var sdtotalspace="%d";
var partitionnum="%d";
其它:参考返回错误类型
23.获取SD卡信息
http://<server_ip>/cgi-bin/hisnet/getsdstatus.cgi
响应:
var sdstatus="%d";
var sdfreespace="%d";
var sdtotalspace="%d";
var partitionnum="%d”;
其它:参考返回错误类型
24.获取电池状态:
http://<server_ip>/cgi-bin/hisnet/getbatterycapacity.cgi
响应:
var capacity="%d"; 电量范围 0~100
var charge ="%d"; 0或1
var ac ="%d"; 0或1(0. power not connected,1 power connected )
其它:参考返回错误类型
25.获取文件信息
http://<server_ip>/cgi-bin/hisnet/getfileinfo.cgi?&- name=%s
参数:
name 是绝对路径, sd//文件夹名称/文件名.MP4\JPG,比如:
以norm视频文件为例:getfileinfo.cgi&-name=sd//norm/2023_05_06_150835_00.MP4
响应:
var size="%u";
var path="%s";
var time="%u";
var create="%s";
其它:参考返回错误类型
26.获取文件\照片 缩列图
http://<server_ip>/name
参数:
name是文件的绝对路径, sd//文件夹名称/文件名. THM\JPG,比如:
sd//norm/2023_05_06_150835_00. THM
说明: 播放类似, 视频后缀名MP4
视频跳播(快进快退),直接lseek操作即可
27.删除文件
http://<server_ip>/cgi-bin/hisnet/deletefile.cgi?&- name=%s
参数:
name 是绝对路径, sd//文件夹名称/文件名.MP4\JPG,比如:
以norm视频文件为例:deletefile.cgi&-name=sd//norm/2023_05_06_150835_00.MP4
响应:
Success
其它:参考返回错误类型
28.获取设备工作状态
http://<server_ip>/cgi-bin/hisnet/getworkstate.cgi
响应:
var workmode="%s";
var running="%s"; "true" : "false"
var emrrecord="%s"; "true" : "false"
其它:参考返回错误类型
workmode 说明
"NORM_REC" 录像
"PHOTO" 拍照
"PLAYBACK" 回放
“UVC"
"USB_STORAGE"
"PARKING_REC"
"UPGRADE"
29.设置公共配置项的值
http://<server_ip>/cgi-bin/hisnet/setcommparam.cgi?&-type=%s&-value=%s
参数 :
type = VOLUME (音量)
type = SCREEN_BRIGHTNESS (屏幕亮度) => 目前没有用
type = SCREEN_DORMANT (屏保) => 目前没有用
type = GSR_SENSITIVITY (重力感应灵敏度)
type = GSR_PARKING (停车监控)
type = AUDIO (录音)
type = DEV_INFO (设备版本信息)
type = KEYTONE (按键声音)
type = BOOTSOUND (开机声音开关)
type = LAPSE_RECTIME (缩时录像时长, 关机时间)
type = LAPSE_SWITCH (缩时录像开关)
value : 配置项的值
响应:
Success
其它参考返回错误类型
30.获取公共配置项的值
http://<server_ip>/cgi-bin/hisnet/getcommparam.cgi?&-type=%s
参数 :
type = VOLUME (音量)
type = SCREEN_BRIGHTNESS (屏幕亮度) => 目前没有用
type = SCREEN_DORMANT (屏保) => 目前没有用
type = GSR_SENSITIVITY (重力感应灵敏度)
type = GSR_PARKING (停车监控)
type = AUDIO (录音)
type = DEV_INFO (设备版本信息)
type = KEYTONE (按键声音)
type = BOOTSOUND (开机声音开关)
type = LAPSE_RECTIME/LOW_FPS_REC_TIME (缩时录像时长, 关机时间)
type = LAPSE_SWITCH/LOW_FPS_REC (缩时录像开关)
响应:
var value="%s";
其它参考返回错误类型
31.错误类型
-2222 HISNET_SVR_RTN_ERROR CGI 对应业务接口执行失败。
-3333 HISNET_SVR_REGFUNC_NULL CGI 对应的业务接口未注册。
-4444 HISNET_SVR_CMD_INVALID 命令类型错误。
-5555 HISNET_SVR_ARGPARSER_ERROR CGI 格式解析错误s
32.获取设备功能集
http://<server_ip>/cgi-bin/hisnet/getcamerafunc.cgi
响应:
var camerafunc = "carplay:1;wifip2p:moto_1234,ad5245365487";
其它:参考返回错误类型
33.获取硬件识别码
http://<server_ip>/cgi-bin/hisnet/getdeviceattr.cgi
响应:
...
var 8567 = "HI;HS3559;FT01;SN20;00;D4;xx;xx;XX:XX:XX:XX"
备注
8567为getdeviceattr指令中增加,已有内容保持不变
34. 切换到投屏模式
http://<server_ip>/cgi-bin/hisnet/enterp2p.cgi?
响应:
Success
35. 心跳
http://<server_ip>/cgi-bin/hisnet/heartbeat.cgi?
响应:
Success
二、V300 新增
2.1 检测连接状态
http://<server_ip>/cgi-bin/hisnet/checkconnect.cgi?&-ip=%s
参数: ip : 手机端 IP
响应:
Success (连接成功)
其它:参考返回错误类型
2.2 ota升级上传
上传升级文件到设备根目录
[post]
http://<server_ip>/
formdata(参数为form表单型式)
参数: file : 升级文件内容
响应:
Success
其它:参考返回错误类型
2.3 设备重启
升级文件上传成功后发送重启指令让设备进入升级
http://<server_ip>/cgi-bin/hisnet/restart.cgi?
三、socket通讯协议(设备主动向APP发送)
1. APP端Sokcet端口 : 9002
2. 设备端向APP端发送数据:
JSON数据格式如下
{
"type":"0",
"eventid": "",
"arg1": "",
"arg2": "NORM_REC",
"result": "SUCCESS",
"payload":""
}
1.参数说明:
参数名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
type | String | 必填 | 0 ( 消息通知 ) 1 ( 预留 ) |
eventid | String | 必填 | 事件ID字符串 |
arg1 | String | 可选 | (参数类型) |
arg2 | String | 必填 | NORM_REC (工作模式) |
result | String | 必填 | SUCCESS 或者FAILURE (执行结果) |
payload | String | 可选 | 表示设置参数的值,比如WIFI密码 |
type :
值 | 描述 |
---|---|
0 | 消息通知 |
1 | 预留 |
arg2:
值 | 描述 |
---|---|
SING_PHOTO | 普通拍照模式 |
DLAY_PHOTO | 延迟拍照 |
PHOTO | 拍照模式 |
LPSE_PHOTO | 定时拍照 |
NORM_REC | 普通录像模式 |
LOOP_REC | 循环录像 |
LPSE_REC | 缩时录像 |
RECSNAP | 录中拍模式 |
SLOW_REC | 慢速录像模式 |
PLAYBACK | 回放 |
UVC | UVC 模式 |
USB_STORAGE | 存储模式 |
SUSPEND | 待机模式 |
HDMI_PREVIEW | HDMI 预览模式 |
HDMI_PLAYBACK | HDMI 回放模式 |
PARKING_REC | 停车录像 |
事件ID:
值 | 描述 |
---|---|
STORAGEMNG_DEV_ERROR | SD卡错误 |
STORAGEMNG_FS_CHECK_FAILED | SD卡错误 |
STORAGEMNG_FS_EXCEPTION | SD卡错误 |
STORAGEMNG_MOUNT_FAILED | SD卡错误 |
STORAGEMNG_DEV_UNPLUGED | SD卡拔出 |
STORAGEMNG_DEV_CONNECTING | SD卡准备中 |
STORAGEMNG_FS_CHECKING | SD卡准备中 |
STORAGEMNG_MOUNTED | 不立即更新SD卡信息,待定期获取后自动刷新 |
STATEMNG_SETTING | 设备设置参数事件 |
STATEMNG_START | 正在录像 |
STATEMNG_STOP | 停止录像 |
STATEMNG_EMR_BEGIN | 开始紧急录像 |
STATEMNG_EMR_END | 停止紧急录像 |
STATEMNG_LIVE_SWITCH | 切换前后路 |
STATEMNG_SWITCH_WORKMODE | 切换工作模式 |
STATEMNG_TRIGGER | 抓拍事件 |
STATEMNG_POWEROFF | 关机事件 |