设备WebHook上报数据接口说明
C1C2上报格式
描述
AI人脸抓拍机可配置Webhook向对应的服务器地址发送人脸图、客流数据以及设备状态信息
数据格式
- 投递内容为json格式,由基本字段加事件特定字段组成。
- 请求及返回结果都使用UTF-8字符集进行编码
- 以下所有Timestamp时间戳类型,默认为GMT时间,Unix时间戳(1970年1月1日开始所经过的秒数)
基本字段
字段 |
类型 |
必填 |
描述 |
type |
int |
是 |
区分特定字段内容, 见下表 |
cid |
string |
是 |
设备标识号 |
time |
timestamp |
是 |
本消息上报时间,单位秒 |
type值 |
类型 |
描述 |
触发条件 |
1 |
抓拍事件 |
人脸图、场景图、脸图的基本信息 |
检测到人脸时 |
2 |
客流统计 |
单位时间到到访人员数量、投递成功与失败的统计 |
默认每隔10分钟上报,周期可以配置 |
3 |
设备状态 |
设备本地IP、设备MAC、开机时间、GPS信息 |
默认每隔60秒上报,周期可以配置 |
抓拍事件
字段 |
类型 |
必填 |
描述 |
upload_id |
uint |
是 |
开机后第几次上报脸图(用于服务器判断上传脸图是否不连续,有丢失) |
track_id |
uint |
是 |
脸图的追踪标识号。cid、time、track_id可构成脸图的唯一id号 |
faces |
Array |
是 |
脸部图片base64字符串列表,base64转码后为jpg格式,取决于web中是否勾选“上传抓拍脸图”,默认勾选 |
image |
String |
否 |
场景图片base64字符串,base64转码后为jpg格式,取决于web中是否勾选“上传抓拍底图”,默认勾选 |
front_value |
int |
是 |
0~100正脸度,判断此值来过筛选合适识别的脸图,建议大于80的脸图用于识别使用,低于的可用于客流统计使用 |
sharpen_ness |
int |
是 |
0~100清晰度,判断此值来过筛选合适识别的脸图,建议大于80的脸图用于识别使用,低于的可用于客流统计使用 |
scale_out_y |
float |
是 |
垂直外扩系数,用于截脸图时的扩展,可以截取一个比较美观的脸图,取小数点前两位,如1.00 |
scale_out_x |
float |
是 |
水平外扩系数,用于截脸图时的扩展,可以截取一个比较美观的脸图,取小数点前两位,如0.40 |
upload_face_size |
uint |
是 |
上传脸图的宽高像素大小上限,如果超过此值则进行等比缩小,脸图仅指五官部分 |
position |
array |
是 |
脸图在场景图的坐标,Array格式是:"[x1,y1],[x2,y2]",其中x1,y1是左上角坐标,x2,y2是右下角坐标 |
result |
object |
是 |
人脸识别结果object,包括以下的person_type,person_id,person_name,sex,age,confidence |
person_type |
int |
否 |
人脸是否已注册 1:已注册 0:未注册。(离线识别设备特有字段) |
person_id |
String |
否 |
注册时填写的人物的唯一标识,最大长度32字节。(机内识别设备特有字段) |
person_name |
String |
否 |
注册时填写的名字,最大长度32字节。(机内识别设备特有字段) |
sex |
String |
否 |
注册时填写的性别,男:male,女:female,最大长度8字节。(机内识别设备特有字段) |
age |
int |
否 |
注册时填写的年龄。(机内识别设备特有字段) |
confidence |
float |
否 |
此次识别计算得出的置信度。(机内识别设备特有字段) |
temperature |
float |
否 |
人体体温,范围30.0-43.0摄氏度,精确到小数点后一位。(测温设备特有字段) |
mask |
int |
否 |
是否佩戴口罩,0:未佩戴,1:已佩戴 |
返回值
第三方http服务器接收到设备投递的抓拍事件信息(即type值等于1)之后,可以将服务器识别到的结果返回给设备,设备将根据识别结果进行显示信息,开启gpio等操作。
如果含display字段,则作为识别结果显示到视频流,如不含display字段,则依次显示"name age sexual"信息。
字段 |
类型 |
必填 |
描述 |
result |
object |
否 |
识别结果obj |
name |
string |
否 |
名字,支持中英文,最大长度32字节 |
sexual |
string |
否 |
性别,男/女:male/female,最大长度8字节 |
display |
string |
否 |
需要显示的识别信息,最大长度128字节 |
age |
int |
否 |
年龄 |
unlock_gpio |
int |
否 |
gpio开锁,0:关闭,1:开启 |
unlock_bluetooth |
int |
否 |
蓝牙开锁,0:关闭,1:开启(未实现) |
box_color |
int |
否 |
识别框颜色为对应值(24bit RGB 0xRRGGBB)(未实现) |
text_color |
int |
否 |
显示信息颜色为对应值(24bit RGB 0xRRGGBB)(未实现) |
sound_url |
string |
否 |
下载声音文件播放(文件大小32KB以内为佳,格式为采样率8KHz 16位PCM,暂不支持MP3) |
示例
{
"result": {
"name": "刘德华",
"age": 50,
"sexual": "male",
"display": "VIP-刘德华/男/50",
"box_color": 654321,
"text_color": 123456,
"unlock_gpio": 1,
"unlock_bluetooth": 1,
"sound_url", "http://www.example.com/welcome.mp3"
}
}
C1客流的统计数据
字段 |
类型 |
必填 |
描述 |
from |
timestamp |
是 |
当天当地时间的0时0分0秒。 |
track_exc |
uint |
是 |
出现人脸数:从from时开始侦测区域外的track id的总数量 (cnt_outMd) |
track_inc |
uint |
是 |
出现人脸数:从from时开始侦测区域内的track id的总数量 (cnt_inMd) |
track_upload |
uint |
是 |
合格人脸数:从from时开始侦测区域内符合上传条件的track id的总数量 (cnt_eligible) |
upload_total |
uint |
是 |
从from时开始上报脸图信息次数。 (cnt_upload) |
upload_success |
uint |
是 |
从from时开始上报脸图信息成功次数。(cnt_uploadOK) |
C2客流的统计数据
字段 |
类型 |
必填 |
描述 |
count_time |
timestamp |
是 |
当天当地时间的0时0分0秒。 |
time |
timestamp |
是 |
发送消息时间,单位秒 |
total |
uint |
是 |
当天的客流总数 |
count_per_hour |
object |
是 |
此object分别存放当天每个小时的客流数量.(包含下面的begin_time,end_time, number) |
begin_time |
uint |
是 |
该小时的开始时间(第0分0秒). |
end_time |
uint |
是 |
该小时的结束时间(等于begin_time加3600). |
number |
uint |
是 |
该小时的客流数量 |
返回值
忽略
备注
- 设备按当天当地时间0时0分0秒开始计算每天的客流统计数据。
- 设备每隔10分钟存盘一次客流统计数据,如设备重启则从flash重新加载数据继续统计,若跨天时会立刻上报一次客流统计数据,前一天的数据会被清空,10分钟后开始上报当天的数据。
设备的状态信息
字段 |
类型 |
必填 |
描述 |
uptime |
timestamp |
是 |
设备启动时间(以设备启动后首次NTP成功或从其他时间同步途径获取到时间开始算起) |
mode |
int |
是 |
当前设备模式,0:平台模式;1:单机模式;其他为无效 |
app_version |
String |
是 |
当前设备固件版本号,例如1.5.1.888 |
gps |
Array |
是 |
经纬度与速度,其中速度单位为米/秒,如果无gps信息或输出为0,则字段内容为空,字段要保留 "gps":{"longitude":"","latitude":"","speed":""} |
lan |
object |
否 |
见下方网络信息json |
|
wifi |
object |
否 |
见下方网络信息json |
mac |
String |
否 |
网卡mac地址 |
ip |
String |
否 |
网卡ip地址 |
gw |
String |
否 |
网关地址 |
dns |
String |
否 |
dns域名解析服务器地址 |
dhcp |
int |
否 |
0:静态ip, 1:动态ip |
ssid |
String |
否 |
wifi名,当使用无线网时有此字段 |
sig |
int |
否 |
wifi信号强度,当使用无线网时有此字段 |
|
seq |
int |
是 |
facelib_manage操作成功时会返回 |
可通过返回参数控制设备
第三方http服务器接收到设备的状态信息(即type值等于3)之后,可以将time_interval返回给设备,设置设备状态信息的发送间隔(以此字段作为心跳间隔),返回参数中必须带time_interval字段.
字段 |
类型 |
必填 |
描述 |
time_interval |
int |
是 |
心跳间隔 |
第三方http服务器接收到设备的状态信息(即type值等于3)之后,可以将rtmp推流的控制信息返回给设备,从而实现对设备推流的控制.推流控制信息有两个控制来源,一个来自第三方返回的控制信息,一个来自赛蓝的平台.
,两种方式可以互抢,设备响应最近收到的一次控制信息,旧的控制信息会被新的覆盖.
字段 |
类型 |
必填 |
描述 |
rtmp |
obj |
是 |
rtmp控制信息obj |
rtmp_enable |
int |
是 |
rtmp推流开关,1开始推流,0结束推流. |
rtmp_timeout |
int |
是 |
rtmp推流持续时长,单位秒,比如设置120s,120s之后,未再次收到此消息,将停止推流. |
rtmp_url |
string |
是 |
rtmp推流地址,长度不能大于512字节. |
第三方http服务器接收到设备的状态信息(即type值等于3)之后,可以将脸库管理信息返回给设备,即可对设备脸库进行查询,注册,删除,清空等操作.
由于C1和C2设备所使用的算法不同,脸库管理的消息也有部分区别,请根据设备类型选用脸库管理的协议.
C1和C2设备可根据设备状态信息中的app_version进行区分,C1的人脸识别设备app_version是3开头(3.x.x.xxx),例如3.5.3.783. C2的人脸识别设备app_version是4开头(4.x.x.xxx),例如4.2.0.286.
以下是C1设备脸库管理请求参数:
字段 |
类型 |
必填 |
描述 |
facelib_manage |
obj |
是 |
人脸库管理obj |
type |
int |
是 |
脸库管理消息类型,1:增量注册,在保留原有脸库的基础上新增脸图,如果有重复的脸图将会被新的脸图覆盖,2:先清空设备中的所有脸图,再注册当前下发的脸图,3:删除person_ids对应的的脸图,4:清空设备中的所有脸图,5:请求设备内的所有人脸的personid和名字name. |
seq |
int |
是 |
消息序列号,可用utc时间戳赋值(单位秒)设备会将本地的seq和收到的seq进行对比,不相等的时候就去下载特征值文件然后进行注册,所以特征值文件没发生改变时,seq也不需要改变,除非需要重新注册或清空脸库,如果此次脸库管理操作成功,设备会保存此次的seq,在下一次发送心跳时返回相同的seq. |
facelib_url |
string |
是 |
人脸库下载地址,长度不能大于512字节. |
person_ids |
string |
是 |
需要删除的person id列表,不同id之间用逗号隔开. |
以下是C1设备脸库管理回复参数:
| 字段 | 类型 | 必填 | 描述 |
| -------------- | --------- | ---- | ----------------------------------------------------------------------------------- |
| total_face | uint | 是 | 设备中注册的人脸总数。 |
| face | Array | 是 | 人脸信息数组 |
| person_id | String | 否 | 注册时填写的人物的唯一标识,最大长度32字节。|
| person_name | String | 否 | 注册时填写的名字,最大长度32字节。 |
C1设备脸库管理示例
type 1, 注册请求:
{
"facelib_manage":
{
"type": 1,
"seq": 1566358435,
"facelib_url": "http://192.168.102.55:8000/test.json.gz"
}
}
type 1, 无回复:
type 2, 先清空设备脸库,再注册:
{
"facelib_manage":
{
"type": 1,
"seq": 1566358435,
"facelib_url": "http://192.168.102.55:8000/test.json.gz"
}
}
type 2, 无回复:
type 3, 删除person_ids对应的人脸请求:
{
"facelib_manage": {
"type": 3,
"seq": 1566358435,
"person_ids": "1530328053_xRW2UVaF,1530328061_4DKCgzJ7,1530328068_JHL0Fa8x,1530328075_lla9K0QQ"
},
"time_interval":120
}
type 3, 无回复:
type 4, 清空设备脸库请求:
{
"facelib_manage": {
"type": 4,
"seq": 1566358435
},
"time_interval":120,
}
type 4, 无回复:
type 5, 查询设备脸库请求:
{
"facelib_manage": {
"type": 4,
"seq": 1566358435
},
"time_interval":120,
}
type 5, 查询设备脸库回复:
{
"cid" : "294300000005",
"type" : 4,
"time" : 1542430377,
"total_face" : 5,
"face" :
[
{
"person_id" : "20190629153538m3CH6Jdtc2DHnANaab",
"person_name" : "张丽"
},
{
"person_id" : "20190629153538MFwkbpkVeRXQVCmiYi",
"person_name" : "明明"
},
{
"person_id" : "201906291535388Di0THqo0wDgNzrWHK",
"person_name" : "玉玉"
},
{
"person_id" : "20190629153539Kh2y5dvAW7Sg5fxZQC",
"person_name" : "余瑜"
},
{
"person_id" : "2018110814232977K3PJOTsvrLC5twRq",
"person_name" : "何总"
}
]
}
以下是C2设备脸库管理请求参数:
字段 |
类型 |
必填 |
描述 |
facelib_manage |
obj |
是 |
人脸库管理obj,所有脸库管理相关的字段都包含在此obj中 |
type |
int |
是 |
type 1-注册,2-注销,3-清空, 6-先清空设备中的脸库之后再注册, 7-获取脸库信息 |
seq |
int |
是 |
消息序列号,可用utc时间戳赋值(单位秒)设备会将本地的seq 和收到的seq进行对比,不相同时才会进行本次操作 |
datas |
obj |
可选 |
type 1或6时需要,人脸注册信息obj,包含下面的 person_id,person_name,age,sex, person_type, face_url. |
person_id |
string |
可选 |
注册时填写的人物的唯一标识,最大长度32字节,注册时必填. |
person_name |
string |
可选 |
名字,注册时必填. |
person_type |
string |
可选 |
人脸权限1 VIP,3 黑名单,4 白名单,注册时必填. |
age |
int |
可选 |
年龄. |
sex |
string |
可选 |
性别. |
face_url |
string |
可选 |
人脸图片下载路径(人脸图片需支持http get方式下载),注册时必填. |
person_ids |
obj |
可选 |
type 2时需要,需要删除的person id数组. |
以下是C2设备脸库管理回复参数.
字段 |
类型 |
必填 |
描述 |
cid |
string |
是 |
设备cid |
result |
obj |
可选 |
type 1,2,3,6,7时会返回,本次脸库管理操作结果obj,包含下面的 person_id,person_name,ret. |
person_id |
string |
可选 |
注册时填写的人物的唯一标识,最大长度32字节,注册时必填. |
person_name |
string |
可选 |
type 7时会返回,名字. |
total_face |
obj |
可选 |
type 7时会返回,设备已注册人脸总数. |
ret |
int |
可选 |
此personid是否操作成功. |
sign |
string |
可选 |
暂未使用. |
time |
int |
可选 |
当前时间. |
C2设备脸库管理示例
type 1,注册请求:
{
"facelib_manage":{"type":1,"seq":1579573779,"datas":[
{"age":27,"face_url":"http://oss-cn-hangzhou.aliyuncs.com/jiafeigou-test/long/cm/13058172585/201907021356317Ptv3uA2AcAIVW2KhH.jpg?OSSAccessKeyId=xjBdwD1du8lf2wMI&Expires=1579573774&Signature=vwT4gGDbBanum%2BuY8tDMYpoS4RQ%3D","person_id":"m20190702135701NScfPqeva0r0fZrDYR","person_name":"小钟","sex":"male"},
{"age":27,"face_url":"http://oss-cn-hangzhou.aliyuncs.com/jiafeigou-test/long/cm/13058172585/20190702140325qP57VvRhxpQj8W2DR5.jpg?OSSAccessKeyId=xjBdwD1du8lf2wMI&Expires=1579573774&Signature=5S4g8Za5VksXO6WrH%2FxiU%2FJiFh0%3D","person_id":"m20190702140406DVKugCr9QLMWJ648ET","person_name":"小王","sex":"male"},
{"age":41,"face_url":"http://oss-cn-hangzhou.aliyuncs.com/jiafeigou-test/long/cm/13058172585/20191204163025RnscHe9eGiNJoRPcaV.jpg?OSSAccessKeyId=xjBdwD1du8lf2wMI&Expires=1579573774&Signature=lbwczB5nAGrBtXch3MzYqyCtMKI%3D","person_id":"m20191204163102b7rHD1QjgZ3Cihg64g","person_name":"老曹","sex":"male"}]
}
}
type 1,注册回复:
{
"cid":"293900000002",
"result":[{"person_id":"m20190702135701NScfPqeva0r0fZrDYR","ret":0},
{"person_id":"m20190702140406DVKugCr9QLMWJ648ET","ret":0},
{"person_id":"m20191204163102b7rHD1QjgZ3Cihg64g","ret":0}
],
"sign":"",
"time":1579077769,
"type":1
}
type 2,删除personids对应的人脸请求:
{
"facelib_manage":
{
"type":2,
"seq":1579573774,
"person_ids":
[
"m20191204163102b7rHD1QjgZ3Cihg64g",
"m20190702135701NScfPqeva0r0fZrDYR",
"m20190702140406DVKugCr9QLMWJ648ET"
]
}
}
type 2,删除personids对应的人脸回复:
{
"cid":"293900000002",
"result":
[
{"person_id":"m20191204163102b7rHD1QjgZ3Cihg64g","ret":0},
{"person_id":"m20190702135701NScfPqeva0r0fZrDYR","ret":0},
{"person_id":"m20190702140406DVKugCr9QLMWJ648ET","ret":0}
],
"sign":"",
"time":1579078006,
"type":2
}
type 3,清空脸库请求:
{
"facelib_manage":
{
"type":3,
"seq":1579573778
}
}
type 3,清空脸库回复:
{
"cid":"293900000002",
"result":[{"person_id":"","ret":0}],
"sign":"",
"time":1579078215,
"type":3
}
type 6 清空脸库之后,再注册请求:
{
"facelib_manage":{"type":6,"seq":1579573779,"datas":[
{"age":27,"face_url":"http://oss-cn-hangzhou.aliyuncs.com/jiafeigou-test/long/cm/13058172585/201907021356317Ptv3uA2AcAIVW2KhH.jpg?OSSAccessKeyId=xjBdwD1du8lf2wMI&Expires=1579573774&Signature=vwT4gGDbBanum%2BuY8tDMYpoS4RQ%3D","person_id":"m20190702135701NScfPqeva0r0fZrDYR","person_name":"小钟","sex":"male"},
{"age":27,"face_url":"http://oss-cn-hangzhou.aliyuncs.com/jiafeigou-test/long/cm/13058172585/20190702140325qP57VvRhxpQj8W2DR5.jpg?OSSAccessKeyId=xjBdwD1du8lf2wMI&Expires=1579573774&Signature=5S4g8Za5VksXO6WrH%2FxiU%2FJiFh0%3D","person_id":"m20190702140406DVKugCr9QLMWJ648ET","person_name":"小王","sex":"male"},
{"age":41,"face_url":"http://oss-cn-hangzhou.aliyuncs.com/jiafeigou-test/long/cm/13058172585/20191204163025RnscHe9eGiNJoRPcaV.jpg?OSSAccessKeyId=xjBdwD1du8lf2wMI&Expires=1579573774&Signature=lbwczB5nAGrBtXch3MzYqyCtMKI%3D","person_id":"m20191204163102b7rHD1QjgZ3Cihg64g","person_name":"老曹","sex":"male"}]
}
}
type 6 清空脸库之后,再注册回复:
{
"cid":"293900000002",
"result":[{"person_id":"m20190702135701NScfPqeva0r0fZrDYR","ret":0},
{"person_id":"m20190702140406DVKugCr9QLMWJ648ET","ret":0},
{"person_id":"m20191204163102b7rHD1QjgZ3Cihg64g","ret":0}
],
"sign":"",
"time":1579077769,
"type":6
}
type 7,获取人脸库信息请求:
{
"facelib_manage":{"type":7,"seq":1579573778}
}
type 7,获取人脸库信息回复:
{
"cid":"293900000002",
"result":
[
{"person_id":"m20190702135701NScfPqeva0r0fZrDYR","person_name":"小钟"},
{"person_id":"m20190702140406DVKugCr9QLMWJ648ET","person_name":"小王"},
{"person_id":"m20191204163102b7rHD1QjgZ3Cihg64g","person_name":"老曹"}
],
"sign":"",
"time":1579078726,
"total_face":3,
"type":7
}
第三方http服务器接收到设备的状态信息(即type值等于3)之后,可以将升级文件路径返回给设备,对设备进行升级.
字段 |
类型 |
必填 |
描述 |
upgrade_url |
string |
是 |
升级文件下载路径. |
第三方http服务器接收到设备的状态信息(即type值等于3)之后,可以修改第三方http服务器地址.
字段 |
类型 |
必填 |
描述 |
http_server_url |
string |
是 |
第三方http服务器地址. |
第三方http服务器接收到设备的状态信息(即type值等于3)之后,可以将校时信息返回给设备,对设备进行校时.
字段 |
类型 |
必填 |
描述 |
time_set |
obj |
是 |
校时信息obj. |
time_stamp |
uint |
是 |
utc时间戳,单位秒. |
time_zone |
int |
是 |
时区信息,单位秒,如东八区,就下发8x3600,即28800,如西八区,就下发-8x3600,即-28800. |
rtmp控制示例
{
"rtmp": {
"rtmp_enable": 1,
"rtmp_timeout": 120,
"rtmp_url": "rtmp://sz.jfgou.com/hls/%CID%"
},
"time_interval":60
}
升级推送示例
{
"upgrade_url":"http://192.168.102.55:8000/JFG17WJCA_1gb_V3-3.5.3.560-App.bin"
}
校时示例
{
"time_set":
{
"time_stamp": 1566459660,
"time_zone": 28800
}
}
第三方服务器地址修改示例
{
"http_server_url":"http://192.168.102.55:8000",
"time_interval":30
}
请求设备内的所有人脸的personid和名字name
{
"facelib_manage": {
"type": 5,
"seq": 1566358435
},
"time_interval":30
}
以上几个控制信息也可合并在同一个json中回复给设备
{
"rtmp":
{
"rtmp_enable": 1,
"rtmp_timeout": 120,
"rtmp_url": "rtmp://sz.jfgou.com/hls/%CID%"
},
"facelib_manage":
{
"type": 1,
"seq": 1566358435,
"facelib_url": "http://192.168.102.55:8000/EFS_26.json.gz",
"person_ids": "1530328053_xRW2UVaF,1530328061_4DKCgzJ7,1530328068_JHL0Fa8x,1530328075_lla9K0QQ"
},
"time_interval":120,
"time_set":
{
"time_stamp": 1566459660,
"time_zone": 28800
},
"upgrade_url":"http://192.168.102.55:8000/JFG17WJCA_1gb_V3-3.5.3.560-App.bin"
}
备注:
- 仅当使用无线网卡时上报wifi节点, 仅当使用有线网卡时上报lan节点, lan, wifi 只上报其中一个节点.
- 仅当打开gps开关时上报gps信息
请求示例
上报脸图信息(带场景图和离线识别信息)
curl -H "Content-Type: application/json"
-X POST -d {
"cid" : "290200001002",
"front_value" : 89,
"position" :
[
"[688,240],[1520,1072]"
],
"result" :
{
"age" : "28",
"confidence" : 0.63847750425338745,
"person_id" : "20181025111910JWq9bNaycdmDXozub9",
"person_name" : "小明",
"person_type" : 1,
"sex" : "male"
},
"scale_out_x" : 1.1000000238418579,
"scale_out_y" : 0.5,
"sharpen_ness" : 86,
"time" : 1542433807,
"track_id" : 139,
"type" : 1,
"upload_face_size" : 180,
"upload_id" : 2,
"faces": ["face_data..."],
"image": ["base_data..."]
}
上报脸图信息(不带场景图和离线识别信息)
curl -H "Content-Type: application/json"
-X POST -d {
"cid" : "290200001002",
"front_value" : 89,
"position" :
[
"[688,240],[1520,1072]"
],
"scale_out_x" : 1.1000000238418579,
"scale_out_y" : 0.5,
"sharpen_ness" : 86,
"time" : 1542433807,
"track_id" : 139,
"type" : 1,
"upload_face_size" : 180,
"upload_id" : 2,
"faces": ["face_data..."],
}
C1客流统计数据信息
{
"cid" : "290200001002",
"from" : 1542384000,
"time" : 1542435760,
"track_exc" : 3,
"track_inc" : 58,
"track_upload" : 2,
"type" : 2,
"upload_success" : 4,
"upload_total" : 4
}
C2客流统计数据信息
{
"type" : 2,
"time": 1540545494,
"cid": "290200001002",
"count_time": 1540483200,
"total": 1100,
"count_per_hour": [
{
"begin_time": 1540508400,
"end_time": 1540511999,
"number": 500,
},
{
"begin_time": 1540512000,
"end_time": 1540515599,
"number": 600,
}
]
}
设备状态信息(wifi)
{
"app_version" : "1.5.1.888",
"cid" : "290200001002",
"gps" :
[
0.0,
0.0,
0.0
],
"mode" : 1,
"time" : 1542430377,
"type" : 3,
"uptime" : 1542429740,
"wifi" :
{
"dhcp" : 1,
"dns" : "192.168.100.3",
"gw" : "192.168.100.3",
"ip" : "192.168.104.130",
"mac" : "EC:3D:FD:28:33:48",
"netmask" : "255.255.0.0",
"sig" : -59,
"ssid" : "Xiaomi_ACF2"
}
}
设备状态信息(lan)
{
"app_version" : "1.5.1.888",
"cid" : "290200001002",
"gps" :
[
0.0,
0.0,
0.0
],
"mode" : 1,
"time" : 1542430377,
"type" : 3,
"uptime" : 1542429740,
"lan" :
{
"dhcp" : 1,
"dns" : "192.168.100.3",
"gw" : "192.168.100.3",
"ip" : "192.168.104.130",
"mac" : "EC:3D:FD:28:33:48",
"netmask" : "255.255.0.0",
}
}
XD500上报格式
XD500设备状态信息
注:按指定间隔时间发送设备状态信息
字段 |
类型 |
必填 |
描述 |
app_version |
string |
是 |
设备固件版本 |
cid |
string |
是 |
设备CID |
gps |
string |
是 |
gps信息 |
mode |
int |
是 |
当前设备模式 |
type |
int |
是 |
消息类型 |
uptime |
timestamp |
是 |
消息上报时间 |
lan |
string |
是 |
见下方网络信息 |
dhcp |
int |
是 |
0:关闭1:开启 |
dns1 |
string |
是 |
dns域名解析服务器地址 |
dns2 |
string |
是 |
dns域名解析服务器地址 |
gw |
string |
是 |
网关地址 |
ip |
string |
是 |
设备ip地址 |
mac |
string |
是 |
网卡mac地址 |
netmask |
string |
是 |
子网掩码 |
示例:
{
"app_version": "32-00-00-13",
"cid": "330000000002",
"gps": [0, 0, 0],
"mode": 0,
"time": 1639385565,
"type": 3,
"uptime": 1638867285,
"lan": {
"dhcp": 0,
"dns1": "202.96.134.133",
"dns2": "202.96.128.68",
"gw": "192.168.0.1",
"ip": "192.168.0.178",
"mac": "30:57:ac:12:cc:13",
"netmask": "255.255.255.0"
}
}
XD500人脸信息
注:当检测到人脸时会上报人脸消息
字段 |
类型 |
必填 |
描述 |
IpAddr |
string |
是 |
IP地址 |
MACAddress |
string |
是 |
MAC地址 |
DeviceID |
string |
是 |
设备ID |
DeviceCID |
string |
是 |
设备CID |
Count |
int |
是 |
列表数量 |
FaceID |
int |
是 |
人脸ID |
TopLeftX |
int |
是 |
X左上(0-1000) |
TopLeftY |
int |
是 |
Y左上(0-1000) |
BottomRightX |
int |
是 |
X右下(0-1000) |
BottomRightY |
int |
是 |
Y右下(0-1000) |
Confidence |
float |
是 |
置信度(0-1,部分型号支持) |
Clarity |
float |
是 |
清晰度(0-1) |
Frontal |
float |
是 |
正脸度(0-1,部分型号支持) |
Quality |
float |
是 |
质量(0-1,部分型号支持) |
Age |
float |
是 |
年龄 |
Gender |
string |
是 |
性别Male:男 Female:女 |
FeatureCode |
int |
是 |
人脸特征码 |
Time |
string |
是 |
时间(TZ格式,如:2018-07-01T18:00:00Z) |
IsRegistered |
int |
是 |
是否已注册的人脸0:未注册 1:已注册 |
Similarity |
float |
否 |
与已注册人脸图片的相似度 |
RegisteredID |
int |
否 |
已注册人脸的ID |
Name |
string |
否 |
已注册人脸的姓名 |
WBAttribute |
string |
否 |
已注册人脸的黑白名单类型: White,Black, Other |
CardType |
int |
否 |
已注册人脸的卡类型0:身份证1:护照2:工作证3:其他 |
CardNum |
string |
否 |
已注册人脸的卡号 |
Station |
string |
否 |
已注册人脸的位置 |
Department |
string |
否 |
已注册人脸的部门 |
Remarks |
string |
否 |
已注册人脸的备注 |
Addr |
string |
否 |
已注册人脸的地址 |
RegSnapshot |
string |
否 |
注册抓拍图片,格式: jpeg;base64 |
Snapshot |
string |
否 |
抓拍图片,格式: jpeg;base64 |
SnapshotNum |
int |
否 |
抓拍序号,将此值提供给下一次请求,可以减少接收重复信息 |
FaceSnapFile |
string |
否 |
人脸图像文件名,可以通过此文件名获取图片内容 |
FullSnapFile |
string |
否 |
完整图像的文件名,可以通过此文件名获取图片内容,比如:http://[:port] /ISAPI/FaceDetection/Image/ [file_name] |
示例:
{
"DetectedFaceList": {
"IpAddr": "192.168.0.178",
"MACAddress": "30:57:AC:12:CC:13",
"DeviceID": "1701080000",
"DeviceCID": "330000000002",
"Count": 1,
"Face_0": {
"FaceID": 13,
"Position": {
"TopLeftX": 67,
"TopLeftY": 309,
"BottomRightX": 178,
"BottomRightY": 531
},
"HumanPosition": {
"TopLeftX": 0,
"TopLeftY": 161,
"BottomRightX": 417,
"BottomRightY": 999
},
"Clarity": 0.596436,
"Quality": 0.865340,
"Age": 13,
"Glass": "OrdinaryGlasses",
"Beard": "NoBeard",
"Hair": "LongHair",
"Hat": "None",
"Respirator": "OtherRespirator",
"IsRegistered": 1,
"RegisteredID": 1,
"FeatureCode": 982645025,
"Similarity": 0.836136,
"Name": "x",
"CardType": 0,
"CardNum": "12345678",
"Station": "",
"Department": "",
"Addr": "",
"Remarks": "",
"Gender": "Female",
"WBAttribute": "White",
"NodeID": "",
"Time": "2021-12-17T16:01:53Z",
"SnapshotNum": 12,
"FaceSnapFile": "face_13_44279.jpg",
"FullSnapFile": ""
}
}
}
XD500的c2客流统计数据
注:每10分钟上传一次数据
字段 |
类型 |
必填 |
描述 |
type |
int |
是 |
消息类型 |
time |
timestamp |
是 |
发送消息时间,单位秒 |
cid |
string |
是 |
设备CID |
count_time |
timestamp |
是 |
当天当地时间的0时0分0秒 |
total |
int |
是 |
当天的客流总数 |
count_per_hour |
int |
是 |
此object分别存放当天每个小时的客流数量.(包含下面的begin_time,end_time, number) |
begin_time |
timestamp |
是 |
该小时的开始时间(第0分0秒). |
end_time |
timestamp |
是 |
该小时的结束时间(等于begin_time加3600). |
number |
int |
是 |
该小时的客流数量 |
示例:
{
"type": 2,
"time": 1639294526,
"cid": "330000000008",
"count_time": 1639267200,
"total": 3,
"count_per_hour": [{
"begin_time": 1639267200,
"end_time": 1639270799,
"number": 0
}, {
"begin_time": 1639270800,
"end_time": 1639274399,
"number": 3
}]
}