发布设备设置命令
接口描述
向设备发送设备配置指令,根据配置具体信息有不同作用。
Topic
// 发布Topic
device/{sn}/message/down/device_set
// 订阅回执Topic
device/{sn}/message/down/device_set/reply
消息公共格式
通用的外层字段
| 层级 |
参数 |
类型 |
是否必须 |
说明 |
| 1 |
id |
string |
是 |
消息ID |
| 2 |
bv |
int |
是 |
硬件版本号 |
| 3 |
sn |
string |
是 |
设备序列号 |
| 4 |
model |
string |
否 |
设备型号,仅部分产品上报,对接时需兼容缺失 |
| 5 |
name |
string |
是 |
消息名称 |
| 6 |
payload |
object |
是 |
消息数据,视具体消息而定 |
| 7 |
version |
string |
是 |
消息版本 |
| 8 |
timestamp |
int |
是 |
时间戳 |
串口参数设置
发布获取串口参数
{
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"sn": "8e622af6-353b06d6",
"model": "R5",
"name": "device_set",
"version": "1.0",
"timestamp": 1702968509,
"payload": {
"type": "evs_get_rs485",
"module": "",
"body": {
"source": 1
}
}
}
| 层级 |
参数 |
类型 |
是否必须 |
说明 |
| 1.1 |
type |
string |
是 |
evs_get_rs485 |
| 1.2 |
module |
string |
是 |
模块名,暂时为空 |
| 1.3 |
body |
object |
是 |
具体配置信息 |
| 1.3.1 |
source |
int |
是 |
串口号 |
发布设置串口参数
{
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"sn": "8e622af6-353b06d6",
"model": "R5",
"name": "device_set",
"version": "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 |
是 |
模块名,暂时为空 |
| 1.3 |
body |
object |
是 |
具体配置信息 |
| 1.3.1 |
source |
int |
是 |
串口号 |
| 1.3.2 |
baud_rate |
int |
是 |
波特率:2400/4800/9600/19200/38400/57600/115200 |
| 1.3.3 |
data_bits |
int |
是 |
数据位:固定8 |
| 1.3.4 |
parity_id |
int |
是 |
校验位:0:无校验1:奇校验2:偶校验 |
| 1.3.5 |
stop_bits |
int |
是 |
停止位:1:停止位1位,2:停止位2位 |
发布获取串口参数回执
{
"code": 200,
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"model": "R5",
"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"
}
发布设置串口参数回执
{
"code": 200,
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"model": "R5",
"name": "device_set",
"payload": {
"body": {
"source": 1
},
"module": "",
"type": "evs_set_rs485"
},
"sn": "8e622af6-353b06d6",
"timestamp": 1710383660,
"version": "1.0"
}
自定义参数设置
发布获取自定义mqtt参数
{
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"sn": "12345678-abcdefgh",
"model": "R5",
"name": "device_set",
"version": "1.0",
"timestamp": 1702968509,
"payload": {
"type": "get_mqtt_cfg",
"module": "BUS_SCHEME_REQUEST",
"scheme_id": -1,
"scheme_type": "mqtt"
}
}
| 层级 |
参数 |
类型 |
是否必须 |
说明 |
| 1.1 |
type |
string |
是 |
get_mqtt_cfg |
| 1.2 |
module |
string |
是 |
BUS_SCHEME_REQUEST |
| 1.3 |
scheme_id |
int |
是 |
当前方案号,默认使用-1 |
| 1.4 |
scheme_type |
string |
是 |
mqtt |
发布设置自定义mqtt参数
{
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"sn": "12345678-abcdefgh",
"model": "R5",
"name": "device_set",
"version": "1.0",
"timestamp": 1702968509,
"payload": {
"type": "set_mqtt_cfg",
"module": "BUS_SCHEME_REQUEST",
"scheme_id": -1,
"scheme_type": "mqtt",
"body": {
"enable": 0
}
}
}
{
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"sn": "12345678-abcdefgh",
"model": "R5",
"name": "device_set",
"version": "1.0",
"timestamp": 1702968509,
"payload": {
"type": "set_mqtt_cfg",
"module": "BUS_SCHEME_REQUEST",
"scheme_id": -1,
"scheme_type": "mqtt",
"body": {
"enable": 0,
"base_cfg": {
"server_addr": "192.168.1.1",
"server_port": 1883,
"server_username": "admin",
"server_pwd": "eWoAAAAAeWr7rdPv11o=",
"clientId": "abc123",
"timeout": 10,
"heart_interval": 30,
"check_off_line": 0,
"is_sn": 0,
"mqtt_type": 1
},
"oss_cfg": {
"oss_id": 1,
"oss_info": [{
"oss_addr": "",
"oss_username": "",
"oss_pwd": "eWoAAAAAeWo=",
"oss_bucket": "",
"oss_id": 1,
"oss_key": "",
"oss_secret": "",
"oss_download_addr": ""
}],
"pic_mode": "mqtt",
"picture": {
"bigpic_enable": 1,
"smallpic_enable": 1
}
}
}
}
}
| 层级 |
参数 |
类型 |
是否必须 |
说明 |
| 1.1 |
type |
string |
是 |
set_mqtt_cfg |
| 1.2 |
module |
string |
是 |
BUS_SCHEME_REQUEST |
| 1.3 |
scheme_id |
int |
是 |
当前方案号,默认使用-1 |
| 1.4 |
scheme_type |
string |
是 |
mqtt |
| 1.5 |
body |
object |
是 |
Body内容 |
| 1.5.1 |
enable |
int |
是 |
启用配置 如果只是配置启用或者不启用,不需要带上base_cfg和oss_cfg |
| 1.5.2 |
base_cfg |
object |
否 |
基础配置,可选参数 如果只配置启用或者不启用,不需要带此参数 如果需要配置下属详细配置项,最好先获取再设置某一项;子字段的「是否必须」指包含该对象时必填,支持仅下发需要修改的字段 |
| 1.5.2.1 |
server_addr |
string |
是 |
服务器地址 |
| 1.5.2.2 |
server_port |
int |
是 |
端口 |
| 1.5.2.3 |
server_username |
string |
是 |
用户名 |
| 1.5.2.4 |
server_pwd |
string |
是 |
密码 |
| 1.5.2.5 |
clientId |
string |
是 |
客户端ID(字段名为驼峰 clientId,以示例为准;client_id 为预留字段) |
| 1.5.2.6 |
timeout |
int |
是 |
服务器连接超时时间 |
| 1.5.2.7 |
heart_interval |
int |
是 |
心跳间隔 |
| 1.5.2.8 |
check_off_line |
int |
是 |
脱机检查 |
| 1.5.2.9 |
is_sn |
int |
是 |
固定值:0 |
| 1.5.2.10 |
mqtt_type |
int |
是 |
固定值:1 |
| 1.5.2.11 |
client_id |
string |
否 |
预留字段 |
| 1.5.2.12 |
deviceName |
string |
否 |
预留字段 |
| 1.5.2.13 |
deviceSecret |
string |
否 |
预留字段 |
| 1.5.2.14 |
productKey |
string |
否 |
预留字段 |
| 1.5.2.15 |
productSecret |
string |
否 |
预留字段 |
| 1.5.3 |
oss_cfg |
object |
否 |
图片上传配置,可选参数 如果只配置启用或者不启用,不需要带此参数 如果需要配置下属详细配置项,最好先获取再设置某一项;子字段的「是否必须」指包含该对象时必填,支持仅下发需要修改的字段 |
| 1.5.3.1 |
oss_id |
int |
是 |
存储厂商id:1-阿里云 2-七牛云 3-臻云 4-腾讯云 5-华为云 6-天翼云 |
| 1.5.3.2 |
oss_info |
ArrayObject |
是 |
存储服务器配置数组 |
| 1.5.3.2.1 |
oss_addr |
string |
是 |
存储服务器地址 |
| 1.5.3.2.2 |
oss_username |
string |
是 |
用户名,备用 |
| 1.5.3.2.3 |
oss_pwd |
string |
是 |
密码,备用 |
| 1.5.3.2.4 |
oss_bucket |
string |
是 |
Bucket |
| 1.5.3.2.5 |
oss_id |
int |
是 |
存储厂商id,与 1.5.3.1 一致 |
| 1.5.3.2.6 |
oss_key |
string |
是 |
AccessKey |
| 1.5.3.2.7 |
oss_secret |
string |
是 |
SecretKey |
| 1.5.3.2.8 |
oss_download_addr |
string |
是 |
下载地址,七牛云时有效 |
| 1.5.3.3 |
pic_mode |
string |
是 |
图片上传模式,mqtt或者oss mqtt-图片以base64数据一起推送 oss-文件上传到oss服务器 |
| 1.5.3.4 |
picture |
object |
是 |
图片类型 |
| 1.5.3.4.1 |
bigpic_enable |
int |
是 |
是否上传全景图,0-否,1-是 |
| 1.5.3.4.2 |
smallpic_enable |
int |
是 |
是否上传车牌特写图,0-否,1-是 |
发布获取自定义mqtt参数回执
{
"code": 200,
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"sn": "12345678-abcdefgh",
"model": "R5",
"name": "device_set",
"version": "1.0",
"timestamp": 1702968509,
"payload": {
"type": "get_mqtt_cfg",
"module": "BUS_SCHEME_REQUEST",
"body": {
"base_cfg": {
"check_off_line": 0,
"clientId": "{sn}",
"client_id": "",
"deviceName": "",
"deviceSecret": "e2oAAAAAe2o=",
"heart_interval": 30,
"is_sn": 0,
"mqtt_type": 1,
"productKey": "",
"productSecret": "",
"server_addr": "192.168.1.1",
"server_port": 1883,
"server_pwd": "e2oAAAAAe2otRrCNE48=",
"server_username": "admin",
"timeout": 10
},
"enable": 0,
"oss_cfg": {
"oss_id": 1,
"oss_info": [{
"oss_addr": "",
"oss_bucket": "",
"oss_download_addr": "",
"oss_id": 1,
"oss_key": "",
"oss_pwd": "",
"oss_secret": "",
"oss_username": ""
}],
"pic_mode": "mqtt",
"picture": {
"bigpic_enable": 1,
"smallpic_enable": 1
}
}
}
}
}
发布设置自定义mqtt参数回执
{
"code": 200,
"id": "NYGtiXpPy5ratyzU",
"bv": 12378,
"sn": "12345678-abcdefgh",
"model": "R5",
"name": "device_set",
"version": "1.0",
"timestamp": 1702968509,
"payload": {
"type": "set_mqtt_cfg",
"module": "BUS_SCHEME_REQUEST",
"body": {
"err_msg": "All done"
}
}
}