智能安防服务-边缘事件管理API-Rev0.6
智能安防服务边缘事件管理API,用于边缘安防adapter的接入。
1. 架构图
2. 流程图
2.1 应用认证
说明:事件适配应用向智能安防应用主动发起认证,认证成功后,智能安防应用返回令牌信息(token),智能安防应用接受带有此token的HTTP请求,同时,事件适配应用也接受来自智能安防应用带有此token的HTTP请求。
2.2 设备配置
2.3 人脸管理
2.4 事件布防
说明:
NVR/IPC产生告警事件后,安防应用负责管理告警事件。
2.5 抓图计划
2.6 抓拍记录查询
3. API
智能安防应用端口号:5080
事件适配应用IP地址和端口号:事件适配应用使用前,需向阿里云IoT后台小二提交端口审核,审核通过后端口方可使用。IP地址和端口号通过认证API的参数传递给智能安防应用。
3.1 接入认证
名称:edgeSecurityEvent/appAuthentication
方向:事件适配应用->智能安防应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
ip | 必填 | String | 连接发起方的IPv4地址 |
mac | 必填 | String | 连接发起方的MAC地址 00-**-3D-40 |
time | 必填 | Long | 请求的时间戳。以秒为单位,需要使用UTC时间。 |
manufacture | 必填 | String | 品牌 DH:大* HIK:海* UNIVIEW:宇* TIANDY:天**业 |
signMethod | 必填 | String | 签名方式,目前支持MD5 取值范围 MD5 SHA1 SHA256 |
sign | 必填 | String | 需要签名的内容封装格式: "TIME{time}MAC{mac}IP{ip}MANUFACTURE{DH}"大括号内的是具体内容,其外面的是名称。备注:time要转换成string类型。 |
alarmAdapterPort | 必填 | Integer | 事件适配应用的端口号 智能安防应用作为发起方,此参数省略 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | Json | 数据 |
+token | String | 令牌信息 |
示例代码
请求
{
"ip":"192.168.1.2",
"mac":"00-**-3D-40",
"time":1589472000,
"manufacture":"DH",
"signMethod":"md5",
"sign":"4db511**42",
"alarmAdapterPort":10080
}
返回
{
"code":200,
"message":"success",
"data":{
"token":"cc85****0001"
}
}
3.2 设备管理
名称:edgeSecurityEvent/deviceManage/getConfig
方向:事件适配应用->智能安防应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
manufacture | 必填 | String | 品牌 DH:大* HIK:海* UNIVIEW:宇* TIANDY:天**业 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JSONArray | 数据 |
+manufacture | String | 品牌 DH:大* HIK:海* UNIVIEW:宇* TIANDY:天**业 |
+deviceType | Integer | 设备类型 1:NVR 2:直连IPC 3:非直连IPC |
+ip | String | 设备的IP地址,deviceType为3时,为NVR的IP |
+port | Integer | 设备的端口号,deviceType为3时,为NVR的PORT |
+username | String | 登录用户名,deviceType为3时,为NVR的username |
+password | String | 登录密码,deviceType为3时,为NVR的password |
+channel | Integer | 通道号,从1开始,deviceType为3时有效 |
+childIp | String | deviceType为3时有效,子设备IP |
+childPort | Integer | deviceType为3时有效,子设备PORT |
+childUsername | String | deviceType为3时有效,子设备username |
+childPassword | String | deviceType为3时有效,子设备password |
+alarmServerIp | String | 事件辅助配置,报警服务器IP地址,deviceType==2或deviceType==3时有效,alarmServerIp和ipcChn同时存在 |
+ipcChn | String | 事件辅助配置,IP在报警服务器中的通道号,deviceType==2或deviceType==3时有效,alarmServerIp和ipcChn同时存在 |
+extInfo | String | 扩展字段 |
示例代码
请求
{
"token":"cc85****0001",
"manufacture":"DH"
}
返回
{
"code":200,
"message":"success",
"data":[{
"manufacture":"DH",
"deviceType":1,
"ip":"192.168.1.2",
"port":20080,
"u********e":"*********",
"p********d":"*********"
},{
"manufacture":"DH",
"deviceType":2,
"ip":"192.168.1.3",
"port":20080,
"u********e":"*********",
"p********d":"*********"
},{
"manufacture":"DH",
"deviceType":3,
"ip":"192.168.1.3",
"port":20080,
"u********e":"*********",
"p********d":"*********",
"childIp":"192.168.1.3",
"childPort":20080,
"childU********e":"*********",
"childP********d":"*********",
"channel":1
}]
}
名称:edgeEventAdapter/deviceManage/configChange
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
}
返回
{
"code":200,
"message":"success"
}
名称:edgeEventAdapter/deviceManage/getStatus
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JsonArray | 数据 |
+ip | String | 设备地址,deviceType为3时,ip为NVR的IP |
+channel | Integer | 通道号,从1开始,deviceType为3时有效 |
+deviceType | Integer | 设备类型 1:NVR 2:直连IPC 3:非直连IPC |
+status | Integer | 连接状态 0:连接异常 1:连接正常 |
+unnormalInfo | String | 异常信息,自定义异常信息 |
示例代码
请求
{
"token":"cc85****8808",
}
返回
{
"code":200,
"message":"success",
"data":[{
"ip":"192.168.1.2",
"deviceType":2,
"status":1
},{
"ip":"192.168.1.3",
"deviceType":2,
"status":1
},{
"ip":"192.168.1.4",
"channel":1,
"deviceType":3,
"status":0,
"unnormalInfo":"password error"
}]
}
3.3 人脸管理
名称:edgeEventAdapter/face/createGroup
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC 3:非直连IPC(NVR下IPC) |
channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
groupName | 必填 | String | 人脸库名称(最大字符长度63) |
groupType | 必填 | Integer | 人脸库类型 1:黑名单 2:白名单 3:员工 4:访客 100:其他 |
extInfo | 可选 | String | 扩展信息 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JSON | 数据 |
+groupId | String | 人脸库ID |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupName":"test_name"
}
返回
{
"code":200,
"message":"success",
"data":{
"groupId":"12"
}
}
名称:edgeEventAdapter/face/removeGroup
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC |
groupId | 必填 | String | 人脸库ID(最大字符长度63) |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12"
}
返回
{
"code":200,
"message":"success"
}
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC 3:非直连IPC(NVR下IPC) |
channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
groupId | 必填 | String | 人脸库ID(最大字符长度63) |
groupName | 必填 | String | 人脸库名称(最大字符长度63) |
extInfo | 可选 | String | 扩展信息 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12",
"groupName":"test_name2"
}
返回
{
"code":200,
"message":"success"
}
名称:edgeEventAdapter/face/getGroupDetail
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC |
groupId | 必填 | String | 人脸库Id |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JSON | 数据 |
+groupId | String | 人脸库ID |
+groupName | String | 人脸库名称 |
+groupFaceNum | Integer | 人脸库入库数量 |
+extInfo | String | 扩展信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12"
}
返回
{
"code":200,
"message":"success",
"data":{
"groupId":"12",
"groupName":"test_name",
"groupFaceNum":100
}
}
名称:edgeEventAdapter/face/getAllGroups
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JSON | 数据 |
+groups | JsonArry | |
++groupId | String | 人脸库ID(最大字符长度63) |
++groupName | String | 人脸库名称(最大字符长度63) |
++groupFaceNum | Integer | 人脸库入库数量 |
++extInfo | String | 扩展信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12"
}
返回
{
"code":200,
"message":"success",
"data":[{
"groupId":"12",
"groupName":"test_name",
"groupFaceNum":10
},{
"groupId":"13",
"groupName":"test_name2",
"groupFaceNum":10
}]
}
名称:edgeEventAdapter/face/create
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC |
groupId | 必填 | String | 人脸库ID(最大字符长度63) |
facePicUrl | 必填 | String | 人脸图片url |
name | 可选 | String | 姓名(最大字符长度63) |
extInfo | 可选 | String | 扩展信息 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JSON | 数据 |
+faceId | String | 人脸ID(最大字符长度63) |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12",
"name":"test_name",
"facePicUrl":"****"
}
返回
{
"code":200,
"message":"success",
"data":{
"faceId":"12"
}
}
名称:edgeEventAdapter/face/remove
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC |
groupId | 必填 | String | 人脸库ID(最大字符长度63) |
faceId | 必填 | String | 人脸Id(最大字符长度31) |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12",
"faceId":"12"
}
返回
{
"code":200,
"message":"success"
}
名称:edgeEventAdapter/face/modify
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC |
groupId | 必填 | String | 人脸库ID(最大字符长度63) |
faceId | 必填 | String | 人脸Id(最大字符长度31),索引值。不支持修改 |
facePicUrl | 可选 | String | 人脸图片url |
name | 可选 | String | 姓名(最大字符长度63) |
extInfo | 可选 | String | 扩展信息 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12",
"faceId",12,
"name":"test_name2",
"facePicUrl":"****"
}
返回
{
"code":200,
"message":"success"
}
名称:edgeEventAdapter/face/search
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC |
groupId | 必填 | String | 人脸库ID |
name | 可选 | String | 姓名(最大字符长度63) |
extInfo | 可选 | String | 扩展信息 |
pageNo | 可选 | Integer | 分页查询,页码,从1开始 默认为1 |
pageSize | 可选 | Integer | 分页查询,页尺寸 默认为10 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JSON | 数据 |
+faces | JsonArray | |
++groupId | String | 人脸库ID(最大字符长度63) |
++groupName | String | 人脸库名称(最大字符长度127) |
++faceId | String | 人脸Id(最大字符长度31) |
++name | String | 姓名(最大字符长度63) |
++facePicBase64 | String | 人脸图片base64编码后的数据 |
++facePicType | String | 图片类型 JPG PNG BMP |
++extInfo | String | 扩展信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":1,
"groupId":"12",
"name":"test_name2",
"pageNo":1,
"getCount":10
}
返回
{
"code":200,
"message":"success",
"data":{
"faces":[{
"groupId":"12",
"groupName":"test_grp_name",
"faceId":"12",
"name":"test_name",
"facePicBase64":"AABB****1122",
"facePicType":"JPG"
},{
"groupId":"12",
"groupName":"test_grp_name",
"faceId":"13",
"name":"test_name2",
"facePicBase64":"AABB****1122",
"facePicType":"JPG"
}]
}
}
3.4 事件布防
名称:edgeEventAdapter/alarmDeploy/setRule
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
deviceType | 必填 | Integer | 设备类型 2:直连IPC 3:非直连IPC(NVR下IPC) |
eventType | 必填 | Integer | 事件类型 1:人脸识别 2:区域入侵 3:电动车进电梯 4:垃圾桶满溢 5:高空抛物 6:消防通道占用 7:热成像-温度异常 8:热成像-人体测温 100:其他 |
alarmRule | 必填 | JsonArray | 布防计划,size |
+weekDay | 必填 | String | 周日期 星期日:SUNDAY 星期一:MONDAY 星期二:TUESDAY 星期三:WEDNESDAY 星期四:THURSDAY 星期五:FRIDAY 星期六:SATURDAY |
+timeSlot | 必填 | JsonArray | 时间段 |
++time | 必填 | String | 时间范围 0:00-2:00 |
++interval | 必填 | Integer | 时间间隔,单位秒 |
++timeExtInfo | 可选 | String | 时间段扩展信息 |
+bindGroup | 必填 | JSONArray | 人脸底库绑定 eventType == 1 时有效 |
++groupId | 必填 | String | eventType == 1 时有效 |
+extInfo | 可选 | String | 规则扩展信息 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":2,
"eventType":1,
"alarmRule":[{
"weekDay":"SUNDAY",
"timeSlot":[{
"time":"00:00-2:00",
"interval":600
},{
"time":"02:00-4:00",
"interval":600
}]
},{
"weekDay":"MONDAY",
"timeSlot":[{
"time":"00:00-23:59",
"interval":600
}]
}]
}
返回
{
"code":200,
"message":"success"
}
名称:edgeEventAdapter/alarmDeploy/getRule
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
deviceType | 必填 | Integer | 设备类型 2:直连IPC 3:非直连IPC(NVR下IPC) |
eventType | 必填 | Integer | 事件类型 1:人脸识别 2:区域入侵 3:电动车进电梯 4:垃圾桶满溢 5:高空抛物 6:消防通道占用 7:热成像-温度异常 8:热成像-人体测温 100:其他 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
data | JSONArray | |
+weekDay | String | 周日期 星期日:SUNDAY 星期一:MONDAY 星期二:TUESDAY 星期三:WEDNESDAY 星期四:THURSDAY 星期五:FRIDAY 星期六:SATURDAY |
+timeSlot | JsonArray | 时间段 |
++time | String | 时间范围 0:00-2:00 |
++interval | Integer | 时间间隔,单位秒 |
++timeExtInfo | String | 时间段扩展信息 |
+bindGroup | JSONArray | 人脸底库绑定 deviceType == 1 时有效 |
++groupId | String | deviceType == 1 时有效 |
+extInfo | String | 规则扩展信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.2",
"deviceType":2,
"eventType":1
}
返回
{
"code":200,
"message":"success",
"data":[{
"weekDay":"SUNDAY",
"timeSlot":[{
"time":"00:00-2:00",
"interval":600
},{
"time":"02:00-4:00",
"interval":600
}]
},{
"weekDay":"MONDAY",
"timeSlot":[{
"time":"00:00-23:59",
"interval":600
}]
}]
}
名称:edgeSecurityEvent/reportAlarmEvent
方向:事件适配应用->智能安防应用
说明:
事件上报接口包括四部分:事件信息、目标信息、事件扩展信息、目标扩展信息。其中事件信息和目标信息为固定部分,所有事件都可以按照格式填充这两部分。根据不同的事件,通过事件扩展信息可扩展事件信息中没有的属性,通过目标扩展信息可扩展目标信息中没有的属性。
一次事件上报只能有1个目标,如果某个事件有多个目标,则上报多个事件,多个事件的eventId和eventTime相同。
关于可选字段,要根据现场需求判断是否需要
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC 3:非直连IPC |
eventType | 必填 | Integer | 事件类型 1:人脸识别 2:区域入侵 3:电动车进电梯 4:垃圾桶满溢 5:高空抛物 6:消防通道占用 7:热成像-温度异常 8:热成像-人体测温 9:测温规则报警 10:电动车进出单元门 11:违停 12:人员徘徊 13:人员摔倒监测 100:其他 |
eventTime | 必填 | Long | 事件的触发时间,UTC时间,精确到s |
eventId | 必填 | String | 事件ID,事件的标识 |
eventStatus | 可选 | Integer | 事件状态 0:瞬时 1:开始 2:停止 |
confidence | 可选 | Integer | 事件置信度,0~255,值越大置信度越高 |
scenePicBase64 | 可选 | String | 全景图片base64,如果是智能事件,此字段为必填 |
scenePicType | 可选 | String | 全景图片类型,如果是智能事件,此字段为必填 JPG PNG BMP |
objectInfo | 可选 | Json | 目标INFO |
+objPicBase64 | 可选 | String | 目标图片base64,如果是智能事件,此字段为必填 |
+objPicType | 可选 | String | 目标图片类型,如果是智能事件,此字段为必填 JPG PNG BMP |
+letfTopX | 可选 | Integer | 左上角x坐标(0, 8192) |
+leftTopY | 可选 | Integer | 左上角y坐标(0, 8192) |
+rightBottomX | 可选 | Integer | 右下角x坐标(0, 8192) |
+rightBottomY | 可选 | Integer | 右下角y坐标(0, 8192) |
+objectExtInfo | 可选 | Json | 目标自定义扩展信息 |
extInfo | 可选 | Json | 其他扩展信息 |
objectExtInfo字段:
objectExtInfo | 可选 | Json | eventType: 1 人脸识别 |
+similarity | 必填 | Float | 相似度 (0, 1) |
+groupId | 必填 | String | 人脸所在底库的GroupId |
+faceId | 必填 | String | 底库人脸Id |
+gender | 可选 | Integer | 性别 1:男 2:女 100:未知 |
+glass | 可选 | Integer | 是否戴眼镜 0:未戴眼镜 1:戴眼镜 100:未知 |
+mask | 可选 | Integer | 是否戴口罩 0:未戴口罩 1:戴口罩 100:未知 |
+pitch | 可选 | Integer | 俯仰角 [-90,90] |
+yow | 可选 | Integer | 偏航角 [-90,90] |
+roll | 可选 | Integer | 翻滚角 [-90,90] |
+faceQuality | 可选 | Integer | 人脸质量 [0-100] |
+facePicBase64 | 可选 | String | 底库人脸图片base64 |
+facePicType | 可选 | String | 底库人脸图片类型 JPG PNG BMP |
objectExtInfo | 可选 | Json | eventType: 2 区域入侵 |
+targetType | 必填 | Integer | 目标类型 1:人 2:车 100:其他 |
objectExtInfo | 可选 | Json | eventType: 6 消防通道占用 |
+plateColor | 必填 | Integer | 车牌颜色 0:未知颜色 1:蓝色 2:黄色 3:白色 4:黑色 5:绿色 6:黄绿色 100:其他颜色 |
+plateNum | 可选 | String | 车牌号 |
+vehicleColor | 必填 | Integer | 车身颜色 1:红色 2:绿色 3:蓝色4:黄色 5:白色 6:灰色 7:黑色 8:紫色 9:棕色 10:粉色 11:银色 12:深蓝 13:深灰 14:青色 100:其他颜色 |
objectExtInfo | 可选 | Json | eventType: 7 热成像-温度异常 |
+alarmContion | 必填 | Integer | 报警条件 1:大于 2:等于 3:小于 |
+tempValue | 必填 | Float | 温度值 |
+tempUnit | 必填 | Integer | 温度单位 1:摄氏度 2:华氏度 |
objectExtInfo | 可选 | Json | eventType: 8 热成像-人体测温 |
+tempMax | 必填 | Float | 最高温度 |
+tempUnit | 必填 | Integer | 温度单位 1:摄氏度 2:华氏度 |
objectExtInfo | 可选 | Json | eventType: 10 电动车进出单元门 |
+type | 必填 | Float | 1:进单元门 2:出单元门 100:未知 |
objectExtInfo | 可选 | Json | eventType: 11 违停 |
+type | 必填 | Integer | 1:机动车 2:非机动车 100:未知 |
+plateColor | 可选 | Integer | 车牌颜色 0:未知颜色 1:蓝色 2:黄色 3:白色 4:黑色 5:绿色 6:黄绿色 100:其他颜色 |
+plateNum | 可选 | String | 车牌号 |
+vehicleColor | 可选 | Integer | 车身颜色 1:红色 2:绿色 3:蓝色4:黄色 5:白色 6:灰色 7:黑色 8:紫色 9:棕色 10:粉色 11:银色 12:深蓝 13:深灰 14:青色 100:其他颜色 |
响应参数
参数 | 类型 | 说明 |
code | Integer | 错误码 |
message | String | 信息 |
示例代码
请求(人脸识别事件)
{
"token":"cc85****0001",
"ip":"192.168.1.2",
"channel":1,
"deviceType":3,
"eventType":1,
"eventTime":1631798285,
"eventId":123,
"eventStatus":0,
"confidence":240,
"scenePicBase64":"AABB****1122",
"scenePicType":"JPG",
"objectInfo":{
"objPicBase64":"AABB****1122",
"objPicType":"JPG",
"leftTopY":100,
"leftTopY":100,
"rightBottomX":400,
"rightBottomY":400,
"objectExtInfo":{
"similarity":0.65,
"groupId":"12",
"faceId":"1",
"gender":1,
"glass":1,
"mask":0,
"pitch":15,
"yow":15,
"roll":15,
"faceQuality":95,
"facePicBase64":"AABB****1122",
"facePicType":"JPG",
}
}
}
返回
{
"code":200,
"message":"success"
}
3.5 抓图计划
名称:edgeEventAdapter/capture/setTask
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
taskId | 必填 | 任务的唯一标识 | |
deviceList | 必填 | JSONArray | 关联的监控设备 |
+ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
+channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
+deviceType | 必填 | Integer | 设备类型 2:直连IPC 3:非直连IPC(NVR下IPC) |
startDate | 必填 | String | 计划开始时间 格式:YYYY-MM-DD |
endDate | 必填 | String | 计划结束时间 格式:YYYY-MM-DD |
captureWeekDay | 可选 | JsonArray | 抓图周期 captureWeekDay和cron二选一必填 |
+weekDay | 必填 | String | 周日期 星期日:SUNDAY 星期一:MONDAY 星期二:TUESDAY 星期三:WEDNESDAY 星期四:THURSDAY 星期五:FRIDAY 星期六:SATURDAY |
+captureTime | 必填 | List | 抓图时分 24时制,格式:hh:mm |
cron | 可选 | List | cron表达式 captureWeekDay和cron二选一必填 |
status | 必填 | Integer | 启用状态 1:启用 0:禁用 |
extInfo | 可选 | String | 扩展字段 |
响应参数
参数 | 是否必填 | 类型 | 说明 |
code | 必填 | Integer | 错误码 |
message | 必填 | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"taskId":"123",
"deviceList":[{
"ip":"192.168.1.2",
"channel":1,
"deviceType":3
},{
"ip":"192.168.1.2",
"channel":2,
"deviceType":3
}],
"startDate":"2010-01-01",
"endDate":"2010-04-01",
"captureWeekDay":[{
"weekDay":"SUNDAY",
"captureTime":"10:00,12:00"
},{
"weekDay":"MONDAY",
"captureTime":"10:00,12:00"
}],
"status":1
}
返回
{
"code":200,
"message":"success"
}
名称:edgeEventAdapter/capture/getTask
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
taskId | 必填 | String | 任务的唯一标识 |
响应参数
参数 | 是否必填 | 类型 | 说明 |
code | 必填 | Integer | 错误码 |
message | 必填 | String | 信息 |
data | 必填 | JSON | 数据 |
+deviceList | 必填 | JSONArray | 关联的监控设备 |
++ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
++channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
++deviceType | 必填 | Integer | 设备类型 2:直连IPC 3:非直连IPC(NVR下IPC) |
+startDate | 必填 | String | 计划开始时间 格式:YYYY-MM-DD |
+endDate | 必填 | String | 计划结束时间 格式:YYYY-MM-DD |
+captureWeekDay | 可选 | JsonArray | 抓图周期 captureWeekDay和cron二选一必填 |
++weekDay | 必填 | String | 周日期 星期日:SUNDAY 星期一:MONDAY 星期二:TUESDAY 星期三:WEDNESDAY 星期四:THURSDAY 星期五:FRIDAY 星期六:SATURDAY |
++captureTime | 必填 | List | 抓图时分 24时制,格式:hh:mm |
+cron | 可选 | List | cron表达式 captureWeekDay和cron二选一必填 |
+status | 必填 | Integer | 启用状态 1:启用 0:禁用 |
+extInfo | 可选 | String | 扩展字段 |
示例代码
请求
{
"token":"cc85****8808",
"taskId":"123"
}
返回
{
"code":200,
"message":"success",
"data":{
"deviceList":[{
"ip":"192.168.1.2",
"channel":1,
"deviceType":3
},{
"ip":"192.168.1.2",
"channel":2,
"deviceType":3
}],
"startDate":"2010-01-01",
"endDate":"2010-04-01",
"captureWeekDay":[{
"weekDay":"SUNDAY",
"captureTime":"10:00,12:00"
},{
"weekDay":"MONDAY",
"captureTime":"10:00,12:00"
}],
"status":1
}
}
名称:edgeEventAdapter/capture/deleteTask
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
taskId | 必填 | String | 任务的唯一标识 |
响应参数
参数 | 是否必填 | 类型 | 说明 |
code | 必填 | Integer | 错误码 |
message | 必填 | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"taskId":"123"
}
返回
{
"code":200,
"message":"success"
}
名称:edgeSecurityEvent/capture/report
方向:事件适配应用->智能安防应用
版本:1.0.0
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
deviceType | 必填 | Integer | 设备类型 2:直连IPC 3:非直连IPC(NVR下IPC) |
taskId | 可选 | String | 任务ID |
captureTime | 必填 | Long | 抓图时间,UTC时间,精确到s |
picBase64 | 必填 | String | 抓拍图片base64 |
picType | 必填 | String | 图片类型 JPG PNG BMP |
响应参数
参数 | 是否必填 | 类型 | 说明 |
code | 必填 | Integer | 错误码 |
message | 必填 | String | 信息 |
示例代码
请求
{
"token":"cc85****8808",
"ip":"192.168.1.3",
"channel":1,
"deviceType":3,
"captureTime":1631798285,
"picBase64":"AABB****1122",
"picType":"JPG"
}
返回
{
"code":200,
"message":"success"
}
3.6 抓拍记录查询
名称:edgeEventAdapter/record/get
方向:智能安防应用->事件适配应用
版本:1.0.1
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
picBase64 | 必填 | String | 图片base64 |
picType | 必填 | String | 图片类型 JPG PNG BMP |
recordLimit | 必填 | Integer | 获取记录数量限制 |
startTime | 必填 | Long | UTC时间,精确到s |
endTime | 必填 | Long | UTC时间,精确到s endTime与startTime相差<=24h |
minSimilarity | 必填 | Float | 最小相似度(0,1) |
maxSimilarity | 必填 | Float | 最大相似度(0,1) maxSimilarity > minSimilarity |
pageNo | 可选 | Integer | 分页查询,页码,从1开始 默认为1 |
pageSize | 可选 | Integer | 分页查询,页尺寸,pageSize>1&pageSize<=20 默认为10 |
响应参数
参数 | 是否必填 | 类型 | 说明 |
code | 必填 | Integer | 错误码 |
message | 必填 | String | 信息 |
data | 必填 | Json | 数据 |
+totalSize | 必填 | Integer | 查询结果总数,注意,不是当页结果,是所有页的结果总和 |
+recordList | 必填 | JsonArray | |
++ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
++channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
++deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC 3:非直连IPC(NVR下IPC) |
++smallPicBase64 | 必填 | String | 小图base64 |
++smallPicType | 必填 | String | 图片类型 JPG PNG BMP |
++scenePicId | 必填 | String | 场景图id |
++similarity | 必填 | Float | 相似度(0,1) |
++captureTime | 必填 | Long | UTC时间,精确到s |
++extinfo | 可选 | JsonArray | 眼镜,性别,年龄等 |
示例代码
请求
{
"token":"cc85****8808",
"picBase64":"AABB****1122",
"picType":"JPG",
"recordLimit":10,
"startTime":1631794685,
"endTime":1631798285,
"minSimilarity":0.55,
"maxSimilarity":0.65
}
返回
{
"code":200,
"message":"success",
"data":{
"totalSize":100,
"recordList":[{
"ip":"192.168.1.3",
"channel":1,
"deviceType":3,
"smallPicBase64":"AABB****1122",
"smallPicType":"JPG",
"scenePicId":"pic1234",
"similarity":0.6,
"captureTime":1631795685
},{
"ip":"192.168.1.3",
"channel":1,
"deviceType":3,
"smallPicBase64":"AABB****1122",
"smallPicType":"JPG",
"scenePicId":"pic1235",
"similarity":0.6,
"captureTime":1631795685
}]
}
}
名称:edgeEventAdapter/record/scenePicUpload
方向:智能安防应用->事件适配应用
版本:1.0.1
请求方式:POST
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
scenePicId | 必填 | String | 场景图ID |
响应参数
参数 | 是否必填 | 类型 | 说明 |
code | 必填 | Integer | 错误码 |
message | 必填 | String | 信息 |
data | 必填 | Json | 数据 |
+picBase64 | 必填 | String | 场景图base64 |
+picType | 必填 | String | 图片类型 JPG PNG BMP |
示例代码
请求
{
"token":"cc85****8808",
"scenePicId":"pic1234",
}
返回
{
"code":200,
"message":"success",
"data":{
"picBase64":"AABB****1122",
"picType":"JPG"
}
}
名称:edgeEventAdapter/record/getAll
方向:智能安防应用->事件适配应用
版本:1.0.0
请求方式:GET
请求参数
参数 | 是否必填 | 类型 | 说明 |
token | 必填 | String | 令牌信息 |
picBase64 | 必填 | String | 图片base64 |
picType | 必填 | String | 图片类型 JPG PNG BMP |
startTime | 必填 | Long | UTC时间,精确到s |
endTime | 必填 | Long | UTC时间,精确到s endTime与startTime相差<=24h |
minSimilarity | 必填 | Float | 最小相似度(0,1) |
maxSimilarity | 必填 | Float | 最大相似度(0,1) maxSimilarity > minSimilarity |
响应参数
参数 | 是否必填 | 类型 | 说明 |
code | 必填 | Integer | 错误码 |
message | 必填 | String | 信息 |
data | 必填 | Json | 数据 |
+recordList | 必填 | JsonArray | |
++ip | 必填 | String | 设备地址,deviceType为3时,ip为NVR的IP |
++channel | 必填 | Integer | 通道号,从1开始,deviceType为3时有效 |
++deviceType | 必填 | Integer | 设备类型 1:NVR 2:直连IPC 3:非直连IPC(NVR下IPC) |
++similarity | 必填 | Float | 相似度(0,1) |
++captureTime | 必填 | Long | UTC时间,精确到s |
++extinfo | 可选 | JsonArray | 眼镜,性别,年龄等 |
示例代码
请求
{
"token":"cc85****8808",
"picBase64":"AABB****1122",
"picType":"JPG",
"recordLimit":10,
"startTime":1631794685,
"endTime":1631798285,
"minSimilarity":0.55,
"maxSimilarity":0.65
}
返回
{
"code":200,
"message":"success",
"data":{
"recordList":[{
"ip":"192.168.1.3",
"channel":1,
"deviceType":3,
"similarity":0.6,
"captureTime":1631795685
},{
"ip":"192.168.1.3",
"channel":1,
"deviceType":3,
"similarity":0.6,
"captureTime":1631795685
}]
}
}
4. 附录
4.1 错误码
code | message | 说明 |
200 | success | 成功 |
801 | adapter authentication failed | 适配应用认证失败 |
802 | adapter not authentication | 适配应用未认证 |
803 | device certificate not exist | 设备证书不存在 |
804 | param check error: /'%s/' | 参数校验失败,返回失败的参数 |
805 | memory exception | 内存异常 |
806 | json data wrong format | json数据格式错误 |
807 | device not exist | 设备不存在 |
808 | procotol not support | 不支持的协议 |
809 | manufacture error | 设备厂商错误 |
810 | abnormal communication | 模块通讯异常 |
4.2 应用要求
硬件要求:
cpu(2.0 Ghz): < 0.2core
内存: < 1Gb
磁盘: < 1Gb
服务要求:
本地可持久化数据:
智能安防应用的IP和端口号信息。
事件布防信息。
日志数据。
日志:日志中需带有级别、时间信息,且需提供以下项目:接口日志(接入、配置、告警)、设备状态日志、运行异常日志。日志可过滤。
4.3 修改记录
版本号 | 修改内容 | 修改时间 | 责任人 |
Rev0.1 | 文档创建 | 2021-09-01 | 诚治 |
Rev0.2 |
| 2022-01-18 | 诚治 |
Rev0.3 |
| 2022-02-16 | 诚治 |
Rev0.4 |
| 2022-02-22 | 诚治 |
Rev0.5 |
| 2022-03-23 | 诚治 |
Rev0.6 |
| 2022-06-09 | 诚治 |