车牌识别相机
MQTT 协议
V1.15
修改说明
| V1.0 | 2021/5/17 | 初始定义 |
| V1.1 | 2021/7/2 | 接口以及文档格式统一 |
| V1.2 | 2021/7/30 | 增加 485 上报数据字段说明
协议 2 增加账号密码验证功能和界面配置 |
| V1.3 | 2021/12/24 | 修正下行接口RS485 透传中通道字段名与示例不一致问题 |
| V1.4 | 2022/4/18 | 修正车队模式中 UTC 时间戳字段名错误
增加加密相关接口 |
| V1.5 | 2022/11/29 | 增加版本号接口
OSS 服务器增加腾讯云、百度云、华为云和通用HTTP 上报协议增加抓拍请求和抓拍上报接口 增加配置协议参数接口 增加配置 485 接口 |
| V1.6 | 2023/2/13 | 版本信息接口更新到 1.6
加密验证不通过时,结果上报增加指示字段 |
| V1.7 | 2023/2/22 | 版本信息接口更新到 1.7
增加定制一体机屏显控制接口 |
| V1.8 | 2023/7/17 | 版本信息相关接口更新到 1.8
增加折返、滞留报警接口 |
| V1.9 | 2023/8/10 | 版本信息相关接口更新到V1.9
增加自定义主题 增加下行重启接口 增加下行请求加密验证接口 |
| V1.10 | 2024/1/30 | 版本信息相关接口更新到V1.10
结果上报增加车牌类型 |
| V1.11 | 2024/4/28 | 版本信息相关接口更新到V1.11
增加下行查询加密状态与验证状态接口 |
| V1.12 | 2024/9/13 | 版本信息相关接口更新到V1.12
增加下行相机在线判断接口 增加业务心跳应答,在线状态可配置以业务心跳应答来判断 |
| V1.13 | 2025/2/17 | 版本信息相关接口更新到V1.13
增加 MQTT 一起上传功能,更改的接口:
|
| V1.14 | 2025/3/13 | 版本信息相关接口更新到V1.14
增加非机动车辆、跟车报警 结果上报增加车牌遮挡、车尾入车字段 |
| V1.15 | 2025/4/1 | 版本信息相关接口更新到V1.15
增加切换 LCD 屏广告显示模式接口 增加控制 LCD 屏显示内容与语音播报接口增加清空 LCD 屏显示文字接口 增加清空 LCD 广告图片接口 增加导入 LCD 广告图片接口 |
目录
读者对象
本文档主要适用于以下工程师:
- 技术支持工程师
- 软件开发工程师
- 系统运维工程师
- 测试工程师
方案简介
本文采用“MQTT + OSS”方案,MQTT 服务器可使用阿里云的物联网平台或者自建的
MQTT 服务器,OSS 为对象存储平台。整体架构图如下:
上层业务
车牌识别相机 3
![图片[5]-华夏车牌识别相机MQTT协议-停车技术员](https://blog.sdlinka.com/wp-content/uploads/2025/11/word-image-4565-5.webp)
车牌识别相机 n
…
车牌识别相机 2
车牌识别相机 1
阿里云物联网平台/自建 MQTT 服务器
停车业务云
中层 MQTT
底层设备
结果、图片上报以及命令下发框图如下:
外围设备
结果上报接收命令
IO
RS485
IO
其他 IO 设备
LED 控制卡
闸
道
车牌识别相机
![图片[8]-华夏车牌识别相机MQTT协议-停车技术员](https://blog.sdlinka.com/wp-content/uploads/2025/11/word-image-4565-8.webp)
下发命令
接收图片
OSS 服务器
停车业务云
MQTT 服务器
接收结果
上传图片
相机与 MQTT 服务器建立连接,连接成功后,相机订阅相关主题后即可接收到 MQTT 服务器转发的停车业务云下发的指令。相机收到对应指令后进行相应业务处理并返回处理结果到 MQTT 服务器,MQTT 服务器再将处理结果转发给停车业务云。车牌识别结果、IO 输入状态变化以及 485 数据通过指定的发布主题发送到 MQTT 服务器。停车业务云订阅相关主题后可收到对应的数据,相机识别的图片上传至 OSS 对象存储服务器。停车业务云从 OSS 对象存储服务器接收对应的图片数据。
功能配置
MQTT 协议类型 1 和协议类型 2 配置分别如下图所示
![图片[9]-华夏车牌识别相机MQTT协议-停车技术员](https://blog.sdlinka.com/wp-content/uploads/2025/11/word-image-4565-9.webp)
| 参数配置项 | 配置说明 | 备注 |
| 打开 mqtt 功能 | mqtt 功能的总开关 | |
| 协议类型 |
|
|
| camId 类型 | 相机 ID 的类型配置 | 支持 mac 地址和 uid 两种方
式,不同机型,uid 不一定支持 |
| 心跳周期 | 心跳的时间间隔,单位秒。范围 1-300s | 云端可通过检测是否收到心跳
判断相机是否在线 |
| 发送最大次数 | 给 MQTT 服务器推送结果失败时,最大
的重发次数 |
|
| 服务质量 QoS | MQTT 通信 Qos 质量 | |
| 停车场 ID | 用于标识不同的停车场 | 只能输入数字、字母和’-’,
最大支持 60 个字符 |
| 平台域名 | MQTT 服务器的地址 | 可以是 IP 地址方式,也可以是
域名方式 |
| 平台端口 | MQTT 服务器的访问端口 | 一般为 1883 端口 |
| 超时时长 | 相机接收命令的超时时长 | 相机收到云端下发指令后与本地时间比对,时差大于设置的超时时长则不处理并返回处理
结果 |
| IO 事件上报 | IO 事件推送开关 | 不同产品型号,IO 数量不同 |
| input1 | IO 输入 1 上报,勾选且 IO 事件上报勾选
则 IO 输入 1 有变化就上报平台 |
|
| input2 | IO 输入 2 上报,勾选且 IO 事件上报勾选
则 IO 输入 2 有变化就上报平台 |
|
| 发送全景图 | 发送结果大图的开关 | |
| 发送车牌特写图 | 发送车牌区域小图的开关 | |
| 485-1 数据上报 | 使能 485-1 上报功能 | |
| 485-2 数据上报 | 使能 485-2 上报功能 | 不同机型,不一定有 RS485 通
道 2 |
| 结果信息与图片上传方式 | 分开上传:图片上传至指定对象存储服务器上,需要配置对象存储功能
一起上传:图片通过 base64 编码随接口 上传,不需要配置对象存储功能 |
该功能支持以下接口:
|
| 打开对象存储功能 | 图片资源服务器存储功能开关 | 目前只支持阿里云资源服务器 |
| 对象存储协议类型
(图片存储协议) |
不同云服务商的资源服务器选择协议 1:阿里云资源服务器
协议 2:腾讯云资源服务器协议 3:百度云资源服务器协议 4:华为云资源服务器 协议 5:通用 HTTP 上报 |
|
| 对象存储域名 | 资源服务器访问域名和路径,前面无需填 http://这些前缀。
格式:<路径>.<访问域名>或 <服务器地址>:<端口>/<路径> |
阿里 腾讯 百度 华为云为:
<bucket>.<endpoint>通用 HTTP 上报为: <srvaddr>:<port>/<path> |
| AccessKey(AK) | 资源服务器访问秘钥
AccessKey(AK) |
|
| AccessKeySecret(SK) | 资源服务器访问秘钥
AccessKeySecret(SK) |
|
| 超时时长 | 针对一些网络不太好或使用 4G 的场景,图片存储服务器应答时间比较久,可以调
整时长更长以适应现场。 |
|
| 产品名称 | 属于设备三元组中的 productKey | 选择协议类型 1 有效 |
| 设备名称 | 属于设备三元组中的 deviceName | 选择协议类型 1 有效 |
| 设备秘钥 | 属于设备三元组中的 deviceSecret | 选择协议类型 1 有效 |
| 用户认证 | 用户密码认证使能开关 | 选择协议类型 2 有效 |
| 用户名 | 认证用户名,最大支持 60 个字节 | 选择协议类型 2 有效 |
| 密码 | 认证密码,最大支持 60 个字节 | 选择协议类型 2 有效 |
| 自定义主题 | MQTT 主题自定义使能开关 | 选择协议类型 2 有效 |
| 发布主题 | MQTT 发布主题,120 字节以内 | 选择协议类型 2 有效 |
| 订阅主题 | MQTT 订阅主题,120 字节以内 | 选择协议类型 2 有效 |
| 遗嘱主题 | MQTT 遗嘱主题,120 字节以内 | 选择协议类型 2 有效 |
| 自定义 clientId | 使用自定义 MQTT clientId 开关。 |
| 勾选为自定义 MQTT clientId,
不勾选为相机 ID。 |
||
| clientId | MQTT clientId,60 字节以内 |
注意:选择 MQTT 协议类型 1 时,因使用的是阿里云 IOT 物联平台,设备三元组信息为必填项,在阿里云的物联网平台通过指定 deviceName 生成,是设备与物联网平台通信的唯一标识,为避免冲突,建议使用设备的 SN 号生成设备三元组信息。
选择协议 2 的时候,只有勾选用户认证时,用户密码认证才会开启。
主题说明
本章节说明的只是非自定义的主题格式,自定义主题以配置的为准。
发布主题
相机往发布主题推送识别结果、IO 输入状态、485 数据、心跳以及命令的回复。协议 1 发布主题格式:“/${产品名称}/${设备名称}/user/update”
协议 2 发布主题格式:“/device/${camId}/update”
订阅主题
相机订阅主题后,可收到平台对应主题消息,如控制 IO 开闸、透传 485 数据、软触发等。
协议 1 订阅主题格式:“/${产品名称}/${设备名称}/user/get”
协议 2 订阅主题格式:“/device/${camId}/get”
遗嘱主题
只有协议 2 自建 MQTT 才支持遗嘱。
协议 2 遗嘱主题格式:“/device/${camId}/will”
OSS 图片推送说明
本文档图片存储方案使用阿里云 OSS 对象存储平台进行图片存储,具体配置参考功能配置里边 OSS 相关的说明。图片路径命名格式如下:
全景图:
/picture/<parkId>/<camId>/<年月日>/<小时>/<年月日_时分秒>_<毫秒>.jpg
车牌特写图:
/picture/<parkId>/<camId>/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_plate.jpg抓拍图:
/picture/<parkId>/<camId>/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_capture.jpg
平台配置说明
阿里云物联网平台配置参考文档《设备接入阿里 IOT 物联网平台指导文档》开源服务器 demo 配置参考文档《mqtt 服务器搭建说明文档》
上行接口
上行接口是相机与 MQTT 服务器连接成功后,相机把对应的数据上报到 MQTT 服务器的接口。包括车牌识别结果上报、IO 输入状态变化上报、485 数据上报、心跳上报以及下行接口的应答上报。
车牌识别结果上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到车牌结果后通过此接口进行结果的上报字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“plateResult” |
plateResult 表示车牌结果 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13 位是毫秒时间,后 7 位是
字母和数字的随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用
MAC 还是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60 个
字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 车牌结果 json 数据 | |
| plateNum | string | 是 | 车牌号 | utf-8 编码,无牌车为空字符串”” |
| plateColor | string | 是 | 车牌底色 | utf-8 编码 |
| plateType | int | 否 | 车牌类型 | 详见 9.1 车牌类型定义 |
| plateVal | bool | 否 | 是否虚假车牌 | true 真车牌 false 虚假车牌 |
| confidence | int | 否 | 车牌置信度 | 范围为 0-28,无牌车置信度为 0 |
| carLogo | string | 否 | 车辆品牌 | utf-8 编码 |
| carColor | string | 否 | 车辆颜色 | utf-8 编码 |
| vehicleType | string | 否 | 车辆类型 | utf-8 编码 |
| triggerTime | int | 是 | 车牌识别触发时间 | 1970/01/01 到现在的秒数 |
| inOut | string | 是 | 出入口类型 | in 入口 out 出口 |
| isWhitelist | bool | 是 | 是否白名单车辆 | true 白名单车辆
false 非白名单车辆 |
| triggerType | string | 是 | 触发方式 | video 视频触发 hwtrigger 地感触发
swtrigger 软触发 |
| encrypt_verify | bool | 否 | 加密相机验证是否成功 | true 表示验证通过,
false 表示验证不通过 |
| cover | int | 否 | 是否遮挡车牌 | 1 表示遮挡车牌
0 表示非遮挡车牌 |
| tail | int | 否 | 是否车尾入车 | 1 表示车尾入车
0 表示非车尾入车 |
| fullPicLen | int | 否 | 全景图图片长度(Base64
编码后的长度) |
开启一起上传功能和全景图使能
功能,该字段生效 |
| fullPic | string | 否 | Base64 编码后的全景图图
片内容 |
开启一起上传功能和全景图使能
功能,该字段生效 |
| platePicLen | int | 否 | 特写图图片长度(Base64
编码后的长度) |
开启一起上传功能和特写图使能
功能,该字段生效 |
| platePic | string | 否 | Base64 编码后的特写图图
片内容 |
开启一起上传功能和特写图使能
功能,该字段生效 |
| fullPicPath | string | 否 | 全景图上传路径 | 格式:
/picture/<parkId>/<camId>/<年月日>/<小时>/<年月日_时分秒>_<毫秒>.jpg 一起上传,该字段不需要填写 |
| platePicPath | string | 否 | 特写图上传路径 | 格式:
/picture/<parkId>/<camId>/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_plate.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”plateResult”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “plateColor”: “蓝色”, “plateType”: 1,
“plateVal”: true, “confidence”: 28,
“carLogo”: “丰田”,
“carColor”: “白色”,
“vehicleType”: “轿车”, “triggerTime”: 1562566751, “inOut”: “in”,
“isWhitelist”: true, “triggerType”: “video”, “encrypt_verify”: true,
“cover”: false,
“tail”: false,
“fullPicPath”: “/picture/xxx/xxxx/xxx.jpg”, “platePicPath”: “/picture/xxx/xxxx/xxx_plate.jpg”
}
}
接口说明
相机根据配置推送接收到的 IO 输入状态变化到MQTT 服务器字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“ioInStatus” |
ioInStatus 表示 IO 输入状态变化 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13 位是毫秒时间,后 7 位是字母和数
字的随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC
还是 UID |
| parkId | string | 是 | 车场 ID,最大支持
60 个字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | IO 输入状态 json 数
据 |
|
| ioNum | int | 是 | IO 输入通道 | 不同机型,支持的输入通道不同 |
| status | int | 是 | IO 输入状态 | 填充值为 0 或 1 |
示例
{
“cmd”: “ioInStatus”,
“msgId”: “1562566753001402b681”,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“ioNum”: 1,
“status”: 0
}
}
接口说明
当 RS485 输入事件上报使能,相应的 RS485 输入通道有输入时将向 MQTT 服务器上报对应数据。
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”rs485DataPut” | rs485DataPut 表示 485 数
据上报 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是
使用 MAC 还是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60 个字符 | 只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 485 串口 json 数据 | |
| chnNum | int | 是 | 串口号 |
|
| dataType | string | 是 | 数据类型 | 固定填充 hex2string,表示上报的是 16 进制数据直
接转成字符串形式 |
| data | string | 是 | 字符串形式串口数据 | hex2string 数据类型时,1字节 16 进制数据会转成 2个字符,如 0xAF 会转成 2
个字符”AF” |
示例
{
“cmd”: “rs485DataPut”,
“msgId”: “1562566753001402b681”,
“devId”: “0001aa00000d”,
“parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“chnNum”: 1, “dataType”: “hex2string”,
“data”: “AA55016400260009010002004343434343C5F0AF”
}
}
心跳
接口说明
相机成功连接上 MQTT 代理服务器后按照配置的心跳间隔往服务器发送心跳数据。相机默认以网络与MQTT 代理(broker)连接作为判断在线依据,不以业务上的心跳应答作为在线判断依据,可通过相机在线判断(下行接口)修改判断方法。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”heartbeat” | heartbeat 表示心跳 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是
使用 MAC 还是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60 个字符 | 只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 |
示例
{
“cmd”: “heartbeat”,
“msgId”: “1562566753001402b681”,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“heartbeatRsp” |
表示心跳应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “heartbeatRsp”,
“msgId”: “1562566753001402b681”,
“status”: “ok”
}
加密验证
接口说明
相机成功连接上MQTT 服务器后,如果相机是加密的相机,则会开始时即向服务器发送加密连接验证,如服务器不应答,或应答不对,则相机上报结果时,对车牌结果作乱码处理;如果是非加密相机,则不会向服务器发送加密验证。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”encryptVerify” | 表示加密验证 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是
使用 MAC 还是 UID |
| action | string | 否 | 动作 | conn 表示连接验证
modify 表示修改验证 |
| camTime | string | 是 | 相机时间字符 |
| 格式:2022/4/18 15:08:13 | ||||
| devIp | string | 是 | 相机 IP 地址字符串 | |
| tmpStr | string | 是 | 随机串 | 最长 120 个字符,长度不
定 |
| version | string | 是 | 加密版本号,格式:<大版
本>.<小版本> |
本版本对应 1.0 |
示例
{
“cmd”: “encryptVerify”,
“msgId”: “1562566753001402b681”,
“devId”: “0001aa00000d”, “action”: “conn”,
“camTime”: “2022/4/18 15:08:13”,
“devIp”: “192.168.55.100”,
“tmpStr”: “171abuehhds6833454rfdbhewsf”, “version”: “1.0”
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“encryptVerifyRsp” |
表示加密连接验证应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| signStr | string | 是 | 认证签名串 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “encryptVerifyRsp”,
“msgId”: “1562566753001402b681”, “signStr”:”2836XDKSHWUESD”,
“status”: “ok”
}
设备版本信息上报
接口说明
相机成功连接上MQTT 服务器后会上报一次设备信息数据。字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“devVerInfo” |
devVerInfo 表示设备信息上报 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13 位是毫秒时间,后 7 位是
字母和数字的随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用
MAC 还是 UID |
| parkId | string | 否 | 车场 ID,最大支持 60 个
字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| appVer | string | 是 | 应用程序版本号 | 格式:YYYYMMDDhhmmss |
| mqttVer | string | 是 | 本 mqtt 协议版本号 | 本文档对应 1.15 版本 |
示例
{
“cmd”:”devVerInfo”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751, “appVer”:”20220729162235″,
“mqttVer”:”1.15″
}
抓拍上报
接口说明
当有下行的抓拍请求,相机执行抓拍动作后,通过该接口向 MQTT 服务器上报抓拍图片字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”capReport” | capReport 表示抓拍上报 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13 位是毫秒时间,后 7 位是
字母和数字的随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 |
| MAC 还是 UID | ||||
| parkId | string | 是 | 车场 ID,最大支持 60 个
字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| whichMsg | string | 是 | 对应哪个抓拍请求消息 ID | |
| picLen | int | 否 | Base64 编码后的图片大小 | 开启一起上传功能和特写图使能
功能,该字段生效 |
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能
功能,该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_capture.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”capReport”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751, “whichMsg”:”1562566753001402b999″,
“picPath”:”/picture/xxx/xxxx/20190329/10/20190329_101800_922_capture.jpg”
}
折返告警开始上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到有车辆折返告警,通过此接口进行上报字段说明
| 字段项 | 类型 | 必填
项 |
说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“turnbackStartEvent” |
表示折返告警开始 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13
位是毫秒时间,后 7 位是字母和数字的 随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC 还 |
| 是 UID | ||||
| parkId | string | 是 | 车场 ID,最大支持 60 个
字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 车辆折返告警 json 数据 | |
| plateNum | string | 是 | 车牌号码,无牌车内容为
空 |
UTF8 |
| carId | int | 是 | 车辆 ID | |
| alarmTime | string | 是 | 告警时间 | 2019/10/15 14:25:11 |
| picLen | int | 否 | 图片大小(Base64 编码后
的大小) |
开启一起上传功能和特写图使能功能,
该字段生效 |
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能,
该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/alarm/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_turnbackstart.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”turnbackStartEvent”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “carId”: 18237,
“alarmTime”: “2019/10/15 14:25:11”, “picPath”: “/picture/xxx/xxxx/xxx.jpg”
}
}
折返告警结束上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到有车辆折返告警,通过此接口进行上报字段说明
| 字段项 | 类型 | 必填
项 |
说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“turnbackEndEvent” |
表示折返告警结束 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13
位是毫秒时间,后 7 位是字母和数字的 随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC 还
是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60
个字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 车辆折返告警 json 数据 | |
| plateNum | string | 是 | 车牌号码,无牌车内容为
空 |
UTF8 |
| carId | int | 是 | 车辆 ID | |
| alarmTime | string | 是 | 告警时间 | 2019/10/15 14:25:11 |
| picLen | int | 否 | Base64 编码后的图片大
小 |
开启一起上传功能和特写图使能功能,
该字段生效 |
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能,
该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/alarm/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_turnbackend.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”turnbackEndEvent”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “carId”: 18237,
“alarmTime”: “2019/10/15 14:25:11”, “picPath”: “/picture/xxx/xxxx/xxx.jpg”
}
}
滞留告警开始上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到有车辆滞留告警,通过此接口进行上报字段说明
| 字段项 | 类型 | 必填
项 |
说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“stillStartEvent” |
表示滞留告警开始 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13
位是毫秒时间,后 7 位是字母和数字的 随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC 还
是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60
个字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 车辆折返告警 json 数
据 |
|
| plateNum | string | 是 | 车牌号码,无牌车内容
为空 |
UTF8 |
| carId | int | 是 | 车辆 ID | |
| alarmTime | string | 是 | 告警时间 | 2019/10/15 14:25:11 |
| picLen | int | 否 | Base64 编码后的图片
大小 |
开启一起上传功能和特写图使能功能,
该字段生效 |
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能,
该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/alarm/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_stillstart.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”stillStartEvent”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “carId”: 18237,
“alarmTime”: “2019/10/15 14:25:11”, “picPath”: “/picture/xxx/xxxx/xxx.jpg”
}
}
滞留告警结束上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到有车辆滞留告警,通过此接口进行上报字段说明
| 字段项 | 类型 | 必填
项 |
说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“stillEndEvent” |
表示滞留告警结束 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13
位是毫秒时间,后 7 位是字母和数字的 随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC 还
是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60
个字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 车辆折返告警 json 数
据 |
|
| plateNum | string | 是 | 车牌号码 | UTF8 |
| carId | int | 是 | 车辆 ID | |
| alarmTime | string | 是 | 告警时间 | 2019/10/15 14:25:11 |
| picLen | int | 否 | Base64 编码后的图片
大小 |
开启一起上传功能和特写图使能功能,
该字段生效 |
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能,
该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/alarm/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_stillend.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”stillEndEvent”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “carId”: 18237,
“alarmTime”: “2019/10/15 14:25:11”, “picPath”: “/picture/xxx/xxxx/xxx.jpg”
}
}
非机动车辆告警开始上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到有非机动车辆告警,通过此接口进行上报字段说明
| 字段项 | 类型 | 必填
项 |
说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“nonMotorStartEvent” |
表示非机动车辆告警开始 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13
位是毫秒时间,后 7 位是字母和数字的 随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC 还
是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60
个字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 非机动车辆告警 json 数
据 |
|
| plateNum | string | 是 | 车牌号码 | UTF8 |
| carId | int | 是 | 车辆 ID | |
| alarmTime | string | 是 | 告警时间 | 2019/10/15 14:25:11 |
| picLen | int | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能, |
| 大小 | 该字段生效 | |||
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能,
该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/alarm/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_nonmotorstart.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”nonMotorStartEvent”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “carId”: 18237,
“alarmTime”: “2019/10/15 14:25:11”, “picPath”: “/picture/xxx/xxxx/xxx.jpg”
}
}
非机动车辆告警结束上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到有非机动车辆告警结束,通过此接口进行上报
字段说明
| 字段项 | 类型 | 必填
项 |
说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“nonMotorEndEvent” |
表示非机动车辆告警结束 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13
位是毫秒时间,后 7 位是字母和数字的 随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC 还
是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60
个字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 非机动车辆告警 json
数据 |
|
| plateNum | string | 是 | 车牌号码 | UTF8 |
| carId | int | 是 | 车辆 ID | |
| alarmTime | string | 是 | 告警时间 | 2019/10/15 14:25:11 |
| picLen | int | 否 | Base64 编码后的图片
大小 |
开启一起上传功能和特写图使能功能,
该字段生效 |
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能,
该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/alarm/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_nonmotorend.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”nonMotorEndEvent”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “carId”: 18237,
“alarmTime”: “2019/10/15 14:25:11”, “picPath”: “/picture/xxx/xxxx/xxx.jpg”
}
}
跟车告警上报
接口说明
设备与 MQTT 服务器成功建立连接后,相机识别到有跟车告警,通过此接口进行上报字段说明
| 字段项 | 类型 | 必填 | 说明 | 备注 |
| 项 | ||||
| cmd | string | 是 | 命令,固定为
“followEvent” |
表示跟车告警 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13
位是毫秒时间,后 7 位是字母和数字的 随机数 |
| devId | string | 是 | 相机 ID | 相机 ID 号根据配置决定是使用 MAC 还
是 UID |
| parkId | string | 是 | 车场 ID,最大支持 60
个字符 |
只支持英文、数字、- |
| devIp | string | 否 | 相机 IP 地址 | |
| utcTs | int | 是 | UTC 时间戳 | |
| content | json | 是 | 跟车告警 json 数据 | |
| plateNum | string | 是 | 车牌号码 | UTF8 |
| carId | int | 是 | 车辆 ID | |
| alarmTime | string | 是 | 告警时间 | 2019/10/15 14:25:11 |
| picLen | int | 否 | Base64 编码后的图片
大小 |
开启一起上传功能和特写图使能功能,
该字段生效 |
| pic | string | 否 | Base64 编码后的图片 | 开启一起上传功能和特写图使能功能,
该字段生效 |
| picPath | string | 否 | 图片上传路径 | 格式:
/picture/<parkId>/<camId>/alarm/<年月日>/<小时>/<年月日_时分秒>_<毫秒>_follow.jpg 一起上传,该字段不需要填写 |
示例
{
“cmd”:”followEvent”, “msgId”:”1562566751001402b681″,
“devId”: “0001aa00000d”, “parkId”: “123456”,
“devIp”: “192.168.55.100”,
“utcTs”: 1562566751,
“content”: {
“plateNum”: “津 A12345”, “carId”: 18237,
“alarmTime”: “2019/10/15 14:25:11”, “picPath”: “/picture/xxx/xxxx/xxx.jpg”,
}
}
下行接口
下行接口是由停车业务云往 MQTT 服务器下发指令,相机订阅相关主题后,MQTT 会把收到的指令转发给相机,相机收到指令后进行对应的处理,并把处理结果发送给 MQTT 服务器, MQTT 服务器收到处理结果后转发给停车业务云。
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,执行开闸动作,并反馈执行结果给 MQTT 服务器,MQTT 服务器收到执行结果后转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”ioOutput” | ioOutput 表示 IO 输出 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| gpioData | json | 是 | 开闸信息 | |
| ioNum | string | 是 | IO 输出对应端口 | 不同机型支持的不一样 io1 表示 io 输出 1
Io2 表示 io 输出 2 |
| action | string | 是 | IO 动作,on 表示开闸 |
示例
{
“cmd”: “ioOutput”,
“msgId”: “1562566753001402b681”, “utcTs”: 143650994,
“gpioData”: {
“ioNum”: “io1”,
“action”: “on”
}
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“ioOutputRsp” |
ioOutputRsp 表示 IO 开闸应
答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “ioOutputRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
停车业务云通过此接口下发 RS485 数据给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,将 RS485 数据从硬件外设RS485 接口发送出去,达到透明传输功能。相机处理完后把执行结果发送给MQTT 服务器,MQTT 服务器收到结果后转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”rs485Transmit” | rs485Transmit 表示
RS485 透传 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| encodeType | string | 是 | 待透传数据的编码类型。 hex2string:表示是十六进制数
据直接转成字符串形式 |
推荐使用 hex2string 编码类型。 |
| base64:表示是十六进制数据直接进行 BASE64 编码得到的字
符串 |
||||
| chn1Data | json
array |
否 | RS485 接口 1 透传数据数组,
无接口 1 需求则无需该字段 |
RS485 接口 1 工作模式需
配置为透明串口模式并使能 |
| chn2Data | json
array |
否 | RS485 接口 2 透传数据数组,
无接口 2 需求则无需该字段 |
RS485 接口 2 工作模式需
配置为透明串口模式并使能 |
| data | string | 是 | 待透传的 1 次数据,例如显示屏第一行显示内容。
一次数据长度最长 255 字节。 |
数组项,可多个,如显示屏第 1 行和第 2 行的显示数
据,则提供 2 次待透传的 数据 |
示例
{
“cmd”: “rs485Transmit”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“encodeType”: “hex2string”, “chn1Data”: [
{
“data”: “AA553097BEEF”
},
{
“data”: “AA5509307208BEEF”
}
],
“chn2Data”: [
{
“data”: “AA550102056607BEEF”
}
]}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“rs485TransmitRsp” |
rs485TransmitRsp 表示 485
透传应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “rs485TransmitRsp”, “msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
软触发
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,执行一次软件触发识别,并返回结果给MQTT 服务器,MQTT 服务器收到结果后再转发给停车业务云。
该请求多次执行的间隔必须 1 秒以上,否则可能失败。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”sfTrigger” | sfTrigger 表示软触发 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”:”sfTrigger”, “msgId”:”1562566753001402b681″, “utcTs”:1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为 | sfTriggerRsp 表示软触发应答 |
| “sfTriggerRsp” | ||||
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “sfTriggerRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
名单增加
接口说明
停车业务云通过此接口主动下发名单数据到 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,将名单数据存储进相机。并返回结果给 MQTT 服务器,MQTT 服务器收到结果后再转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listAdd” | listAdd 表示增加名单 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| listData | json
array |
是 | 车牌号码数组 | 具体参考 list_data 字段二
级 json 说明 |
listData 字段二级 json 说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| plateNum | string | 是 | 车牌号码,UTF8 编码 | 最长 15 个字符 |
| type | string | 是 | 名单类型。
W:表示白名单; B:表示黑名单。 |
|
| startTime | string | 是 | 起始时间。 | 起始时间必须小于结束时 |
| 格式:”年/月/日 时:分:秒” | 间,否则名单丢弃不处理 | |||
| endTime | string | 是 | 结束时间。
格式:”年/月/日 时:分:秒” |
起始时间必须小于结束时
间,否则名单丢弃不处理 |
示例
{
“cmd”: “listAdd”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“listData”: [
{
“plateNum”: “津 A12345”, “type”: “W”,
“startTime”: “2021/05/23 00:00:00”,
“endTime”: “2021/06/23 23:59:59”
},
{
“plateNum”: “津 A12346”, “type”: “W”,
“startTime”: “2021/05/23 00:00:00”,
“endTime”: “2021/06/23 23:59:59”
}
]
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listAddRsp” | listAddRsp 表示名单增加应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “listAddRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
名单删除
接口说明
停车业务云通过此接口下发待删除的名单到MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,将指定的名单从相机名单库中删除,并返回结果给 MQTT 服务器,MQTT服务器收到结果后再转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listDel” | listDel 表示名单删除 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| listData | json
array |
是 | 车牌号码数组 | 具体参考 list_data 字段二
级 json 说明 |
listData 字段二级 json 说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| plateNum | string | 是 | 车牌号码,UTF8 编码 | 最长 15 个字符 |
示例
{
“cmd”:”listDel”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“listData”: [
{“plateNum”: “津A12345”},
{“plateNum”: “津A12346”}
]
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listDelRsp” | listDelRsp 表示名单删除应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “listDelRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
名单清空
接口说明
停车业务云通过此接口下清空名单指令到 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,将相机名单库清空,并返回结果给MQTT 服务器,MQTT 服务器收到结果后再转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listDelAll” | listDelAll 表示名单清空 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”:”listDelAll”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“listDelAllRsp” |
listDelAllRsp 表示名单清空应
答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “listDelAllRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
名单修改
接口说明
停车业务云通过此接口下发待修改的名单数据到 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,将名单修改到相机名单库中,并返回应答给 MQTT 服务器,MQTT 服务器收到结果后再转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listModify” | listModify 表示名单修改 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| listData | json
array |
是 | 车牌号码数组 | 具体参考 listData 字段二
级 json 说明 |
listData 字段二级 json 说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| plateNum | string | 是 | 车牌号码,UTF8 编码 | 最长 15 个字符 |
| type | string | 是 | 名单类型。
W:表示白名单; B:表示黑名单。 |
|
| startTime | string | 是 | 起始时间。
格式:”年/月/日 时:分:秒” |
起始时间必须小于结束时
间,否则名单丢弃不处理 |
| endTime | string | 是 | 结束时间。
格式:”年/月/日 时:分:秒” |
起始时间必须小于结束时
间,否则名单丢弃不处理 |
示例
{
“cmd”: “listModify”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“listData”: [
{
“plateNum”: “津 A12345”, “type”: “W”,
“startTime”: “2021/05/23 00:00:00”,
“endTime”: “2021/06/23 23:59:59”
},
{
“plateNum”: “津 A12346”, “type”: “W”,
“startTime”: “2021/05/23 00:00:00”,
“endTime”: “2021/06/23 23:59:59”
}
]
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listModifyRsp” | listModifyRsp 表示名单修
改应答 |
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “listModifyRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
名单查询
接口说明
停车业务云通过此接口下发待查询的名单数据到MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,从相机的名单库中查询,并将名单查询结果返回给 MQTT 服务器,MQTT服务器收到结果后再转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listQuery” | listQuery 表示查询名单 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| plateNum | string | 是 | 指定查询的车牌号码,UTF8 编
码 |
最长 15 个字符 |
示例
{
“cmd”:”listQuery”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“plateNum”:”津 A12345″
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”listQueryRsp” | listQueryRsp 表示名单查询 |
| 应答 | ||||
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
|
| plateNum | string | 是 | 请求中的车牌号码,UTF8 编码 | 最长 15 个字符 |
| type | string | 否 | 名单类型。
W:表示白名单; B:表示黑名单。 |
|
| startTime | string | 否 | 起始时间。
格式:”年/月/日 时:分:秒” |
|
| endTime | string | 否 | 结束时间。
格式:”年/月/日 时:分:秒” |
示例
{
“cmd”: “listQueryRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”, “plateNum”: “津 A12345”, “type”: “W”,
“startTime”: “2021/05/23 00:00:00”,
“endTime”: “2021/06/23 23:59:59”
}
或
{
“cmd”: “listQueryRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “unfound”, “plateNum”: “津 A12345”
}
车队模式
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,将相机的 IO 开闸输出设置为车队控制模式,即一直输出开闸,直到车队模式取消
为止。相机处理命令后返回结果给 MQTT 服务器,MQTT 服务器收到结果后再转发给停车业务云。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”motorCade” | motorCade 表示车队模式 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| action | string | 是 | 车队模式开关,
on 表示开,off 表示关 |
示例
{
“cmd”: “motorCade”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751,
“action”: “on”
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”motorCadeRsp” | motorCadeRsp 表示车队模
式应答 |
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “motorCadeRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
获取版本信息
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,返回版本信息给MQTT 服务器。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”getVerInfo” | 表示获取版本信息 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”:”getVerInfo”, “msgId”:”1562566753001402b999″, “utcTs”:1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“getVerInfoRsp” |
getVerInfoRsp 表示获取版本
信息应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
| appVer | string | 否 | 应用程序版本号 | 格式:YYYYMMDDhhmmss |
| mqttVer | string | 否 | 本 mqtt 协议版本号 | 本文档对应 1.15 版本 |
示例
{
“cmd”: “getVerInfoRsp”,
“msgId”: “1562566753001402b999”, “utcTs”: 1562566751,
“status”: “ok”, “appVer”:”20220729162235″,
“mqttVer”:”1.15″
}
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,根据下发的参数重新配置 MQTT 协议。
请求
字段说明
| 字段项 | 类型 | 必填
项 |
说明 | 备注 |
| cmd | string | 是 | 命令,固定为”mqttCfg” | 表示配置 mqtt 协议参数 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位 长,前 13 位是毫秒时间,后 7
位是字母和数字的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| mqttCfgInfo | json | 是 | mqtt 协议 1/2 配置信息 | |
| enable | int | 是 | 协议使能
|
使能关闭,慎用,关闭后相机与云平台将失去联系,无
法再通过协议来打开!! |
示例
{
“cmd”:”mqttCfg”, “msgId”:”1562566753001402b999″, “utcTs”:1562566751,
“mqttCfgInfo”: {
“enable”: 1
}
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”mqttCfgRsp” | 表示配置 mqtt 协议应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “mqttCfgRsp”,
“msgId”: “1562566753001402b999”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,根据下发的参数重新配置RS485 参数。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”rs485Cfg” | 表示配置 rs485 参数 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| rs485CfgInfo | jsonarray | 否 | rs485 通道配置信息 | |
| channel | int | 是 | rs485 通道号,从 1 起 | 机型不同,通道数量不同 |
| enable | int | 是 | 使能开关
0 表示关闭,1 表示使能。 |
|
| mode | int | 否 | 工作模式 |
| 0 表示屏显模式
1 表示透传模式 |
||||
| bitrate | int | 否 | 波特率 | 如 4800、9600、
19200、115200 等 |
| databits | int | 否 | 数据位 | 固定 8 |
| stopbits | int | 否 | 停止位 | 1 或 2 可选 |
| verify | string | 否 | 校验位
n/N 表示无校验 e/E 表示偶校验 o/O 表示奇校验 |
|
| tryCnt | int | 否 | 重传次数 |
示例
{
“cmd”:”rs485Cfg”, “msgId”:”1562566753001402b999″, “utcTs”:1562566751,
“rs485CfgInfo”: [{ “channel”: 1,
“enable”: 1,
“mode”: 1,
“bitrate”: 9600,
“databits”: 8,
“stopbits”: 1, “verify”: “n”, “tryCnt”: 0
},{
“channel”: 2,
“enable”: 0
}]
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“rs485CfgRsp” |
表示配置 rs485 应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “rs485CfgRsp”,
“msgId”: “1562566753001402b999”, “utcTs”: 1562566751,
“status”: “ok”
}
抓拍请求
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,执行一次软件抓拍动作,并通过抓拍上报返回结果给 MQTT 服务器。
该请求多次执行的间隔必须 1 秒以上,否则可能失败。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”capture” | capture 表示抓拍 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”:”capture”, “msgId”:”1562566753001402b999″, “utcTs”:1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”captureRsp” | captureRsp 表示抓拍应答 |
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用 |
| 于标识该应答对应哪一个请求 | ||||
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “captureRsp”,
“msgId”: “1562566753001402b999”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
特殊接口,只支持 ML 一体机。
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,根据下发的参数控制一体机屏显等。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“MLLedShowCtrl” |
|
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20 位长,前 13 位是毫秒时间,
后 7 位是字母和数字的随机 数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| showInfo | json | 否 | 屏显信息 | |
| lineInfo | jsonarray | 否 | 行信息 | |
| lineNum | int | 是 | 行号,从 1 起 | |
| lineText | string | 是 | 行内容 | UTF8 编码,最长 120byte |
| textColor | string | 否 | 行内容颜色 | red/green/yellow |
| QRcodeInfo | json | 否 | 二维码信息 | |
| url | string | 是 | 二维码内容 | 最长 120byte |
| color | string | 否 | 二维码颜色 | red/green/yellow |
| voiceInfo | json | 否 | 语音信息 |
| voiceTTSText | string | 是 | tts 语音内容,用+号分隔 | UTF8 编码,最长 120byte |
示例
{
“cmd”: “MLLedShowCtrl”,
“msgId”: “1562566753001402b999”, “utcTs”: 1562566751,
“showInfo”: {
“lineInfo”: [{
“lineNum”: 2,
“lineText”: “请缴费 5 元”, “textColor”: “green”
},{
“lineNum”: 3, “lineText”: “津 A12345”, “textColor”: “red”
}
],
“QRcodeInfo”: {
“url”: “http://xxx.com/pay/d9r58732020092“, “color”: “red”
}
},
“voiceInfo”: {
“voiceTTSText”: “津A12345+停车 40 分钟+收费 5 元+请扫码缴费”
}
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“MLLedShowCtrlRsp” |
|
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “MLLedShowCtrlRsp”,
“msgId”: “1562566753001402b999”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
特殊接口,只支持 ML 一体机。
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给相机。相机收到该指令后,根据下发的参数重新配置 MLLed 屏显参数。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”MLLedCfg” | |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| cfgInfo | json | 是 | 配置信息 | |
| lightLevel | int | 否 | 屏幕亮度 | 1-5 |
| scrollSpeed | int | 否 | 滚动速度 | 1:慢,2:中,3:快 |
| lineMode | int | 否 | 接线模式 | 1 为 1 线,2 为 2 线 |
| scanNums | int | 否 | 扫描模式 | 0 为 32 扫;1 为 16 扫 |
| screenDir | int | 否 | 屏显方向 | 0 为横屏;1 为竖屏 |
| screenMode | int | 否 | 屏模式 | 1 为单屏;2 为双屏 |
| volume | int | 否 | 音量 | 0-10,0 为静音 |
| voiceSpeed | int | 否 | 语速 | |
| voiceType | int | 否 | 声音类型 |
示例
{
“cmd”:”MLLedCfg”, “msgId”:”1562566753001402b999″, “utcTs”:1562566751,
“cfgInfo”: {
“lightLevel”: 3,
“scrollSpeed”: 1,
“lineMode”: 1,
“scanNums”: 1,
“screenDir”: 0,
“screenMode”: 1,
“volume”: 2
}
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“MLLedCfgRsp” |
|
| msgId | string | 是 | 消息 ID | 与请求时的消息 ID 一致,用
于标识该应答对应哪一个请求 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | |
| status | string | 是 | 应答状态。“ok”表示正
常,其它则表示出错 |
出错状态信息由应答端填充,
用于方便定位原因 |
示例
{
“cmd”: “MLLedCfgRsp”,
“msgId”: “1562566753001402b999”, “utcTs”: 1562566751,
“status”: “ok”
}
重启设备
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给订阅的相机。相机收到该指令后,将重启设备。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”rebootDev” | 表示重启设备 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20
位长,前 13 位是毫秒时 |
| 间,后 7 位是字母和数字
的随机数 |
||||
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”: “rebootDev”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”rebootDevRsp” | 表示重启设备应答 |
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “rebootDevRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
请求加密验证
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给订阅的相机。相机收到该指令后,将重新通过 7.5 加密连接验证接口向服务器发起验证。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“reqEncryptVerify” |
表示请求加密验证 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”: “reqEncryptVerify”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”
reqEncryptVerifyRsp” |
表示请求加密验证应答 |
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “reqEncryptVerifyRsp”, “msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
获取加密与验证状态
接口说明
停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给订阅的相机。相机收到该指令后,相机是否为加密相机以及加密验证的状态返回。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“getEncryptStatus” |
表示获取加密与验证状态 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”: “getEncryptStatus”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”
getEncryptStatusRsp” |
表示获取加密与验证状态应
答 |
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
|
| encryptStatus | int | 是 | 相机是否加密状态。
|
|
| verifyStatus | int | 是 | 相机是否通过加密验证状态。
|
未加密的相机,加密验证状态固定是 1 已通过 |
示例
{
“cmd”: “getEncryptStatusRsp”, “msgId”: “1562566753001402b681”,
“utcTs”: 1562566751,
“status”: “ok”, “encryptStatus”: 1,
“verifyStatus”: 1
}
相机在线判断
接口说明
相机在线状态判断方法配置,停车业务云通过此接口下发指令给 MQTT 服务器,MQTT 服务器再转发给订阅的相机。相机收到该指令后,更新在线判断的方法。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”onlineCfg” | 表示在线判断方法配置 |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| method | string | 是 | 在线判断方法
heartbeat 表示以本协议中的业务心跳应答为依据 pingreq 表示以 MQTT 协议本身的 PINGREQ 数据包应答为依 据 |
各方法在线要求区别如下 heartbeat 方法:
相机–MQTT 代理–业务云 pingreq 方法: 相机–MQTT 代理 |
示例
{
“cmd”: “onlineCfg”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751,
“method”:”pingreq”
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”onlineCfgRsp” | 表示在线判断应答 |
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “onlineCfgRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
仅 LCD 屏显系列相机支持。
MQTT 平台通过此接口下发命令给相机,控制 LCD 屏切换为全屏广告显示模式或半屏广告显示模式。
两种模式种,切为半屏广告模式时,需要注意以下两点:
- 半屏时的文字,以最后一次更新的额文字内容为准
- 二维码部分失效,只轮播半屏广告图片
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”lcdShowMode” | |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| showMode | string | 是 | 广告模式
fullMode:全屏广告模式 halfMode:半屏广告模式 |
示例
{
“cmd”: “lcdShowMode”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751,
“showMode”:”fullMode”
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“lcdShowModeRsp” |
|
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “lcdShowModeRsp”, “msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
仅 LCD 屏显系列相机支持。
MQTT 通过此接口下发 LCD 屏显示和播报数据给相机,相机收到该指令后,控制 LCD 屏显示文字、二维码,以及播报语音。
此接口会自动将LCD 屏切为半屏显示模式。
如果带二维码,则广告显示区域一直是二维码图片,不会切为半屏广告图片轮播;如果不带二维码,则广告显示区一直轮播半屏广告图片。。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”lcdShowInfo” | |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| showInfo | json | 是 | 显示信息集 | |
| voiceInfo | json | 否 | 语音信息集 |
showInfo 二级字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| textType | string | 是 | 文字行显示类型
plateLine 表示车牌专用区域+2行自定义内容类型 anyLine 表示 4 行定义内容类型 |
|
| plateInfo | json | 否 | 车牌专用区域的车牌号文字信息。
当 textType 字段值为 plateLine 时,该字段必填。 |
具体参考 plateInfo 字段三级 json 说明 |
| lineInfo | json array | 是 | 自定义行文字信息。
当显示类型为 plateLine 时,数组项最多 2 个; 当显示类型为 anyLine 时,数 组项最多 4 个。 |
具体参考 lineInfo 字段三级 json 说明 |
| qrcodeUrl | string | 否 | 二维码图片的 URL 地址 | 只需要提供 URL,设备会自动转成二维码图片并显示
在广告图片区域 |
| voiceInfo | json | 否 | 语音信息集 |
plateInfo 字段三级 json 说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| plateNum | string | 是 | 车牌号码文字 | UTF8 编码 |
| textColor | string | 是 | 文字颜色
RRGGBB 排列的 HEX 数值格式 |
红色:FF0000蓝色:0000FF
黄色:FFFF00 |
lineInfo 字段三级 json 说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| lineText | string | 是 | 自定义显示文字 | UTF8 编码 |
| fontSize | string | 是 | 文字大小
大中小分别表示为: |
| large/medium/small | ||||
| textColor | string | 是 | 文字颜色
RRGGBB 排列的 HEX 数值格式 |
红色:FF0000蓝色:0000FF
黄色:FFFF00 |
voiceInfo 字段二级 json 说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| voiceText | string | 是 | 待播报的语音,可以用组合形式下发。
参考第 10 章节语音列表章节说 明。 |
UTF8 编码 |
示例
{
“cmd”: “lcdShowInfo”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751,
“showInfo”: {
“textType”: “plateLine”, “plateInfo”: {
“plateNum”: “京 A12345”, “textColor”: “FF00F0”
},
“lineInfo”: [{
“lineText”: “停车 40 分”,
“fontSize”: “large”, “textColor”: “FF00F0”
},
{
“lineText”: “请缴费 5 元”,
“fontSize”: “large”, “textColor”: “FF00F0”
}
],
“qrcodeUrl”: “http://xxx.com/pay/d9r587320200922”
},
“voiceInfo”: {
“voiceText”: ” <T1>京 A12345+<T2>240+收费+<T4>5+元+请扫码缴费”
}
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“lcdShowInfoRsp” |
|
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “lcdShowInfoRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
仅 LCD 屏显系列相机支持。
MQTT 通过此接口下发 LCD 屏清除显示文字命令给相机,相机收到该指令后,清除所有的
LCD 显示文字。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为”lcdClearText” | |
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 |
示例
{
“cmd”: “lcdClearText”,
“msgId”:”1562566753001402b681″, “utcTs”: 1562566751
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“lcdClearTextRsp” |
|
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “lcdClearTextRsp”,
“msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
仅 LCD 屏显系列相机支持。
MQTT 通过此接口下发 LCD 屏清除广告命令给相机,相机收到该指令后,清除相机存储区上对应类型的所有广告图片。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“lcdClearAdvertPic” |
|
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 |
| 的随机数 | ||||
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| advertType | string | 是 | 广告图片类型 fullAdvert 表示全屏广告
halfAdvert 表示半屏广告 |
示例
{
“cmd”: “lcdClearAdvertPic”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751,
“advertType”:”fullAdvert”
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“lcdClearAdvertPicRsp” |
|
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “lcdClearAdvertPicRsp”, “msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
接口说明
仅 LCD 屏显系列相机支持。
MQTT 通过此接口下发 LCD 屏广告图片数据给相机,相机收到该指令后,将广告图片存储进相机对应类型的存储区。
请求
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“lcdUploadAdvertPic” |
|
| msgId | string | 是 | 消息 ID | 此次请求的唯一标识,20位长,前 13 位是毫秒时
间,后 7 位是字母和数字 的随机数 |
| utcTs | int | 是 | 发起命令请求的 UTC 时间戳 | |
| fileName | string | 是 | 广告图片名字,只支持英文字母与数字组合,只支持 jpg 格式
图片 |
UTF8 编码 |
| picType | string | 是 | 广告图片类型
fullPic 表示全屏广告, halfPic 表示半屏广告。 |
|
| picWidth | int | 是 | 广告图片宽度 | |
| picHeight | int | 是 | 广告图片高度 | |
| picSize | int | 是 | 广告图片 base64 后的数据大
小,单位字节,最大 2048000 |
|
| picData | string | 是 | 广告图片 base64 数据 |
示例
{
“cmd”: “lcdUploadAdvertPic”, “msgId”:”1562566753001402b681″, “utcTs”: 1562566751,
“fileName”:”01abc.jpg”, “picType”:”fullPic”, “picWidth”:1080, “picHeight”:1920, “picSize”:486038, “picData”:”xxx”
}
应答
字段说明
| 字段项 | 类型 | 必填项 | 说明 | 备注 |
| cmd | string | 是 | 命令,固定为
“lcdUploadAdvertPicRsp” |
| msgId | string | 是 | 消息 ID | 出错状态信息由应答端填
充,用于方便定位原因 |
| utcTs | int | 是 | 相机应答 UTC 时间戳 | 与请求时的消息 ID 一致,用于标识该应答对应哪一个
请求 |
| status | string | 是 | 应答状态。“ok”表示正常,
其它则表示出错 |
示例
{
“cmd”: “lcdUploadAdvertPicRsp”, “msgId”: “1562566753001402b681”, “utcTs”: 1562566751,
“status”: “ok”
}
类型定义
车牌类型定义
//车牌类型定义 typedef enum
{
| ICE_PLATE_UNCERTAIN | = 0, | //!< | 不确定的 |
| ICE_PLATE_BLUE | = 1, | //!< | 蓝牌车 |
| ICE_PLATE_YELLOW | = 2, | //!< | 单层黄牌车 |
| ICE_PLATE_POLICE | = 4, | //!< | 警车 |
| ICE_PLATE_WUJING | = 8, | //!< | 武警车辆 |
| ICE_PLATE_DBYELLOW | = 16, | //!< | 双层黄牌 |
| ICE_PLATE_MOTOR | = 32, | //!< | 摩托车 |
| ICE_PLATE_INSTRUCTIONCAR | = 64, | //!< | 教练车 |
| ICE_PLATE_MILITARY | = 128, | //!< | 军车 |
| ICE_PLATE_PERSONAL | = 256, | //!< | 个性化车 |
| ICE_PLATE_GANGAO | = 512, | //!< | 港澳车(粤 Z 开头) |
| ICE_PLATE_EMBASSY | = 1024, | //!< | 使馆车 |
| ICE_PLATE_NONGLARE | = 2048, | //!< | 老式车牌(不反光) |
| ICE_PLATE_AVIATION | = 4096, | //!< | 民航车牌 |
| ICE_PLATE_NEWENERGY | = 8192, | //!< | 新能源车牌 |
ICE_PLATE_NEWENERGYBIG = 0x00004000,//!< 新能源车牌大车 ICE_PLATE_EMERGENCY = 0x00008000,//!< 应急车 ICE_PLATE_AIRPORT = 0x00010000,//!< 机场车牌
ICE_PLATE_DIAN = 0x00020000,//!< 电字车牌
ICE_PLATE_CHANG = 0x00040000,//!< 厂内车牌
ICE_PLATE_CHANG_V = 0x00080000,//!< 厂/场内车牌(竖) ICE_PLATE_YUEDDDD = 0x00100000,//!< 粤+4 位数字
ICE_PLATE_MACAU = 0x01000000, //!< 澳门本地车牌
ICE_PLATE_HONGKONG = 0x02000000, //!< 香港本地车牌
} ICE_PLATE_TYPE;
语音列表与组合方式
相机内部支持有一些固定的语音,分了 2 大类,一类是车牌类,一类是普通类。
车牌号类语音列表
| “0” | “1” | “2” | “3” | “4” |
| “5” | “6” | “7” | “8” | “9” |
| “A” | “B” | “C” | “D” | “E” |
| “F” | “G” | “H” | “J” | “K” |
| “L” | “M” | “N” | “O” | “P” |
| “Q” | “R” | “S” | “T” | “U” |
| “V” | “W” | “X” | “Y” | “Z” |
| “澳” | “港” | “广” | “贵” | “桂” |
| “挂” | “鄂” | “甘” | “赣” | “黑” |
| “沪” | “吉” | “津” | “晋” | “冀” |
| “京” | “警” | “辽” | “领” | “鲁” |
| “川” | “藏” | “蒙” | “闽” | “宁” |
| “青” | “琼” | “陕” | “使” | “苏” |
| “皖” | “湘” | “新” | “学” | “渝” |
| “豫” | “粤” | “云” | “浙” | “临” |
| “民” | “航” | “应” | “急” | “民航” |
| “应急” | “军” | “空” | “海” |
普通类语音列表
| “百” | “超大车” | “车辆已锁定,禁止出场” |
| “车未发行” | “车未入场” | “车未授权” |
| “车位已满” | “车位已占” | “车已过期” |
| “车已入场” | “出场超时” | “出入平安” |
| “储值车” | “此车” | “此车黑名单” |
| “此车无权限” | “此车已进场” | “此车已出场” |
| “此车已过期” | “此车已经移动支付” | “此卡可用日期” |
| “此卡已出场” | “此区未授权” | “大型车” |
| “单号” | “当前时间段未授权” | “点” |
| “二维码” | “非工作时间段” | “非通行时段” |
| “非月卡车禁止入内” | “分” | “分钟” |
| “该时段不允许进入” | “黑名单” | “固定车” |
| “贵宾车” | “管理处” | “管理费” |
| “欢迎光临” | “欢迎回家” | “欢迎使用银联支付” |
| “欢迎下次光临” | “欢迎再次光临” | “记录” |
| “减速慢行” | “角” | “金额” |
| “禁止通行” | “卡上余额” | “扣款” |
| “离场” | “临时车” | “临时车禁止通行” |
| “没有出主区” | “没有出子区” | “没有进主区” |
| “免费车” | “秒” | “摩托车” |
| “年” | “您” | “您的卡快到期,请及时充值” |
| “您已超时,请补交收费” | “千” | “亲情车” |
| “请” | “请安全驾驶” | “请按时入场” |
| “请充值交费” | “请等待” | “请等待人工确认” |
| “请缴费” | “请尽快延期” | “请取票入场” |
| “请入场停车” | “请扫码出场” | “请扫码缴费” |
| “请扫码进场” | “请扫码入场” | “请稍候” |
| “请通行” | “请勿乱停乱放” | “请与管理员联系” |
| “人工确认” | “日” | “扫码” |
| “删除” | “剩余” | “剩余天数” |
| “十” | “时间” | “收费” |
| “收费取消” | “天” | “条” |
| “停车” | “停车时长” | “网络通讯失败” |
| “微信” | “未授权” | “无牌车” |
| “无牌车请扫码入场” | “无权入场” | “无牌车请扫码支付” |
| “无入场信息,请呼叫管理员” | “无效” | “无需缴费” |
| “消费” | “小时” | “小型车” |
| “小型车,请交费” | “谢谢” | “谢谢惠顾” |
| “星期” | “一路平安” | “一路顺风” |
| “已超过” | “已出场” | “已挂失” |
| “已过期” | “已缴费” | “此车已进场” |
| “有卡请刷卡,无卡请取卡” | “有效期” | “有效期还有” |
| “有效期至” | “余额不足,卡上余额只有” | “余额不足,请及时充值” |
| “预留车” | “预约车” | “元” |
| “月” | “月卡车” | “月租车” |
| “月租车到期” | “月租欠费” | “月租已过期” |
| “闸杆下落” | “支付” | “支付成功” |
| “支付失败” | “知位停车” | “值班员请确认放行” |
| “值班员请选择车型” | “中型车” | “重复进入” |
| “重复出场” | “注意安全” | “祝您工作愉快” |
| “祝您一路平安” | “祝您一路顺风” | “祝您一天都有好心情” |
| “祝您早日康复” | “和” | “今日限号” |
| “单号限行” | “双号限行” | “剩余车位” |
| “特殊车辆” | “限行车辆,禁止通行” | “预约车辆” |
| “VIP 车辆” | “月卡剩余” |
语音组合方式
语音播报可以用组合的形式下发,组合有静态引用、标签引用和混合引用。
静态引用语音
从车牌类语音列表和普通类语音列表中找到存在的语音,以+号组合起来组合示例:
“京+A+1+2+3+4+5+月租车+欢迎光临”
示例播报:京A 一二三四五月租车欢迎光临
标签引用语音
标签引用方式,是将一些特殊的语音应用场景固化其使用形式,简化组合,交给相机内部处理。
标签引用语音格式:<标签>参数
| 标签 | 参数 | 示例 | 播报内容 | 其它说明 |
| <T1> | 车牌号 | “<T1>粤 A00001” | 粤 A 零零零零一 | |
| <T2> | 停车时长的 | “<T2>250” | 停车 4 分 | 只播报到分钟,秒不 |
| 秒数 | “<T2>3662 “ | 停车 1 小时 1 分 | 播报 | |
| “<T2>93720” | 停车 1 天 2 小时 2 分 | |||
| <T3> | 字母数字 | “<T3>1234” | 一二三四 | 逐个字母或者数字播 |
| “<T3>ABC123” | ABC 一二三 | 报 | ||
| <T4> | 数值 | “<T4>99.98” | 九十九点九八 | 小数点后最多 2 位 |
| “<T4>1234” | 一千二百三十四 |
混合引用语音
混合引用是推荐的语音播报组合方式,将静态引用与标签引用混合起来,以+号连接。组合示例:
“<T1>京A12345+<T2>93720 +收费+<T4>32+元+请扫码缴费”
示例播报:京A 一二三四五停车一天二小时二分收费三十二元请扫码缴费
注意事项
- 485 数据透传以及下发需要在对应的 485 配置功能页面配置相关参数。
- 停车业务云可通过接收相机端心跳来判断相机是否在线。配置页面可配置心跳发送间隔以及业务发送最大次数。
本站收集的资源仅供内部学习研究软件设计思想和原理使用,学习研究后请自觉删除,请勿传播,因未及时删除所造成的任何后果责任自负。
如果用于其他用途,请购买正版支持作者,谢谢!若您认为「BLOG.SDLINKA.COM」发布的内容若侵犯到您的权益,请联系站长进行删除处理。
本站资源大多存储在云盘,如发现链接失效,请联系我们,我们会第一时间更新。



暂无评论内容