车牌识别一体机MQTT 对接协议
目录
目录
- 文档说明 8
- 修订记录 9
- 协议说明 11
- 设置参数 12
- 消息体说明 13
- 订阅设备消息 15
- 发布消息到设备 33
文档说明
本文针对使用 Mqtt 协议直接对接 R3、R5 系列车牌识别一体机的开发技术人员使用。
修订记录
|
版本号 |
日期 |
变更信息 |
|
V1.1.0 |
2022/12/5 |
初版 |
|
v1.1.1 |
2023/01/09 |
识别结果删除 colorValue 字段, 此字段与 colorType 重复. |
|
v1.1.2 |
2023/07/11 |
增加车牌加密配置接口 |
|
v.1.1.3 |
2023/11/24 |
车牌信息增加 is_danger 字段 |
|
v1.1.4 |
2024/02/27 |
更 新 或 者 新 增 白 名 单 增 加 seg_time_start,seg_time_end 字段, 删除 seg_time |
|
v1.1.5 |
2024/03/13 |
默认MQTT Topic 格式修改,升级后,旧的配置保持不变,恢复默认则会使用新的格式;客 户端id 支持使用{sn}变量的方式,用于支持工 具批量配置; |
|
v1.1.6 |
2024/05/11 |
增加道闸状态 |
|
v1.1.7 |
2024/06/06 |
增加道闸连接状态,功能开关状态上报 |
|
v1.1.8 |
2024/10/29 |
更新mqtt 屏显配置协议示例 |
|
v1.1.9 |
2024/11/20 |
新增record_uuid 和 event_channel 字段 |
|
v1.1.10 |
2024/12/12 |
触发类型新增 85 和 86 |
|
v1.1.11 |
2025/01/21 |
新增车辆颜色(米、橙、紫) |
|
v1.1.12 |
2025/02/26 |
更新 7.16.3.8 示例和描述 |
|
v1.1.13 |
2025/03/05 |
更新 7.17.3 和 7.18.3 的描述 |
|
v1.1.14 |
2025/03/21 |
增加 7.19 直接开闸 |
协议说明
Mqtt 协议主要用于控制数据的下发以及识别结果等消息的推送等功能。
设置参数
登录 Web 页面设置相关配置,所有的支持的 Topic 都支持自定义。
MQTT 为支持发布订阅的消息队列,设备可以将系统信息推送到 MQTT 服务器,客户再从 MQTT 服务器订阅设备发布的信息。
以下为 MQTT 配置界面。本地 MQTT 服务安装,测试说明参见文档《安装 MQTT 服务测试说明.pdf》
消息体说明
订阅和发布消息体
{
“id”: “iUA4fO7yCGrHZO2C”, # 消息 ID,用于关联具体消息 “bv”: 12378, # 开发板版本号
“sn”: “265e1040-85e01fb7”, # 设备序列号
“name”: “ivs_result”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1621926595, # 时间戳
“payload”: {} #消息主体
}
回执消息体
发布:
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “ivs_trigger”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “ivs_trigger”, “body”: {}
}
}
回执:
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “ivs_trigger”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0
“payload”: null, # 消息数据,视具体消息而定
“timestamp”: 1597285865 # 时间戳
}
注意事项:
- 如果要订阅发布消息的回执,请一定在发布消息之前订阅回执 Topic。
- 发布消息和回执消息的 id 字段相同,通过此字段。
- 如果要发送的设备不属于你或者发布的消息设备不支持,此消息是不会到达设备的。
- 建议订阅消息的回执,这样在超过一定时间(比如 10s)还没有收到回执消息,即可判定发送失败。
- 默认 Topic 格式
// 订阅 Topic device/{sn}/message/up/{name}
// 发布 Topic device/{sn}/message/down/{name}
// 回执 Topic device/{sn}/message/down/{name}/reply
{sn}表示当前设备的序列号,{name}为 Topic 所属的功能名。
订阅设备消息
由于各个产品功能不一样,所以支持的功能也不一样,需要在 Web 端去配置,此文档主要以 R3 车牌识别一体机来做说明。
订阅识别结果
接口描述
当相机产生识别结果后,推送此消息。
订阅默认 Topic
device/{sn}/message/up/ivs_result
消息示例
{
“id”: “iUA4fO7yCGrHZO2C”, “bv”: 12378,
“sn”: “265e1040-85e01fb7”,
“name”: “ivs_result”, “version”: “1.0”,
“timestamp”: 1621926595, “payload”: {
“AlarmInfoPlate”: { “channel”: 0,
“deviceName”: “0001”,
“ipaddr”: “192.168.6.94”,
“serialno”: “8fcd1c4e-20ca9ecb”, “user_data”: “5Lit5Zu9”, “rule_id”:1,
“result”: {
“PlateResult”: {
“bright”: 0,
“carBright”: 0,
“carColor”: 0,
“car_brand”: {
“brand”: 42,
“type”: 255,
“year”: 65535
},
“car_location”: {
“RECT”: {
“bottom”: 630,
“left”: 850,
“right”: 1213,
“top”: 427
}
},
“plates”: [
{
“binimg_path”: “”, “binImgSize”: 0, “binimg_content”: “”, “clipImgSize”: 0, “image_path”: “xxx”, “image_absolute_path”: “xxx”, “image_relative_path”: “xxx”, “color”: 4,
“content”: “”,
“license”: “”, “plate_width”: 304,
“is_danger”: 0, “pos”: {
“bottom”: 422,
“left”: 432,
“right”: 634,
“top”: 322
},
“type”: 14
}
],
“clean_time”: 0,
“colorType”: 1,
“colorValue”: 0,
“confidence”: 100,
“direction”: 0, “feature_code”: true,
“gioouts”: [
],
“bucket”: “xxx”,
“oss_type”: “”, “imageFragmentPath”: “xxx”, “imageFragmentAbsolutePath”: “xxx”, “imageFragmentRelativePath”: “xxx”, “small_image_content”: “”, “imagePath”: “xxxxxxxxxxxxx”,
“imageAbsolutePath”: “xxxxxxxxxxxxx”, “imageRelativePath”: “xxxxxxxxxxxxx”, “full_image_content”: “”, “is_encrypted”:0,
“is_fake_plate”: 0,
“isoffline”: 0,
“license”: “6LWjR1o3UzEz”, “license_ext_type”: 0, “location”: {
“RECT”: {
“bottom”: 555,
“left”: 954,
“right”: 1109,
“top”: 502
}
},
“plate_distance”: 0,
“plate_true_width”: 0,
“plateid”: 594785, “timeStamp”: {
“Timeval”: {
“decday”: 11,
“dechour”: 16,
“decmin”: 30,
“decmon”: 8,
“decsec”: 19,
“decyear”: 2021,
“sec”: 1628670619,
“usec”: 539956
}
},
“timeUsed”: 3879571,
“triggerType”: 4,
“type”: 1,
“begin_time”: 1725871942,
“end_time”: 1725871952,
“start_time”: 1686299994687,
“record_uuid”: 1732097394342,
“event_channel”: 1,
“unique_id”: “dac8d1d3-248ce33e_1686299994687”
}
}
}
}
}
|
层级 |
参数 |
类型 |
说明 |
备注 |
|
1 |
AlarmInfoPlate |
obje ct |
识别结果信息 |
|
|
1.1 |
channel |
int |
通道 |
|
|
1.2 |
devicebegin_time |
stri ng |
设备名称,Base64 编码 |
|
|
1.3 |
ipaddr |
stri ng |
设备 IP 地址 |
|
|
1.4 |
serialno |
stri ng |
设备序列号 |
|
|
1.5 |
user_data |
stri ng |
用户自定义信息,Base64 编码 |
|
|
1.6 |
rule_id |
int |
算法检测框的 ID[0-4],需要在网 页上配置 |
|
|
1.7 |
result |
obje ct |
识别结果 |
|
|
1.7.1 |
PlateResult |
obje ct |
车牌识别结果信息 |
|
|
1.7.1.1 |
bright |
int |
亮度评价 |
|
|
1.7.1.2 |
plates |
arra y |
三地车牌列表,每组对应一个车牌 |
|
|
1.7.1.2.1 |
color |
int |
车牌颜色序号 |
|
|
1.7.1.2.2 |
clipImgSize |
int |
车牌小图大小 |
|
|
1.7.1.2.3 |
image_path |
stri ng |
特写图,Base64 编码后的云存路径 |
废弃字 段,新对接用户不 建议 |
|
使 用;使用臻云时,此字段是相对路 径,使用自定义 MQTT 时,表示的是绝对 路径 |
||||
|
1.7.1.2.4 |
image_absolute_path |
stri ng |
特写图,Base64 编码后的云存绝对路径 |
使用 VZOS S 时,此字段无 效 |
|
1.7.1.2.5 |
image_relative_path |
stri ng |
特写图,Base64 编码后的云存相对 路径 |
|
|
1.7.1.2.6 |
content |
stri ng |
Web 设置传图方式为 Mqtt,并且使能特写图上传,此字段表示的特写 图的 Base64 编码。 |
|
|
1.7.1.2.7 |
license |
stri ng |
车牌(UTF8),Base64 编码 |
|
|
1.7.1.2.8 |
plate_width |
int |
车牌宽度 |
|
|
1.7.1.2.9 |
pos |
obje ct |
车牌坐标 |
|
|
1.7.1.2.1 0 |
type |
int |
车牌类型 |
|
|
1.7.1.2.1 1 |
binimg_path |
stri ng |
二值化后的特写图,Base64 编码后的云存路径 |
该字段仅高速产品 E5 存在 |
|
1.7.1.2.1 2 |
binimg_absolute_path |
stri ng |
二值化后的特写图,Base64 编码后的云存绝对路径 |
该字段仅高速产品 E5 存在 |
|
1.7.1.2.1 3 |
binimg_relative_path |
stri ng |
二值化后的特写图,Base64 编码后的云存相对路径 |
该字段仅高速产品 E5 存在 |
|
1.7.1.2.1 4 |
binimg_content |
stri ng |
Web 设置传图方式为 Mqtt,并且使能特写图上传,此字段表示的二值化特写图的 Base64 编码(分辨率 120*20,图像格式为 BMP/1bit,不含 BMP 文件头)。 |
该字段仅高速产品 E5 存在 |
|
1.7.1.2.1 5 |
binImgSize |
int |
二值化后的车牌小图大小 |
该字段仅高速产品 E5 存在 |
|
1.7.1.2.1 6 |
is_danger |
int |
是否是危险车牌,0:否,1:是, -1:功能未开启(该功能仅高速版有效) |
该字段仅高速产品 E5 存在 |
|
1.7.1.3 |
license |
stri ng |
车牌(GBK),Base64 编码 |
|
|
1.7.1.4 |
license_ext_type |
int |
新型小型车牌扩展字段(0 未知;1非运营;2 运营;3 政府车牌,R4、 RM 暂不支持) |
|
|
1.7.1.5 |
carBright |
int |
车的亮度 |
|
|
1.7.1.6 |
carColor |
int |
车的颜色(0 白;1 银;2 黄;3 粉; 4 红;5 绿;6 蓝; 7 棕;8 黑;9灰;10 米;11 橙;12 紫;255 未 知) |
|
|
1.7.1.7 |
car_brand |
obje ct |
车辆品牌 |
|
|
1.7.1.7.1 |
brand |
int |
车辆品牌(此定义根据版本不同, 需要时请询公司获取) |
|
1.7.1.7.2 |
type |
int |
车型(此定义根据版本不同,需要时请询公司获取) |
|
|
1.7.1.7.3 |
year |
int |
年份(此定义根据版本不同,需要 时请询公司获取) |
|
|
1.7.1.8 |
car_location |
obje ct |
车辆位置 |
|
|
1.7.1.8.1 |
RECT |
obje ct |
车辆位置 |
|
|
1.7.1.8.1 .1 |
bottom |
int |
下 |
|
|
1.7.1.8.1 .1 |
left |
int |
左 |
|
|
1.7.1.8.1 .2 |
right |
int |
右 |
|
|
1.7.1.8.1 .3 |
top |
int |
上 |
|
|
1.7.1.9 |
clean_time |
Int |
默认 0,仅通过 Http 服务器配置了车辆清洗检测参数,此字段才会有 值。 |
|
|
1.7.1.10 |
colorType |
int |
车牌颜色序号 |
|
|
1.7.1.11 |
colorValue |
int |
车牌颜色 |
|
|
1.7.1.12 |
confidence |
int |
车牌可信度(0~100) |
|
|
1.7.1.13 |
direction |
int |
运动方向(0 未知;1 左;2 右;3 上;4 下) |
|
|
1.7.1.14 |
feature_code |
arra y |
IO 输出事件(暂不支持) |
|
|
1.7.1.15 |
gioouts |
int |
车辆特征码(不支持) |
|
|
1.7.1.16 |
bucket |
stri ng |
oss 桶名称 |
使用 VZOS S 时,此字段无 效 |
|
1.7.1.17 |
oss_type |
stri ng |
oss 类型,VZOSS:vzoss,七牛云: qiniu,阿里云:alioss |
|
|
1.7.1.17 |
imageFragmentPath |
stri ng |
特写图,Base64 编码后的云存路径 |
废弃字 段,新对接用户不 建议 |
|
使 用;使用臻云时,此字段是相对路 径,使用自定义 MQTT 时,表示的是绝对 路径 |
||||
|
1.7.1.18 |
imageFragmentAbsolut ePath |
stri ng |
特写图,Base64 编码后的云存绝对路径 |
使用 VZOS S 时,此字段无 效 |
|
1.7.1.19 |
imageFragmentRelativ ePath |
stri ng |
特写图,Base64 编码后的云存相对 路径 |
|
|
1.7.1.20 |
small_image_content |
stri ng |
Web 设置传图方式为 Mqtt,并且使能特写图上传,此字段表示的特写 图的 Base64 编码。 |
|
|
1.7.1.21 |
imagePath |
stri ng |
背景图,Base64 编码后的云存路径 |
废弃字 段,新对接用户不建议使 用;使用臻云时, 此字 |
|
段是相对路 径,使用自定义 MQTT 时,表示的是绝对 路径 |
||||
|
1.7.1.22 |
imageAbsolutePath |
stri ng |
背景图,Base64 编码后的云存绝对路径 |
使用 VZOS S 时,此字段无 效 |
|
1.7.1.23 |
imageRelativePath |
stri ng |
背景图,Base64 编码后的云存相对 路径 |
|
|
1.7.1.24 |
full_image_content |
Web 设置传图方式为 Mqtt,并且使 能背景图上传,此字段表示的特写图的 Base64 编码。 |
||
|
1.7.1.25 |
is_fake_plate |
int |
是否是伪车牌(0 真;1 伪) |
|
|
1.7.1.26 |
is_encrypted |
int |
车牌是否加密(0 未加密;非 0 值表 示 加 密 ) 说 明 : 1:aes-128-ecb-padding-zeros;2 :level2 |
|
|
1.7.1.27 |
isoffline |
int |
是否离线数据(0 在线;暂不支持 离线数据推送) |
|
|
1.7.1.28 |
location |
obje ct |
车牌位置矩形 |
|
|
1.7.1.28. 1 |
RECT |
obje ct |
车牌位置矩形 |
|
|
1.7.1.28. 2 |
bottom |
int |
下 |
|
|
1.7.1.28. 3 |
left |
int |
左 |
|
|
1.7.1.28. 4 |
right |
int |
右 |
|
|
1.7.1.28. 5 |
top |
int |
上 |
|
1.7.1.29 |
plate_distance |
int |
车牌距离相机的位置,单位 dm |
|
|
1.7.1.30 |
plate_true_width |
int |
车牌的真实宽度,单位 cm |
|
|
1.7.1.31 |
plateid |
int |
记录编号 |
|
|
1.7.1.32 |
timeStamp |
obje ct |
时间戳 |
|
|
1.7.1.32. 1 |
Timeval |
obje ct |
时间戳 |
|
|
1.7.1.32. 1.1 |
decday |
long int |
日 |
|
|
1.7.1.32. 1.2 |
dechour |
long int |
时 |
|
|
1.7.1.32. 1.3 |
decmin |
long int |
分 |
|
|
1.7.1.32. 1.4 |
decmon |
long int |
月 |
|
|
1.7.1.32. 1.5 |
decsec |
long int |
秒 |
|
|
1.7.1.32. 1.6 |
usec |
long int |
微秒 |
|
|
1.7.1.32. 1.7 |
decyear |
long int |
年 |
|
|
1.7.1.33 |
timeUsed |
int |
识别用时 |
|
|
1.7.1.34 |
triggerType |
int |
触发类型: 触发类型:1 自动;2 外部;4 软件; 8 虚拟地感线圈;64 车滞留事件; 65 车滞留恢复事件;66 机动车折返事件;67 机动车通行事件;68跟车事件;69 车辆拥堵;70 车辆拥堵解除;71 人滞留;72 人滞留解除;73 人员拥堵;74 人员拥堵解除;75 非机动车滞留;76 非机动车滞留解除;77 道闸正常;78道闸异常;79 道闸回落;80 道闸抬升;85 车头与车尾号牌不一致; 86 车牌识别;87 非机动车拥堵; 88 非机动车拥堵解除 |
事件功能仅有部分设备支持 |
|
1.7.1.35 |
type |
int |
车牌类型 |
|
|
1.7.1.37 |
begin_time |
uint 32 |
事件开始时间, 秒 |
|
|
1.7.1.38 |
end_time |
uint 32 |
事件结束时间,秒 |
|
|
1.7.1.39 |
start_time |
uint 64 |
事件触发时间,毫秒 |
|
|
1.7.3.40 |
unique_id |
stri |
事件唯一 id,格式为 sn_start_time, |
|
ng |
如: “12345678-87654321_1597285865 00” |
|||
|
1.7.1.35 |
event_channel |
int |
事件产生通道,
|
仅 X2 设备 有效 |
|
1.7.1.39 |
record_uuid |
uint 64 |
记录关联 id |
仅 X2 设备 有效 |
订阅快速识别结果
接口描述
当相机产生识别结果后,推送此消息。
订阅默认 Topic
device/{sn}/message/up/quick_ivs_result
消息示例
与 6.1 识别结果类似,没有图片相关字段;
-
- 订阅 IO 输入事件
接口描述
当相机有 IO 输入事件触发后,推送此消息。
订阅默认 Topic
device/{sn}/message/up/gpio_in
消息示例
{
“id”: “b1Y1wdVEHu1xFwdU”, “bv”: 12378,
“sn”: “265e1040-85e01fb7”,
“name”: “gpio_in”,
“version”: “1.0”,
“timestamp”: 1621927036, “payload”: {
“body”: { “AlarmGioIn”: {
“deviceName”: “IVS”, “ipaddr”: “192.168.13.22”,
“result”: { “TriggerResult”: {
“source”: 0,
“value”: 1
}
},
“serialno”: “265e1040-85e01fb7”
}
}
}
}
|
层级 |
参数 |
类型 |
说明 |
|
1 |
body |
object |
Body 内容 |
|
1.1 |
AlarmGioIn |
object |
IO 输入事件结构体 |
|
1.1.1 |
deviceName |
string |
设备名称,Base64 编码 |
|
1.1.2 |
ipaddr |
string |
设备 IP |
|
1.1.3 |
result |
object |
结果 |
|
1.1.3.1 |
TriggerResult |
object |
触发结果 |
|
1.1.3.1.1 |
source |
int |
IO 编号 |
|
1.1.3.1.2 |
value |
int |
IO 状态(0 断, 1 通 ,2 先 通后断) |
|
1.1.4 |
serialno |
string |
设备序列号 |
订阅串口数据接收
接口描述
当相机串口收到数据后,推送此消息。
订阅默认 Topic
device/{sn}/message/up/serial_data
消息示例
{
“id”: “b1Y1wdVEHu1xFwdU”, “bv”: 12378,
“sn”: “265e1040-85e01fb7”,
“name”: “serial_data”, “version”: “1.0”,
“timestamp”: 1621927036, “payload”: {
“body”: { “SerialData”: {
“data”: “MTIzNDU2”,
“dataLen”: 6, “deviceName”: “IVS”, “ipaddr”: “192.168.13.22”,
“serialChannel”: 0,
“serialno”: “265e1040-85e01fb7”
}
}
}
}
|
层级 |
参数 |
类型 |
说明 |
|
1 |
body |
object |
Body 内容 |
|
1.1 |
SerialData |
object |
串口数据结构体 |
|
1.1.2 |
data |
string |
串口数据,Base64 编码 |
|
1.1.3 |
dataLen |
int |
串口数据长度 |
|
1.1.4 |
deviceName |
string |
设备名称,Base64 编码 |
|
1.1.5 |
ipaddr |
string |
设备 IP |
|
1.1.6 |
serialChannel |
int |
串口号(具体参考产品定义) |
|
1.1.7 |
serialno |
string |
设备序列号 |
订阅抓图结果
接口描述
当相机抓图完成后,推送抓图结果。
订阅默认 Topic
device/{sn}/message/up/snapshot
消息示例
{
“id”: “b1Y1wdVEHu1xFwdU”, “bv”: 12378,
“sn”: “265e1040-85e01fb7”,
“name”: “snapshot”,
“version”: “1.0”,
“timestamp”: 1621927036, “payload”: {
“state_code”: 200, “imageformat”: “jpg”, “imgPath”: “”, “imgAbsolutePath”: “”, “bucket”: “”,
“oss_type”: “”, “imgRelativePath”: “”, “image_content”: “”
}
}
|
层级 |
参数 |
类型 |
说明 |
|
1 |
payload |
object |
Body 内容 |
|
1.1 |
state_code |
int |
状态码(200 成功;500 失败) |
|
1.2 |
imageformat |
string |
图片格式(目前固定支持 jpg) |
|
1.3 |
imgPath |
string |
图片路径,Base64 编码后的云存路径,若使用臻云,此路径为相对路径,若使 用自定义 MQTT,此路径为绝对路径;不 |
|
建议新对接用户使用此字段; |
|||
|
1.4 |
imgAbsolutePath |
string |
图片路径,Base64 编码后的云存绝对路 径 |
|
1.5 |
imgRelativePath |
string |
图片路径,Base64 编码后的云存相对路 径 |
|
1.6 |
bucket |
string |
oss 桶名称 |
|
1.7 |
oss_type |
string |
oss 类 型 , VZOSS:vzoss, 七 牛 云 : qiniu,阿里云:alioss |
|
1.8 |
image_content |
string |
Web 设置传图方式为 Mqtt,并且使能背景图上传, 此字段表示的背景图的 Base64 编码。 |
订阅离线数据数量
接口描述
当相机存储离线数据以后,在特定时间推送此消息。特定时间:
1、收到 offline_record 订阅时;
2、本次离线数据发送结束时;
订阅默认 Topic
device/{sn}/message/up/offline_record
消息示例
{
“bv”: 12378,
“id”: “6rIxgoC0DBcIPVeJ”, “name”: “offline_record”, “payload”: {
“body”: { “offline_record”: 0
}
},
“sn”: “d50908e1-b2d16043”,
“timestamp”: 1631868294,
“version”: “1.0”
}
|
层级 |
参数 |
类型 |
说明 |
|
1 |
payload |
object |
Body 内容 |
|
1.1 |
state_code |
int |
状态码(200 成功;500 失败) |
|
1.2 |
offline_record |
int |
离线数据数量 |
订阅离线消息
接口描述
发布离线数据推送命令后,推送此消息。
订阅默认 Topic
device/{sn}/message/up/ivs_result_offline
消息示例
与订阅识别结果相同;注:离线记录没有存储小图。
订阅道闸状态
接口描述
道闸状态发生改变,推送此消息
订阅默认 Topic
device/{sn}/message/up/barr_gate_status
消息示例
{
“bv”: 17475,
“id”: “C38yKcaIfd1nbObu”, “name”: “barr_gate_status”, “payload”: {
“body”: { “connect_status”:1, “enable”:1, “gate_ctrl_id”: 1,
“gate_status”: 1
}
},
“sn”: “63ccd073-7228f992”,
“timestamp”: 1715331376,
“version”: “1.0”
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1 |
payload |
object |
是 |
Body 内容 |
|
1.1 |
body |
object |
是 |
消息体,此命令无具体内容,但需要 传一个空 Json 对象 |
|
1.1.1 |
gate_ctrl_id |
int |
是 |
道闸控制器型号编号 |
|
1.1.2 |
gate_status |
int |
是 |
道闸当前状态 0:关到位 1:开到位 2:中间状态 |
|
1.1.3 |
connect_status |
int |
是 |
道闸连接状态 0:未连接 1:已连接 |
|
1.1.4 |
enable |
int |
是 |
道闸功能开关状态 0:关闭 1:开启 |
发布消息到设备
发布触发识别
接口描述
向相机发送识别触发指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/ivs_trigger
// 订阅回执 Topic device/{sn}/message/down/ivs_trigger/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “ivs_trigger”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “ivs_trigger”, “body”: {}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1 |
payload |
object |
是 |
Body 内容 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体,此命令无具体内容,但需要 传一个空 Json 对象 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “ivs_trigger”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0
“payload”: null, # 消息数据,视具体消息而定
“timestamp”: 1597285865 # 时间戳
}
-
- 发布 IO 输出事件
接口描述
向相机发送 IO 控制。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/gpio_out
// 订阅回执 Topic device/{sn}/message/down/gpio_out/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “gpio_out”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “gpio_out”, “body”: {
“delay”: 500,
“io”: 0,
“value”: 2
}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1 |
payload |
object |
是 |
Body 内容 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体 |
|
1.2.1 |
delay |
int |
是 |
延时时间 ms,取值范围为[500,5000] 之间的整数 |
|
1.2.2 |
io |
int |
是 |
对应的输出 IO 编号,取值范围为[0,3] 之间的整数 |
|
1.2.3 |
value |
int |
是 |
输出 IO 的状态值 0 断, 1 通 ,2 先 通后断,取值范围为[0,2]之间的整数 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “gpio_out”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: null
}
发布串口数据转发
接口描述
向相机发送串口数据转发。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/serial_data
// 订阅回执 Topic device/{sn}/message/down/serial_data/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “serial_data”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “serial_data”, “body”: {
“interval”:50, “serialData”: [
{
“serialChannel”: 0,
“data”: “123”,
“dataLen”: 3
},
{
“serialChannel”: 1,
“data”: “4567”,
“dataLen”: 4
}
]
}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1 |
payload |
object |
是 |
Body 内容 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体 |
|
1.2.1 |
interval |
int |
否 |
多条数据透传时间 间隔,单位 ms |
|
1.2.2 |
serialData |
array |
否 |
串口数据 |
|
1.2.2.1 |
serialChannel |
int |
是 |
串口号 |
|
1.2.2.2 |
data |
string |
是 |
串口数据,Base64 编 码 |
|
1.2.2.3 |
dataLen |
int |
是 |
数据长度 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “serial_data”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: null
}
发布获取时间事件
接口描述
向相机发送获取设备时间指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/get_device_timestamp
// 订阅回执 Topic device/{sn}/message/down/get_device_timestamp/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “12345678-87654321”,
“name”: “get_device_timestamp”, “version”: “1.0”,
“timestamp”: 1597285865, “payload”: {
“type”: “get_device_timestamp”, “body”:{}
}
}
# 消息 ID,用于关联具体消息
# 设备序列号
# 消息名称
# 消息版本,目前都填 1.0 # 时间戳
#消息类型
#消息体
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “get_device_timestamp”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“timestamp”:1597285865 #从 CUT(Coordinated Universal Time)时间 1970 年 1 月 1
日 00:00:00(称为 UNIX 系统的 Epoch 时间)到当前时刻的秒数
}
}
发布设置时间事件
接口描述
向相机发送设置设备时间指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/set_time
// 订阅回执 Topic device/{sn}/message/down/set_time/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “set_time”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “set_time”, “body”: {
“year”: “2021”,
“month”: “06”,
“day”: “30”,
“hour”: “10”,
“min”: “50”,
“sec”: “00”
}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1 |
payload |
object |
是 |
Body 内容 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体 |
|
1.2.1 |
year |
string |
是 |
年份,取值范围为[1970,2036] 之间的整数 |
|
1.2.2 |
month |
string |
是 |
月份,取值范围为[1,12]之间的 整数 |
|
1.2.3 |
day |
string |
是 |
日期,取值范围为[1,31]之间的 整数 |
|
1.2.4 |
hour |
string |
是 |
时钟数,取值范围为[0,23]之间 |
|
的整数 |
||||
|
1.2.5 |
min |
string |
是 |
分钟数,取值范围为[0,59]之间 的整数 |
|
1.2.6 |
sec |
string |
是 |
秒钟数,取值范围为[0,59]之间 的整数 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “set_time”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: null
}
发布抓图事件
接口描述
向相机发送抓图指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/snapshot
// 订阅回执 Topic device/{sn}/message/down/snapshot/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”,
# 消息 ID,用于关联具体消息
“sn”: “12345678-87654321”, # 设备序列号
“name”: “snapshot”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: { “type”:”snapshot”,
“body”: {}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1 |
payload |
object |
是 |
Body 内容 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体,此命令无具体内容,但需要传 一个空 Json 对象 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “snapshot”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: null
}
发布重启事件
接口描述
向相机发送设备重启指令。
发布和订阅回执默认 Topic
// 发布 Topic
device/{sn}/message/down/reboot_dev
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “12345678-87654321”, # 设备序列号
“name”: “reboot_dev”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “reboot_dev”, “body”: {}
}
}
|
层级 |
参数 |
类型 |
必须 |
说明 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体,此命令无具体内容,但需要传一个空Json 对象 |
-
-
- 回执消息示例
-
此消息无回执
发布白名单增删改查事件
接口描述
向摄像机发布白名单增删改查指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/white_list_operator
// 订阅回执 Topic device/{sn}/message/down/white_list_operator/reply
发布消息示例
更新或者新增示例:
{
“id”: “Zr7O1PzBPD57Q4ku”, “sn”: “840350e3-66e38c1b”,
“name”: “white_list_operator”, “version”: “1.0”,
“payload”: {
“type”: “white_list_operator”, “body”: {
“operator_type”: “update_or_add”, “dldb_rec”: {
“create_time”: “2022-06-21 10:30:40”,
“enable_time”: “2024-10-20 12:30:40”,
“overdue_time”: “2024-10-20 12:30:40”,
“enable”: 1,
“plate”: “京 A12345”, “time_seg_enable”: 0,
“seg_time_start”: “00:00:00”,
“seg_time_end”: “00:00:00”,
“need_alarm”: 1,
“vehicle_code”: “3254ASFDSFSD”, “vehicle_comment”: “HELOO woradf”, “customer_id”: 144413212
}
}
},
“timestamp”: 1631868537
}
删除示例:
{
“id”: “Zr7O1PzBPD57Q4ku”, “sn”: “840350e3-66e38c1b”,
“name”: “white_list_operator”, “version”: “1.0”,
“payload”: {
“type”: “white_list_operator”, “body”: {
“operator_type”: “delete”, “plate”:”京 A12345″
}
},
“timestamp”: 1631868537
}
查询示例:
{
“id”: “Zr7O1PzBPD57Q4ku”, “sn”: “840350e3-66e38c1b”,
“name”: “white_list_operator”, “version”: “1.0”,
“payload”: {
“type”: “white_list_operator”, “body”: {
“operator_type”: “select”, “plate” : “京 A12341”, “sub_type” : “plate”
}
},
“timestamp”: 1631868537
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体 |
|
1.2.1 |
operator_type |
string |
是 |
白 名 单 处 理 命 令 “delete”: 删除白名单 ; “update_or_add”:更细或新增白名单; “select”:查询当前车牌是否存在白名单 内。 |
|
1.2.2 |
dldb_rec |
object |
是 |
消息体 |
|
1.2.2.1 |
plate |
ArrayObject (String) |
是 |
车牌号 ; array: 删除多条;string: 删除单条 ;plate 为空或者不传,表示删除所有白名单, 查询目 前仅支持单条查找 |
|
1.2.2.2 |
index |
Int |
否 |
此条记录在数据库中 的 id |
|
1.2.2.3 |
create_time |
String |
是 |
白名单创建时间 |
|
1.2.2.4 |
overdue_time |
String |
否 |
白名单失效时间,没 有该字段时默认白名 |
|
单永久生效 |
||||
|
1.2.2.5 |
enable |
int |
是 |
是否启动这条规则 |
|
1.2.2.6 |
time_seg_enable |
int |
是 |
是否启用时间段,0: 不生效,1:生效 |
|
1.2.2.7 |
need_alarm |
int |
是 |
是否需要报警,0:白 名单,1:黑名单 |
|
1.2.2.8 |
vehicle_code |
String |
否 |
未使用 |
|
1.2.2.9 |
vehicle_comment |
String |
否 |
用户自定义的注释,也是一个字符串。最 长 16 个字符 |
|
1.2.2.10 |
customer_id |
int |
否 |
用户自己定义 ID,是一个整数,数据库内 不保证唯一性 |
|
1.2.2.11 |
seg_time_start |
String |
否 |
示例:”00:00:00″ |
|
1.2.2.12 |
seg_time_end |
String |
否 |
示例:”00:00:00″ seg_time_start 和 seg_time_end 不 一致,time_seg_enable字段会自动生效,反之,不生效 |
回执消息示例
更新或者添加回执消息示例:
{
“code”: 200,
“id”: “Zr7O1PzBPD57Q4ku”,
“name”: “white_list_operator”, “payload”: null,
“sn”: “840350e3-66e38c1b”,
“timestamp”: 1655783143,
“version”: “1.0”
}
删除回执消息示例:
{
“code”: 200,
“id”: “Zr7O1PzBPD57Q4ku”,
“name”: “white_list_operator”, “payload”: null,
“sn”: “840350e3-66e38c1b”,
“timestamp”: 1655783185,
“version”: “1.0”
}
查询回执消息示例:
{
“code”: 200,
“id”: “Zr7O1PzBPD57Q4ku”,
“name”: “white_list_operator”, “payload”: {
“body”: {
“dldb_rec”: [{
“context”: “”, “enable”: 1,
“enable_time”: “2024-10-20 12:30:00”,
“need_alarm”: 1,
“overdue_time”: “2024-10-20 12:30:00”, “plate”: “京 A12341”,
“seg_time_end”: “00:00:00”,
“seg_time_start”: “00:00:00”,
“time_seg_enable”: 0
}, {
}, {
}],
“context”: “”, “enable”: 1,
“enable_time”: “2024-10-20 12:30:00”,
“need_alarm”: 1,
“overdue_time”: “2024-10-20 12:30:00”, “plate”: “京 A12342”,
“seg_time_end”: “00:00:00”,
“seg_time_start”: “00:00:00”,
“time_seg_enable”: 0
“context”: “”, “enable”: 1,
“enable_time”: “2024-10-20 12:30:00”,
“need_alarm”: 1,
“overdue_time”: “2024-10-20 12:30:00”, “plate”: “京 A12346”,
“seg_time_end”: “00:00:00”,
“seg_time_start”: “00:00:00”,
“time_seg_enable”: 0
“operator_type”: “select”, “state_code”: 200
},
“type”: “white_list_operator”
},
“sn”: “840350e3-66e38c1b”,
“timestamp”: 1655783006,
“version”: “1.0”
}
发布云台控制事件
接口描述
向摄像机发送控制云台指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/set_cloud_ctrl
// 订阅回执 Topic device/{sn}/message/down/set_cloud_ctrl/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “set_cloud_ctrl”, # 消息名称 “version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “set_cloud_ctrl”, “body”: {
“type”: 2,
“value”: 2
}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体 |
|
1.2.1 |
type |
int |
是 |
0: 设置超时时间 1: 保持继续移动 2: 向上移动 3:保持向上移动 4:向下移动 5: 保持向下移动 8: 停止上下移动 16: 向左移动 17: 保持向左移动 32:向右移动 33: 保持向右移 64: 停 止左右移动 |
|
1.2.2 |
value |
int |
否 |
type=0 的时候,此字段为设置超时时间,单位毫秒,其他情况时这个 字段可以不填或者填-1 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “set_cloud_ctrl”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: null
}
-
- 发布设置 IO 锁定事件
接口描述
向设备发送输出 IO 锁定指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/set_io_lock_status
// 订阅回执 Topic
device/{sn}/message/down/set_io_lock_status/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “set_io_lock_status”, # 消息名称 “version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “set_io_lock_status”, “body”:{
“ioout”:0, #ioout 输出口 0 或者 1
“status”:0 #0 解锁 1 高电平锁定 2 低电平锁定
}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体 |
|
1.2.1 |
ioout |
int |
是 |
io 输出口 0 或者 1 |
|
1.2.2 |
status |
int |
是 |
0 解锁 1 高 电平锁定 2 低电平锁定 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息
“sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “set_io_lock_status”,
“code”: 200,
“version”: “1.0”,
# 消息名称
# 设备是否处理成功,200 成功,非 200 失败
# 消息版本,目前都填 1.0
“timestamp”: 1597285865, # 时间戳
“payload”: null
}
-
- 发布获取 IO 锁定状态
接口描述
向设备发送获取 IO 输出锁定状态指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/get_io_lock_status
// 订阅回执 Topic device/{sn}/message/down/get_io_lock_status/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “get_io_lock_status”, # 消息名称 “version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “get_io_lock_status”
}
}
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “get_io_lock_status”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”,
# 消息版本,目前都填 1.0
“timestamp”: 1597285865, # 时间戳
“payload”: {
“body”:[
{
“ioout”:0, #ioout 输出口 0 或者 1
“status”:0 #0 解锁 1 高电平锁定 2 低电平锁定
}
],
“type”:”get_io_lock_status”
]
}
}
-
- 发布获取 IO 状态
接口描述
向设备发送获取输入输出IO 状态指令。
发布和订阅回执默认 Topic
// 发布 Topic device/{sn}/message/down/get_io_status
// 订阅回执 Topic device/{sn}/message/down/get_io_status/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “get_io_status”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“type”: “get_io_status”,
“body”:{
“type”:0,
“gpio”:0
}
# 0 输入 1 输出
#对应的输入 IO 编号,必需值,正常情况下只有 0,1 两个输入编号
}
}
|
层级 |
参数 |
类型 |
必须 |
说明 |
|
1.1 |
type |
string |
是 |
消息类型 |
|
1.2 |
body |
object |
是 |
消息体 |
|
1.2.1 |
type |
int |
是 |
0 输入 1 输出 |
|
1.2.2 |
gpio |
int |
是 |
对应的输入 IO 编号,必需值,正常情况下只有 0 , 1 两个输入编号 |
回执消息示例
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “get_io_status”, “sn”: “22cb436d-1c717e31”,
“timestamp”: 1710473610,
“version”: “1.0” “payload”: {
“body”: {
“gpio”: 0, #对应的输入 IO 编号,必需值,正常情况下只有 0,1 两个输入编号
“status”: 1 # 0 低电平 1 高电平
},
“type”: “get_io_status”
}
}
发布车牌加密配置
接口描述
向设备发送车牌加密配置指令。
发布和订阅默认 Topic
// 发布 Topic device/{sn}/message/down/set_plate_encryption_cfg
// 订阅回执 Topic device/{sn}/message/down/set_plate_encryption_cfg/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “set_plate_encryption_cfg”, # 消息名称 “version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: {
“userName”: “admin”,
“password”:”MTIzNDU2Nzg5″, # 现有密码的 base64 编码 “newpassword”:””, # 新密码的 base64 编码 “encryptType”:1 # 加密方式
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1.1 |
userName |
string |
是 |
默认 admin 即可 |
|
1.2 |
password |
string |
是 |
密钥的 base64 编码 |
|
1.3 |
newpassword |
string |
是 |
新密钥的 base64 编码,只有当密钥输入正确的情况下,才可以修改密钥;如果不需要改密钥,则用空字符串即可 |
|
1.4 |
encryptType |
int |
是 |
加密方式, 0 : 不加密, 1 : aes-128-ecb ( 加密后, 再转成 base64 编码,密钥为 pass word) |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “22cb436d-1c717e31”, # 设备序列号
“name”: “set_plate_encryption_cfg”, # 消息名称
“code”: 200, # 设备是否处理成功,200 成功,非 200 失败
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1597285865, # 时间戳
“payload”: null
}
发布设备设置命令
接口描述
向设备发送设备配置指令,根据配置具体信息有不同作用。
发布和订阅默认 Topic
// 发布 Topic device/{sn}/message/down/device_set
// 订阅回执 Topic device/{sn}/message/down/device_set/reply
发布消息示例
-
-
-
- 发布获取串口参数
-
-
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “8e622af6-353b06d6”, # 设备序列号
“name”: “device_set”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1702968509, # 时间戳
“payload”: {
“type”: “evs_get_rs485”, # 配置命令
“module”: “”, # 配置命令
“body”: { # 具体配置信息
“source”: 1
}
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1 |
type |
string |
是 |
evs_get_rs485 |
|
2 |
module |
string |
是 |
模块名 |
|
3 |
body |
object |
是 |
|
|
3.1 |
source |
int |
是 |
串口号 |
-
-
-
- 发布设置串口参数
-
-
{
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息 “sn”: “8e622af6-353b06d6”, # 设备序列号
“name”: “device_set”, # 消息名称
“version”: “1.0”, # 消息版本,目前都填 1.0 “timestamp”: 1702968509, # 时间戳
“payload”: {
“type”: “evs_set_rs485”, # 配置命令
“module”: “”, # 配置命令
“body”: { # 具体配置信息
“source”: 1,
“baud_rate”: 2400,
“data_bits”: 8,
“parity_id”: 0,
“stop_bits”: 1
},
}
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1.1 |
type |
string |
是 |
evs_set_rs485 |
|
1.2 |
module |
string |
是 |
模块名 |
|
2.1 |
source |
int |
是 |
串口号 |
|
2.2 |
baud_rate |
int |
是 |
波特率: 2400/4800/9600/19200/38400/57600/ 115200 |
|
2.3 |
data_bits |
int |
是 |
数据位:固定 8 |
|
2.4 |
parity_id |
int |
是 |
校验位: 0:无校验 1:奇校验 2:偶校验 |
|
2.5 |
stop_bits |
int |
是 |
停止位: 1:停止位 1 位, 2:停止位 2 位 |
回执消息示例
-
-
-
- 发布获取串口参数回执
-
-
{
“code”: 200,
# 设备是否处理成功,200 成功,非 200 失败
“id”: “NYGtiXpPy5ratyzU”, # 消息 ID,用于关联具体消息
“name”: “device_set”, # 消息名称
“payload”: { #配置命令获取的信息 “body”: {
“baud_rate”: 2400,
“data_bits”: 8,
“parity_id”: 0,
“source”: 1,
“stop_bits”: 1
},
“module”: “”,
“type”: “evs_get_rs485”
},
“sn”: “8e622af6-353b06d6”, # 设备序列号
“timestamp”: 1703127182, # 时间戳
“version”: “1.0” # 消息版本,目前都填 1.0
}
-
-
-
- 发布设置串口参数回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “device_set”, “payload”: {
“body”: {
“source”: 1
},
“module”: “”,
“type”: “evs_set_rs485”
},
“sn”: “8e622af6-353b06d6”,
“timestamp”: 1710383660,
“version”: “1.0”
}
发布离线数据推送命令
接口描述
向相机发送离线推送命令。
发布和订阅默认 Topic
// 发布 Topic device/{sn}/message/down/check_offline_record
// 订阅回执 Topic device/{sn}/message/down/check_offline_record/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “d50908e1-b2d16043”,
“name”: “check_offline_record”, “version”: “1.0”,
“payload”: {
“type”: “check_offline_record”, “body”: {
“enable”: “push”, “max_count”: 0,
“min_id”: 0
}
},
“timestamp”: 1631868537
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
1.1 |
type |
string |
是 |
check_offline_record |
|
1.2 |
body |
object |
是 |
推送配置参数 |
|
1.2.1 |
enable |
string |
是 |
“push” 开始推送离线数据; “stop”停止推送离线数据;”clear” 清除相机离线数据; |
|
1.2.2 |
max_count |
int |
否 |
推送最大数量,默认 100 |
|
1.2.3 |
min_id |
int |
否 |
推送最小 id,默认 0 即不限定 |
注:max_count 和 min_id 都设置为 0 时,用于查询离线数据条数,不推送离线数据;
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”,
“sn”: “d50908e1-b2d16043”,
# 消息 ID,用于关联具体消息
# 设备序列号
“name”: “check_offline_record”, # 消息名称
“code”: 200,
“version”: “1.0”, “payload”: {
“type”: “check_offline_record”, “body”: {
“enable”: “push”, “max_count”: 0,
“min_id”: 0
}
},
“timestamp”: 1631868537
# 设备是否处理成功,200 成功,非 200 失败
# 消息版本,目前都填 1.0
# 消息数据,视具体消息而定
# 时间戳
}
发布屏显配置命令
接口描述
向相机发送获取和设置屏显配置的命令。
发布和订阅默认 Topic
// 发布 Topic device/{sn}/message/down/lcd_cfg
// 订阅回执 Topic device/{sn}/message/down/lcd_cfg/reply
发布消息示例
-
-
-
- 发布获取屏显配置命令
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “get_ad_config”, “module”:”AD_CONFIG_REQUESTION”,
“body”: {
“ad_type”:1
}
}
}
屏幕配置方式有三种,半屏、全屏、自定义,采用自定义方式时,只能通过压缩包的方式导入。
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
5.3.1 |
ad_type |
Int |
是 |
0:自定义屏显配置参数; 1:全屏配置参数; 2:半屏配置参数; |
-
-
-
- 发布半屏配置参数
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“version”: “1.0”,
“name”: “lcd_cfg”, “payload”: {
“body”: {
“ad_config”: { “ad_source”: “local”, “ad_mode”: 2,
“ad_group”: {
“group_id”: 0,
“scenes”: [
{
“scene_name”: “YnVzeV9oYWxm”, “scene_id”: 0,
“scene_mode”: 2, “scene_type”: “car_in”, “scene_max_duration”: 30,
“video_play_count”: 2,
“background_type”: 2, “background_color”: “”, “background_image”: “”, “scene_pos”: {
“x”: 0,
“y”: 320,
“width”: 360,
“height”: 320
},
“scene_info”: { “elem_list”: [
{
“elem_id”: 1,
“elem_enable”: 1, “elem_name”: “dynamic_text1”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 52,
“width”: 360,
“height”: 14
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
},
{
“elem_id”: 2,
“elem_enable”: 1, “elem_name”: “dynamic_text2”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 119,
“width”: 360,
“height”: 14
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
},
{
“elem_id”: 3,
“elem_enable”: 1, “elem_name”: “dynamic_text3”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 186,
“width”: 360,
“height”: 14
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
},
{
“elem_id”: 4,
“elem_enable”: 1, “elem_name”: “dynamic_text4”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 253,
“width”: 360,
“height”: 14
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
},
{
“elem_id”: 5,
“elem_enable”: 0, “elem_name”: “dynamic_text5”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 306,
“width”: 360,
“height”: 14
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
}
]
}
},
{
“scene_name”: “ZnJlZV9oYWxm”, “scene_id”: 1,
“scene_mode”: 2, “scene_type”: “idle”, “scene_max_duration”: 30,
“video_play_count”: 2,
“background_type”: 2, “background_color”: “”, “background_image”: “”, “scene_pos”: {
“x”: 0,
“y”: 320,
“width”: 360,
“height”: 320
},
“scene_info”: { “elem_list”: [
{
“elem_id”: 4,
“elem_enable”: 1, “elem_name”: “dynamic_text4”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 69,
“width”: 360,
“height”: 14
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
},
{
“elem_id”: 5,
“elem_enable”: 1, “elem_name”: “dynamic_text5”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 153,
“width”: 360,
“height”: 14
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
},
{
“elem_id”: 6,
“elem_enable”: 1, “elem_name”: “dynamic_text6”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 236,
“width”: 360,
“height”: 14
},
“elem_text_content”: “”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 14, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
}
]
}
},
{
“scene_name”: “YWQ=”, “scene_id”: 2,
“scene_mode”: 1, “scene_type”: “ad”, “scene_max_duration”: 30,
“video_play_count”: 2,
“background_type”: 2, “background_color”: “”, “background_image”: “”, “scene_pos”: {
“x”: 0,
“y”: 0,
“width”: 360,
“height”: 320
},
“scene_info”: { “elem_list”: [
{
“elem_id”: 0,
“elem_name”: “static_pic0”, “elem_type”: “static_pic”, “elem_pos”: {
“x”: 0,
“y”: 0,
“width”: 360,
“height”: 320
},
“picture_max_duration”: 10,
“video_play_count”: 10, “elem_res_list”: [
{
“path”: “src.jpg”
}
]
},
{
“elem_id”: 1,
“elem_name”: “static_pic1”, “elem_type”: “static_pic”, “elem_pos”: {
“x”: 0,
“y”: 0,
“width”: 360,
“height”: 320
},
“picture_max_duration”: 10,
“video_play_count”: 10, “elem_res_list”: [
{
“path”: “svd.jpeg”
}
]
}
]
}
},
{
“scene_name”: “cXJjb2Rl”, “scene_id”: 3,
“scene_mode”: 1, “scene_type”: “qr_code”, “scene_max_duration”: 30,
“video_play_count”: 2,
“background_type”: 0,
“background_color”: “rgba(255,255,255,1)”, “background_image”: “”,
“scene_pos”: {
“x”: 0,
“y”: 0,
“width”: 360,
“height”: 320
},
“scene_info”: { “elem_list”: [
{
“elem_id”: 6,
“elem_enable”: 1, “elem_name”: “static_pic6”, “picture_max_duration”: 300, “elem_type”: “dynamic_pic”, “elem_sub_type”: “fee-qrcode”, “elem_pos”: {
“x”: 30,
“y”: 10,
“width”: 300,
“height”: 300
},
“elem_bg_color”: “rgba(255,255,255,0)”, “elem_res_list”: [
{
“path”: “”
}
],
“elem_res_path”: “http://www.baidu.com“
}
]
}
}
]
},
“ratio”: 50
},
“ad_type”: 2, “custom_ad_name”: “”
},
“module”: “AD_CONFIG_REQUESTION”,
“type”: “set_ad_config”
}
}
|
层级 |
参数名字 |
类型 |
最大长度 |
必填 |
描述 |
|
5.3 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
是 |
模块名字 |
|
5.1 |
body |
object |
是 |
消息对象 |
|
|
5.1.4 |
package_url |
string |
255 |
否 |
压缩包路径,使用自定义方式下发配置的时候,需要有此字段 |
|
5.1.2 |
ad_type |
int |
是 |
0: 自定义广告, 1: 全屏广告, 2: 半屏广告 |
|
|
5.1.1 |
ad_config |
用于广告配置,图片、视频文件,需要通过 tar 压缩包(用设备导出,或保持与设备导出的压缩包格式相同)下发 |
|
5.1.1.1 |
ad_source |
string |
32 |
是 |
资源位置,填”local”即可; |
|
5.1.1.2 |
ad_mode |
int |
是 |
屏显模式,1:全屏,2:半屏 |
|
|
5.1.1.3 |
ad_group |
object |
是 |
||
|
5.1.1.4 |
ratio |
int |
(0 ~10 0] |
是 |
显示比例 |
|
5.1.1.3.1 |
group_id |
int |
是 |
分组 id |
|
|
5.1.1.3.2 |
scenes |
array |
5 |
是 |
场景数组 |
|
5.1.1.3.2.1 |
scene_name |
string |
64 |
是 |
场景名 |
|
5.1.1.3.2.2 |
scene_id |
int |
是 |
场景 id |
|
|
5.1.1.3.2.3 |
scene_mode |
int |
是 |
场景模式,预留,填 0 即可 |
|
|
5.1.1.3.2.4 |
scene_type |
string |
32 |
是 |
场景类型 |
|
5.1.1.3.2.5 |
scene_max_du ration |
int |
是 |
场景最大播放时长,单位秒 |
|
|
5.1.1.3.2.6 |
video_play_co unt |
int |
是 |
视频播放次数 |
|
|
5.1.1.3.2.7 |
background_ty pe |
int |
是 |
背景类型,0:背景色,1:背景图,2:不启用 |
|
|
5.1.1.3.2.8 |
background_c olor |
string |
32 |
是 |
背景色,eg:”#941594″ |
|
5.1.1.3.2.9 |
background_i mage |
string |
96 |
是 |
背景图片名 |
|
5.1.1.3.2.10 |
scene_pos |
object |
是 |
位置 |
|
|
5.1.1.3.2.10.1 |
x |
int |
是 |
x 轴坐标 |
|
|
5.1.1.3.2.10.2 |
y |
int |
是 |
y 轴坐标 |
|
|
5.1.1.3.2.10.3 |
width |
int |
是 |
宽度 |
|
|
5.1.1.3.2.10.4 |
height |
int |
是 |
高度 |
|
|
5.1.1.3.2.11 |
scene_info |
object |
场景资源,文本和视频、图像是不同的数据结构(数组中可能存在不同类型的对象) |
||
|
文本 |
|||||
|
5.1.1.3.2.11.1 |
elem_list |
array |
10 |
否 |
文本 |
|
5.1.1.3.2.11.1.1 |
elem_id |
int |
是 |
元素 id |
|
|
5.1.1.3.2.11.1.2 |
elem_enable |
int |
是 |
是否启用 |
|
|
5.1.1.3.2.11.1.3 |
elem_name |
string |
32 |
是 |
元素名字 |
|
5.1.1.3.2.11.1.4 |
elem_type |
string |
16 |
是 |
元素类型 static_pic:静态图片, dynamic_pic:动态图片,video:视频,static_text:静态文字, dynamic_text:动态文字 |
|
5.1.1.3.2.11.1.5 |
elem_sub_typ e |
string |
32 |
是 |
元素子类型, car_id:车牌号; datetime:日期时间; car_in_time:入场时间; car_out_time: 离 场 时 间 ; car_type:车类型; parking_space_left:剩余车位; custom:自定义; ee-qrcode:动态二维码 |
|
5.1.1.3.2.11.1.6 |
elem_pos |
object |
是 |
位置 |
|
|
5.1.1.3.2.11.1.6. 1 |
x |
int |
是 |
x 轴坐标 |
|
|
5.1.1.3.2.11.1.6. 2 |
y |
int |
是 |
y 轴坐标 |
|
|
5.1.1.3.2.11.1.6. 3 |
width |
int |
是 |
宽度 |
|
|
5.1.1.3.2.11.1.6. 4 |
height |
int |
是 |
高度 |
|
|
5.1.1.3.2.11.1.7 |
elem_text_con tent |
string |
96 |
是 |
文字内容(base64) |
|
5.1.1.3.2.11.1.8 |
elem_bg_color |
string |
32 |
是 |
背景色 |
|
5.1.1.3.2.11.1.9 |
elem_fg_color |
string |
32 |
是 |
文字颜色 |
|
5.1.1.3.2.11.1.10 |
elem_font_fa mily |
int |
是 |
字体 |
|
|
5.1.1.3.2.11.1.11 |
elem_font_bol d |
int |
是 |
是否加粗 |
|
|
5.1.1.3.2.11.1.12 |
elem_font_siz |
int |
是 |
字号 |
|
e |
|||||
|
5.1.1.3.2.11.1.13 |
elem_align |
string |
16 |
是 |
对齐方式 |
|
5.1.1.3.2.11.1.14 |
extern_text |
string |
96 |
是 |
扩展文字 |
|
5.1.1.3.2.11.1.15 |
extern_text_e nable |
int |
是 |
是否启用扩展文字 |
|
|
视频、图片 |
|||||
|
5.1.1.3.2[3].11.1 |
elem_list |
array |
是 |
图片、视频 |
|
|
5.1.1.3.2[3].11.1 .1 |
elem_id |
int |
是 |
元素 id |
|
|
1.4.4.3.2.11.3 |
elem_enable |
int |
是 |
是否启用 |
|
|
5.1.1.3.2[3].11.1 .2 |
elem_name |
string |
是 |
元素名称 |
|
|
5.1.1.3.2[3].11.1 .3 |
elem_type |
string |
是 |
元素类型 static_pic:静态图片; dynamic_pic:动态图片; video:视频; static_text:静态文字; dynamic_text:动态文字; |
|
|
5.1.1.3.2[3].11.4 |
elem_pos |
object |
是 |
元素字类型 |
|
|
5.1.1.3.2[3].11.1 .4.1 |
x |
int |
是 |
x 轴坐标 |
|
|
5.1.1.3.2[3].11.4 .2 |
y |
int |
是 |
y 轴坐标 |
|
|
5.1.1.3.2[3].11.4 .3 |
width |
int |
是 |
宽度 |
|
|
5.1.1.3.2[3].11.4 .4 |
height |
int |
是 |
高度 |
|
|
5.1.1.3.2[3].11.5 |
picture_max_d uration |
int |
是 |
图片场景最长显示时间,单位秒,范围:3~30 |
|
|
5.1.1.3[3].2.11.6 |
video_play_co unt |
int |
是 |
播放次数,1~10 |
|
|
5.1.1.3.2[3].11.7 |
elem_res_list |
array |
是 |
文件路径列表 |
|
|
5.1.1.3.2[3].11.7 .1 |
path |
string |
是 |
文件路径 |
|
-
-
-
- 发布全屏配置参数
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“body”: {
“ad_config”: { “ad_source”: “local”, “ad_mode”: 1,
“ad_group”: {
“group_id”: 0,
“scenes”: [
{
“scene_name”: “ZnVsbA==”, “scene_id”: 0,
“scene_mode”: 0, “scene_type”: “car_in”, “scene_max_duration”: 30,
“video_play_count”: 2,
“background_type”: 1, “background_color”: “”, “background_image”: “4.png”, “scene_pos”: {
“x”: 0,
“y”: 0,
“width”: 360,
“height”: 640
},
“scene_info”: { “elem_list”: [
{
“elem_id”: 1,
“elem_enable”: 1, “elem_name”: “dynamic_text1”, “elem_type”: “dynamic_text”,
“elem_sub_type”: “car_in_time”, “elem_pos”: {
“x”: 0,
“y”: 5,
“width”: 360,
“height”: 64
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 64, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 1
},
{
“elem_id”: 2,
“elem_enable”: 1, “elem_name”: “dynamic_text2”, “elem_type”: “dynamic_text”, “elem_sub_type”: “car_type”, “elem_pos”: {
“x”: 0,
“y”: 74,
“width”: 360,
“height”: 64
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 64, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 1
},
{
“elem_id”: 3,
“elem_enable”: 1, “elem_name”: “dynamic_text3”, “elem_type”: “dynamic_text”, “elem_sub_type”: “car_id”, “elem_pos”: {
“x”: 0,
“y”: 144,
“width”: 360,
“height”: 64
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 64, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 1
},
{
“elem_id”: 4,
“elem_enable”: 1, “elem_name”: “dynamic_text4”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 213,
“width”: 360,
“height”: 64
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 64, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 1
},
{
“elem_id”: 5,
“elem_enable”: 1, “elem_name”: “dynamic_text5”, “elem_type”: “dynamic_text”, “elem_sub_type”: “custom”, “elem_pos”: {
“x”: 0,
“y”: 282,
“width”: 360,
“height”: 64
},
“elem_text_content”: “6Z2Z5oCB5paH5pys”, “elem_bg_color”: “rgba(255,255,255,0)”, “elem_fg_color”: “#000000”,
“elem_font_family”: 0,
“elem_font_bold”: 0,
“elem_font_size”: 64, “elem_align”: “center”, “extern_text”: “”, “extern_text_enable”: 0
},
{
“elem_id”: 6,
“elem_enable”: 1, “elem_name”: “static_pic6”, “picture_max_duration”: 300, “elem_type”: “static_pic”, “elem_sub_type”: “fee-qrcode”, “elem_pos”: {
“x”: 54,
“y”: 374,
“width”: 252,
“height”: 252
},
“elem_bg_color”: “rgba(255,255,255,0)”, “elem_res_list”: [
{
“path”: “erweima600.jpg”
}
],
“elem_res_path”: “”
}
]
}
},
{
“scene_name”: “YWQ=”, “scene_id”: 1,
“scene_mode”: 0, “scene_type”: “ad”, “scene_max_duration”: 30,
“video_play_count”: 2,
“background_type”: 2, “background_color”: “”,
“background_image”: “”, “scene_pos”: {
“x”: 0,
“y”: 0,
“width”: 360,
“height”: 640
},
“scene_info”: { “elem_list”: [
{
“elem_id”: 0,
“elem_name”: “static_pic0”, “elem_type”: “static_pic”, “elem_pos”: {
“x”: 0,
“y”: 0,
“width”: 360,
“height”: 640
},
“picture_max_duration”: 10,
“video_play_count”: 10, “elem_res_list”: [
{
“path”: “4.png”
}
]
}
]
}
}
]
},
“ratio”: 50
},
“ad_type”: 1, “custom_ad_name”: “”
},
“module”: “AD_CONFIG_REQUESTION”,
“type”: “set_ad_config”
}
}
-
-
-
- 发布自定义屏显配置参数
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“version”: “1.0”,
“name”: “lcd_cfg”, “payload”: {
“body”: {
“ad_type”: 0,
“package_url”: “http://192.168.18.77:9090/shareFile/res.tar”
},
“module”: “AD_CONFIG_REQUESTION”,
“type”: “set_ad_config”
}
}
半屏模式忙时文字只能显示在下半屏,上半屏显示二维码。场景有全屏、半屏,忙时和闲时。两两组合:全屏忙时(full),全屏闲时(full_ad),半屏忙时(busy_half),半屏闲时(free_half);后面 4 条都是在广告在页面配置好的条件下进行控制。
透传数据中的字段,需要和广告配置中的字段一致,才能控制。自定义文字可以配置多个,其他的只能配置一个。
可以控制的类型包括:car_id 车牌号/ car_in_time 入场时间/car_out_time 离场时间/car_type车类型/parking_space_left 剩余车位/ custom 自定义/ qrcode_text 二维码。
-
-
-
- 发布忙时半屏显示控制命令
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “ad_push_message”,
“module”: “AD_CONFIG_REQUESTION”,
“body”: {
“scene_name”: “YnVzeV9oYWxm”, “custom”: [
“5Ymp5L2Z6L2m5L2NOiAzMA==”, “5Ymp5L2Z6L2m5L2NOiAzMA==”
],
“qrcode_text”: “https://www.vzicar.com“. “switch_time”: 20
}
}
}
|
层级 |
参数名字 |
类型 |
最大长 度 |
必填 |
描述 |
|
5.1 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
是 |
模块名字 |
|
5.3 |
body |
object |
是 |
消息体 |
|
|
5.3.1 |
scene_name |
string |
32 |
是 |
要控制的场景名称 base64 编码, YnVzeV9oYWxm(busy_half) |
|
5.3.2 |
custom |
array |
是 |
自定义文字 utf-8 base64,5Ymp5L2Z6L2m5L2NOiAzMA== (剩余车位: 30) 数组跟网页配置一一对应。比 如配置三个就显示前三行 |
|
|
5.3.3 |
qrcode_text |
string |
128 |
是 |
动态二维码 |
|
5.3.4 |
switch_time |
int |
否 |
忙时半屏切换到闲时半屏的时间,范围 (0~3600),0 代表不切换,大于 0 切换 |
-
-
-
- 发布闲时半屏显示控制命令
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “ad_push_message”,
“module”: “AD_CONFIG_REQUESTION”,
“body”: {
“scene_name”: “ZnJlZV9oYWxm”, “custom”: [
“5Ymp5L2Z6L2m5L2NOiAzMA==”, “5Ymp5L2Z6L2m5L2NOiAzMA==”
]
}
}
}
|
层级 |
参数名字 |
类型 |
最大长 度 |
必填 |
描述 |
|
5.1 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
是 |
模块名字 |
|
5.3 |
body |
object |
是 |
消息体 |
|
|
5.3.1 |
scene_name |
string |
32 |
是 |
要控制的场景名称 base64 编码, ZnJlZV9oYWxm(free_half) |
|
5.3.2 |
custom |
array |
是 |
自定义文字 utf-8 base64,5Ymp5L2Z6L2m5L2NOiAzMA== (剩余车位: 30) 数组跟网页配置一一对应。比 如配置三个就显示前三行 |
-
-
-
- 发布忙时全屏显示控制命令
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “ad_push_message”,
“module”: “AD_CONFIG_REQUESTION”,
“body”: {
“scene_name”: “ZnVsbA==”, “custom”: [
“5Ymp5L2Z6L2m5L2NOiAzMA==”, “5Ymp5L2Z6L2m5L2NOiAzMA==”
],
“qrcode_text”: “https://www.vzicar.com“
}
}
}
|
层级 |
参数名字 |
类型 |
最大长 度 |
必填 |
描述 |
|
5.1 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
是 |
模块名字 |
|
5.3 |
body |
object |
是 |
消息体 |
|
|
5.3.1 |
scene_name |
string |
32 |
是 |
要控制的场景名称 base64 编码, ZnVsbA==(full) |
|
5.3.2 |
custom |
array |
是 |
自定义文字 utf-8 base64,5Ymp5L2Z6L2m5L2NOiAzMA== (剩余车位: 30) 数组跟网页配置一一对应。 比如配置三个就显示前三行 |
|
5.3.3 |
qrcode_text |
string |
128 |
是 |
动态二维码 |
-
-
-
- 发布闲时全屏显示控制命令
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “ad_push_message”,
“module”: “AD_CONFIG_REQUESTION”,
“body”: {
“scene_name”: “ZnVsbF9hZA==”
}
}
}
|
层级 |
参数名字 |
类型 |
最大长度 |
必填 |
描述 |
|
5.1 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
是 |
模块名字 |
|
5.3 |
body |
object |
是 |
消息体 |
|
|
5.3.1 |
scene_name |
string |
32 |
是 |
要控制的场景名称 base64 编码, ZnVsbF9hZA==(ful l_ad) |
-
-
-
- 发布 LCD 屏显基础控制参数
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “set_ad_voice_config”, “body”: {
“control_mode”: 2,
“factory_mode”: 0,
“fan_enable_temprature”: 40,
“led_bright_mode”: 1, “led_bright_time_ctrl”: [
{
“level”: 2,
“time_begin”: “00:00:00”,
“time_end”: “08:00:00”
},
{
“level”: 2,
“time_begin”: “08:00:00”,
“time_end”: “17:00:00”
},
{
“level”: 2,
“time_begin”: “17:00:00”,
“time_end”: “24:00:00”
}
],
“media_voice_time_ctrl”: [
{
“time_begin”: “00:00:00”,
“time_end”: “08:00:00”,
“voice_level”: 2
},
{
“time_begin”: “08:00:00”,
“time_end”: “17:00:00”,
“voice_level”: 2
},
{
“time_begin”: “17:00:00”,
“time_end”: “24:00:00”,
“voice_level”: 2
}
],
“rotate_mode”: 0,
“screen_size”: 5,
“text_roll_speed”: 1
},
“module”: “AD_CONFIG_REQUESTION”
}
}
|
层级 |
参数名字 |
类型 |
必填 |
描述 |
|
5.1 |
type |
string |
是 |
操作类型 |
|
5.3 |
module |
string |
是 |
模块名 |
|
5.2 |
body |
object |
是 |
消息对象 |
|
5.2.6 |
media_voice_time_ctrl |
array |
媒体音量(可分三个时间段) |
|
|
5.2.6.1 |
time_begin |
string |
是 |
时间 |
|
5.2.6.2 |
time_end |
string |
是 |
时间 |
|
5.2.6.3 |
voice_level |
int |
是 |
音量,0:静音,1:音量 1, 2:音量,3:音量 3,4:音量 4,5:音量 5 |
|
5.2.5 |
led_bright_time_ctrl |
array |
是 |
LCD 屏显亮度(可分三个时间段) |
|
5.2.5.2 |
time_begin |
string |
是 |
时间 |
|
5.2.5.3 |
time_end |
string |
是 |
时间 |
|
5.2.5.1 |
level |
int |
是 |
亮度,0:熄屏,1:亮度 1, 2:亮度 2,3:亮度 3,4:亮度 4,5:亮度 5 |
|
5.2.8 |
screen_size |
int |
是 |
屏幕尺寸,1:1366*768,2: 1920*1080 |
|
5.2.9 |
text_roll_speed |
int |
是 |
文字滚动速度,0:缓慢,1:正常,2:快速 |
|
5.2.4 |
led_bright_mode |
int |
是 |
LCD 屏幕亮度模式,0:智能调节,1:手动调节,2:关闭 |
|
5.2.3 |
fan_enable_tempratur e |
int |
是 |
开启温度 |
|
5.2.1 |
control_mode |
int |
是 |
屏显控制模式,0:软件控制, 1:相机控制,2:脱机时相机控制 |
|
5.2.2 |
factory_mode |
int |
是 |
屏显协议,0:A(VZ),1:B(AK);填 0 即可; |
|
5.2.7 |
rotate_mode |
int |
是 |
屏幕翻转,0:原始显示,1:上下翻转 |
-
-
-
- 发布获取 LCD 屏显基础控制参数
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “get_ad_voice_config”, “module”:”AD_CONFIG_REQUESTION”
}
}
|
参数名字 |
类型 |
最大长度 |
必填 |
描述 |
|
type |
string |
32 |
是 |
操作类型 |
|
module |
string |
32 |
是 |
模块名字 |
-
-
-
- 控制半屏显示二维码
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “ad_push_message”, “module”:”AD_CONFIG_REQUESTION”,
“body”: {
“qrcode_text”: “https://www.vzicar.com“
}
}
}
|
层级 |
参数名字 |
类型 |
最大长 度 |
必填 |
描述 |
|
5.1 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
是 |
模块名字 |
|
5.3 |
body |
object |
是 |
消息体 |
|
5.3.1 |
qrcode_text |
string |
是 |
动态二维码内容,二维码填空表示关闭 |
-
-
-
- 控制半屏显示剩余车位
-
-
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “341a9c47-1581f3e3”,
“name”: “lcd_cfg”,
“version”: “1.0”, “payload”: {
“type”: “ad_push_message”, “module”:”AD_CONFIG_REQUESTION”,
“body”: {
“parking_space_left”: “5Ymp5L2Z6L2m5L2NOiAzMA”
}
}
}
|
层级 |
参数名字 |
类型 |
最大长 度 |
必填 |
描述 |
|
5.1 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
是 |
模块名字 |
|
5.3 |
body |
object |
是 |
消息体 |
|
|
5.3.1 |
parking_space_left |
string |
是 |
剩余车位 utf-8 base64 编码 5Ymp5L2Z6L2m5L2NOiAzMA==(剩余车位: 30) |
回执消息示例
-
-
-
- 发布获取屏显配置命令回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“body”: { “ad_config”: “”, “ad_type”: 1,
“custom_ad_name”: “”
},
“module”: “AD_CONFIG_REQUESTION”,
“type”: “get_ad_config”
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725615642,
“version”: “1.0”
}
|
层级 |
参数 |
类型 |
是否必须 |
说明 |
|
5.1.1 |
ad_config |
String |
具体场景的屏显配置参数(json 格式 的字符串) |
-
-
-
- 发布半屏配置参数回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200,
“type”: “set_ad_config”
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725619688,
“version”: “1.0”
}
-
-
-
- 发布全屏配置参数回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200,
“type”: “set_ad_config”
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725619688,
“version”: “1.0”
}
-
-
-
- 发布自定义屏显配置参数回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200,
“type”: “set_ad_config”
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725619688,
“version”: “1.0”
}
-
-
-
- 发布忙时半屏显示控制命令回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725622267,
“version”: “1.0”
}
-
-
-
- 发布闲时半屏显示控制命令回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725622267,
“version”: “1.0”
}
-
-
-
- 发布忙时全屏显示控制命令回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725622267,
“version”: “1.0”
}
-
-
-
发布闲时全屏显示控制命令回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725622267,
“version”: “1.0”
}
-
-
-
- 发布 LCD 屏显基础控制参数回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“body”: { “reboot”: 0
},
“module”: “AD_CONFIG_REQUESTION”,
“type”: “set_ad_voice_config”
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725617379,
“version”: “1.0”
}
-
-
-
发布获取 LCD 屏显基础控制参数回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“body”: { “control_mode”: 2,
“factory_mode”: 0,
“fan_enable_temprature”: 40,
“led_bright_mode”: 1, “led_bright_time_ctrl”: [
{
“level”: 2,
“time_begin”: “00:00:00”,
“time_end”: “08:00:00”
},
{
“level”: 2,
“time_begin”: “08:00:00”,
“time_end”: “17:00:00”
},
{
“level”: 2,
“time_begin”: “17:00:00”,
“time_end”: “24:00:00”
}
],
“media_voice_time_ctrl”: [
{
“time_begin”: “00:00:00”,
“time_end”: “08:00:00”,
“voice_level”: 2
},
{
“time_begin”: “08:00:00”,
“time_end”: “17:00:00”,
“voice_level”: 2
},
{
“time_begin”: “17:00:00”,
“time_end”: “24:00:00”,
“voice_level”: 2
}
],
“rotate_mode”: 0,
“screen_size”: 5,
“text_roll_speed”: 1
},
“module”: “AD_CONFIG_REQUESTION”,
“type”: “get_ad_voice_config”
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725615885,
“version”: “1.0”
}
-
-
-
控制半屏显示二维码回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725622267,
“version”: “1.0”
}
-
-
-
- 控制半屏显示剩余车位回执
-
-
{
“code”: 200,
“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {
“state”: 200
},
“sn”: “341a9c47-1581f3e3”,
“timestamp”: 1725622267,
“version”: “1.0”
}
发布 TTS 语音命令
接口描述
向相机发送命令播放 TTS 语音
发布和订阅默认 Topic
// 发布 Topic device/{sn}/message/down/tts_voice
// 订阅回执 Topic device/{sn}/message/down/tts_voice/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”,
“sn”: “dac8d1d3-248ce33e”,
“name”: “tts_voice”,
“version”: “1.0”, “payload”: {
“type”: “play_voice”, “body”: {
“voice_male”: 0,
“voice_volume”: 100, “voice_data”: “U2NobWlkdA==”
}
}
}
|
层级 |
参数名字 |
类型 |
最大长 度 |
必填 |
描述 |
|
5.1 |
type |
string |
32 |
是 |
操作类型 |
|
5.2 |
module |
string |
32 |
否 |
模块名字 |
|
5.3 |
body |
object |
是 |
消息体 |
|
|
5.3.1 |
voice_male |
int |
是 |
TTS 男女声,0 表示男声,1 表示女声 |
|
|
5.3.2 |
voice_data |
string |
是 |
要发送的语音文字的 base64 编码字符串 |
|
|
5.3.3 |
voice_volume |
int |
是 |
音量,1-100,默认 100 |
回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “dac8d1d3-248ce33e”, “name”: “tts_voice”,
“version”: “1.0”, “payload”: {
“type”: “play_voice”
}
}
发布设置 oss 配置命令
接口描述
向相机发送 oss 相关配置
发布和订阅默认 Topic
// 发布 Topic device/{sn}/message/down/set_oss_cfg
// 订阅回执 Topic device/{sn}/message/down/set_oss_cfg/reply
发布消息示例
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “dac8d1d3-248ce33e”, “name”: “set_oss_cfg”, “version”: “1.0”,
“payload”: {
![图片[6]-臻识车牌识别一体机MQTT对接协议-停车技术员](https://blog.sdlinka.com/wp-content/uploads/2025/11/word-image-3227-94.webp)
“body”: {
“oss_id”: 1,
“oss_info”: [
{
“oss_addr”: “”,
“oss_username”: “”,
“oss_pwd”: “admin”,
“oss_bucket”: “”, “oss_id”: 1, “oss_key”: “”,
“oss_secret”: “”,
// oss 地址
//oss 用户名
// oss 密码
// oss 访问 key
// oss 访问密钥
“oss_download_addr”: “” // oss 下载地址
}
],
“pic_mode”: “oss”, “picture”: {
“bigpic_enable”: 0, // 1.上传 0.不上传 “smallpic_enable”: 0 // 1.上传 0.不上传
}
}
}
}
|
层级 |
参数名字 |
类型 |
最大长 度 |
必填 |
描述 |
|
5.1 |
oss_id |
int |
是 |
1:阿里云 2:七牛云 3:vzoss |
|
|
5.2 |
oss_info |
array |
是 |
oss 配置数组,目前支持一个,需支持多 个需要前端同步修改 |
|
|
5.2.1 |
oss_addr |
string |
是 |
oss 服务器地址 |
|
|
5.2.2 |
oss_username |
string |
是 |
oss 用户名 |
|
|
5.2.3 |
oss_pwd |
string |
是 |
oss 密码 |
|
|
5.2.4 |
oss_bucket |
string |
是 |
oss 桶 |
|
|
5.2.5 |
oss_id |
int |
是 |
1:阿里云 2:七牛云 3:vzoss 0:未知 |
|
|
5.2.6 |
oss_key |
string |
否 |
oss 访问 key(历史原因,用 oss_username) |
|
|
5.2.7 |
oss_secret |
string |
否 |
oss 访问密钥(历史原因,用 oss_pwd) |
|
|
5.2.8 |
oss_download_addr |
string |
否 |
oss 下载地址 |
|
|
5.3 |
pic_mode |
string |
是 |
上传模式:oss |
|
|
5.4 |
picture |
object |
是 |
图片处理 |
|
|
5.4.1 |
bigpic_enable |
int |
是 |
是否推送大图 1:上传 0:不上传 |
|
|
5.4.2 |
smallpic_enable |
int |
是 |
是否推送车牌图 1:上传 0:不上传 |
7.17.4 回执消息示例
{
“id”: “NYGtiXpPy5ratyzU”, “sn”: “dac8d1d3-248ce33e”, “name”: “set_oss_cfg”, “version”: “1.0”,
“payload”: {
“type”: “set_oss_cfg”
}
}
发布直接开闸命令
接口描述
向相机发送直接开闸命令(不指定 IO 端口)
-
-
- 发布和订阅默认 Topic
-
// 发布 Topic
device/{sn}/message/down/gate_direct_open
// 订阅回执 Topic
device/{sn}/message/down/gate_direct_open/reply
-
-
- 发布消息示例
-
{
“id”: “iUA4fO7yCGrHZO2C”, “bv”: 12378,
“sn”: “a422cb58-6c62f055”,
“name”: “gate_direct_open”, “version”: “1.0”,
“timestamp”: 1621926595, “payload”: null
}
-
-
- 回执消息示例
-
![图片[8]-臻识车牌识别一体机MQTT对接协议-停车技术员](https://blog.sdlinka.com/wp-content/uploads/2025/11/word-image-3227-96.webp)
{
“bv”: 12378,
“code”: 200,
“id”: “iUA4fO7yCGrHZO2C”,
“name”: “gate_direct_open”, “payload”: null,
“sn”: “a422cb58-6c62f055”,
“timestamp”: 1742556055,
“version”: “1.0”
}
心跳包
接口描述
定时向服务器发送心跳指令,最低 5s,Web 可配置。
订阅默认 Topic
$/device/{sn}/message/up/keep_alive
消息示例
{
“id”: “b1Y1wdVEHu1xFwdU”, “bv”: 12378,
“sn”: “265e1040-85e01fb7”,
“name”: “keep_alive”, “version”: “1.0”,
“timestamp”: 1621927036, “payload”: {
“body”: {
“timestamp”: 1621927036
}
}
}
|
参数 |
类型 |
说明 |
|
body |
object |
Body 内容 |
|
timestamp |
object |
心跳时间戳 |
注:此消息无回执。
公司信息
![图片[10]-臻识车牌识别一体机MQTT对接协议-停车技术员](https://blog.sdlinka.com/wp-content/uploads/2025/11/word-image-3227-98.webp)
成都臻识科技发展有限公司
电话:028-87931722
地址:中国(四川)自由贸易试验区成都市天府新区天府大道南段 2039 号天府菁蓉大厦 7
楼,
邮编:610200
Vision-Zenith Tech. Co., Ltd.
TEL:028-87931722
Website:www. vzenith.com
Address:7/F, Tianfu Jingrong Building, No. 2039, south section of Tianfu Avenue, Tianfu New District, Chengdu, Sichuan Province, P.R. China, 610200
本站收集的资源仅供内部学习研究软件设计思想和原理使用,学习研究后请自觉删除,请勿传播,因未及时删除所造成的任何后果责任自负。
如果用于其他用途,请购买正版支持作者,谢谢!若您认为「BLOG.SDLINKA.COM」发布的内容若侵犯到您的权益,请联系站长进行删除处理。
本站资源大多存储在云盘,如发现链接失效,请联系我们,我们会第一时间更新。




暂无评论内容