车牌识别一体机MQTT 对接协议

 

版本号:v1.1.14 2025 年 03 月 21 日

目录

目录

目录 2

  1. 文档说明 8
  2. 修订记录 9
  3. 协议说明 11
  4. 设置参数 12
  5. 消息体说明 13
    1. 订阅和发布消息体 13
    2. 回执消息体 13
    3. 默认 Topic 格式 14
  6. 订阅设备消息 15
    1. 订阅识别结果 15
      1. 接口描述 15
      2. 订阅默认 Topic 15
      3. 消息示例 15
    2. 订阅快速识别结果 25
      1. 接口描述 26
      2. 订阅默认 Topic 26
      3. 消息示例 26
    3. 订阅 IO 输入事件 26
      1. 接口描述 26
      2. 订阅默认 Topic 26
      3. 消息示例 26
    4. 订阅串口数据接收 27
      1. 接口描述 27
      2. 订阅默认 Topic 28
      3. 消息示例 28
    5. 订阅抓图结果 29
      1. 接口描述 29
      2. 订阅默认 Topic 29
      3. 消息示例 29
    6. 订阅离线数据数量 30
      1. 接口描述 30
      2. 订阅默认 Topic 30
      3. 消息示例 30
    7. 订阅离线消息 31
      1. 接口描述 31
      2. 订阅默认 Topic 31
      3. 消息示例 31
    8. 订阅道闸状态 31
      1. 接口描述 31
      2. 订阅默认 Topic 31
      3. 消息示例 32
  7. 发布消息到设备 33
    1. 发布触发识别 33
      1. 接口描述 33
      2. 发布和订阅回执默认 Topic 33
      3. 发布消息示例 33
      4. 回执消息示例 34
    2. 发布 IO 输出事件 34
      1. 接口描述 34
      2. 发布和订阅回执默认 Topic 34
      3. 发布消息示例 34
      4. 回执消息示例 35
    3. 发布串口数据转发 35
      1. 接口描述 35
      2. 发布和订阅回执默认 Topic 36
      3. 发布消息示例 36
      4. 回执消息示例 37
    4. 发布获取时间事件 37
      1. 接口描述 37
      2. 发布和订阅回执默认 Topic 37
      3. 发布消息示例 38
      4. 回执消息示例 38
    5. 发布设置时间事件 38
      1. 接口描述 38
      2. 发布和订阅回执默认 Topic 39
      3. 发布消息示例 39
      4. 回执消息示例 40
    6. 发布抓图事件 40
      1. 接口描述 40
      2. 发布和订阅回执默认 Topic 40
      3. 发布消息示例 40
      4. 回执消息示例 41
    7. 发布重启事件 41
      1. 接口描述 41
      2. 发布和订阅回执默认 Topic 41
      3. 发布消息示例 42
      4. 回执消息示例 42
    8. 发布白名单增删改查事件 42
      1. 接口描述 42
      2. 发布和订阅回执默认 Topic 42
      3. 发布消息示例 43
      4. 回执消息示例 45
    9. 发布云台控制事件 47
      1. 接口描述 47
      2. 发布和订阅回执默认 Topic 47
      3. 发布消息示例 47
      4. 回执消息示例 48
    10. 发布设置 IO 锁定事件 48
      1. 接口描述 48
      2. 发布和订阅回执默认 Topic 48
      3. 发布消息示例 49
      4. 回执消息示例 49
    11. 发布获取 IO 锁定状态 50
      1. 接口描述 50
      2. 发布和订阅回执默认 Topic 50
      3. 发布消息示例 50
      4. 回执消息示例 50
    12. 发布获取 IO 状态 51
      1. 接口描述 51
      2. 发布和订阅回执默认 Topic 51
      3. 发布消息示例 51
      4. 回执消息示例 52
    13. 发布车牌加密配置 52
      1. 接口描述 52
      2. 发布和订阅默认 Topic 53
      3. 发布消息示例 53
      4. 回执消息示例 53
    14. 发布设备设置命令 54
      1. 接口描述 54
      2. 发布和订阅默认 Topic 54
      3. 发布消息示例 54
      4. 回执消息示例 56
    15. 发布离线数据推送命令 57
      1. 接口描述 57
      2. 发布和订阅默认 Topic 57
      3. 发布消息示例 57
      4. 回执消息示例 58
    16. 发布屏显配置命令 58
      1. 接口描述 58
      2. 发布和订阅默认 Topic 58
      3. 发布消息示例 59
      4. 回执消息示例 83
    17. 发布 TTS 语音命令 89
      1. 接口描述 89
      2. 发布和订阅默认 Topic 89
      3. 发布消息示例 89
      4. 回执消息示例 90
    18. 发布设置 oss 配置命令 90
      1. 接口描述 90
      2. 发布和订阅默认 Topic 90
      3. 发布消息示例 90

7.17.4 回执消息示例 92

  1. 心跳包 94
    1. 接口描述 94
    2. 订阅默认 Topic 94
    3. 消息示例 94
  2. 公司信息 95

文档说明

本文针对使用 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)还没有收到回执消息,即可判定发送失败。
    1. 默认 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

事件产生通道,

  1. 表示拼接相机通道;
  2. 表示车头相机通道。

仅 X2

设备

有效

1.7.1.39

record_uuid

uint 64

记录关联 id

仅 X2

设备

有效

订阅快速识别结果

接口描述

当相机产生识别结果后,推送此消息。

订阅默认 Topic

device/{sn}/message/up/quick_ivs_result

消息示例

与 6.1 识别结果类似,没有图片相关字段;

    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 # 时间戳

}

    1. 发布 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

对象

      1. 回执消息示例

此消息无回执

发布白名单增删改查事件

接口描述

向摄像机发布白名单增删改查指令。

发布和订阅回执默认 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

}

    1. 发布设置 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

}

    1. 发布获取 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”

]

}

}

    1. 发布获取 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

发布消息示例
        1. 发布获取串口参数

{

“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

串口号

        1. 发布设置串口参数

{

“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 位

回执消息示例
        1. 发布获取串口参数回执

{

“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

}

        1. 发布设置串口参数回执

{

“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

发布消息示例
        1. 发布获取屏显配置命令

{

“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:半屏配置参数;

        1. 发布半屏配置参数

{

“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

 

文件路径

        1. 发布全屏配置参数

{

“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”

}

}

        1. 发布自定义屏显配置参数

{

“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 二维码。

        1. 发布忙时半屏显示控制命令

{

“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 切换

        1. 发布闲时半屏显示控制命令

{

“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) 数组跟网页配置一一对应。比

如配置三个就显示前三行

        1. 发布忙时全屏显示控制命令

{

“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

动态二维码

        1. 发布闲时全屏显示控制命令

{

“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)

        1. 发布 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:上下翻转

        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

模块名字

        1. 控制半屏显示二维码

{

“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

 

动态二维码内容,二维码填空表示关闭

        1. 控制半屏显示剩余车位

{

“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)

回执消息示例
        1. 发布获取屏显配置命令回执

{

“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 格式

的字符串)

        1. 发布半屏配置参数回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200,

“type”: “set_ad_config”

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725619688,

“version”: “1.0”

}

        1. 发布全屏配置参数回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200,

“type”: “set_ad_config”

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725619688,

“version”: “1.0”

}

        1. 发布自定义屏显配置参数回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200,

“type”: “set_ad_config”

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725619688,

“version”: “1.0”

}

        1. 发布忙时半屏显示控制命令回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725622267,

“version”: “1.0”

}

        1. 发布闲时半屏显示控制命令回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725622267,

“version”: “1.0”

}

        1. 发布忙时全屏显示控制命令回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725622267,

“version”: “1.0”

}

        1. 图片[1]-臻识车牌识别一体机MQTT对接协议-停车技术员发布闲时全屏显示控制命令回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725622267,

“version”: “1.0”

}

        1. 发布 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”

}

        1. 图片[2]-臻识车牌识别一体机MQTT对接协议-停车技术员发布获取 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”

}

        1. 图片[3]-臻识车牌识别一体机MQTT对接协议-停车技术员控制半屏显示二维码回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725622267,

“version”: “1.0”

}

        1. 控制半屏显示剩余车位回执

{

“code”: 200,

“id”: “NYGtiXpPy5ratyzU”, “name”: “lcd_cfg”, “payload”: {

“state”: 200

},

“sn”: “341a9c47-1581f3e3”,

“timestamp”: 1725622267,

“version”: “1.0”

}

发布 TTS 语音命令

图片[4]-臻识车牌识别一体机MQTT对接协议-停车技术员接口描述

向相机发送命令播放 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”

}

}

图片[5]-臻识车牌识别一体机MQTT对接协议-停车技术员发布设置 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对接协议-停车技术员

“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”

}

}

图片[7]-臻识车牌识别一体机MQTT对接协议-停车技术员发布直接开闸命令

接口描述

向相机发送直接开闸命令(不指定 IO 端口)

      1. 发布和订阅默认 Topic

// 发布 Topic

device/{sn}/message/down/gate_direct_open

// 订阅回执 Topic

device/{sn}/message/down/gate_direct_open/reply

      1. 发布消息示例

{

“id”: “iUA4fO7yCGrHZO2C”, “bv”: 12378,

“sn”: “a422cb58-6c62f055”,

“name”: “gate_direct_open”, “version”: “1.0”,

“timestamp”: 1621926595, “payload”: null

}

      1. 回执消息示例

图片[8]-臻识车牌识别一体机MQTT对接协议-停车技术员

{

“bv”: 12378,

“code”: 200,

“id”: “iUA4fO7yCGrHZO2C”,

“name”: “gate_direct_open”, “payload”: null,

“sn”: “a422cb58-6c62f055”,

“timestamp”: 1742556055,

“version”: “1.0”

}

心跳包

接口描述

定时向服务器发送心跳指令,最低 5s,Web 可配置。

图片[9]-臻识车牌识别一体机MQTT对接协议-停车技术员订阅默认 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对接协议-停车技术员

图片[11]-臻识车牌识别一体机MQTT对接协议-停车技术员成都臻识科技发展有限公司

电话:028-87931722

网址:www.vzenith.com

地址:中国(四川)自由贸易试验区成都市天府新区天府大道南段 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

特别声明: 有些收费内容下方有限时活动,可参与一下活动即可免费获取。打电话发微信免费索取请免开尊口!!
© 版权声明
评论 抢沙发

请登录后发表评论

    暂无评论内容