mirror of
https://gitee.com/qpy-solutions/dtu.git
synced 2025-05-20 03:28:25 +08:00
932 lines
21 KiB
Markdown
932 lines
21 KiB
Markdown
## 修订历史
|
||
|
||
| Version | **Date** | **Author** | **Change expression** |
|
||
| :------ | ---------- | ---------- | --------------------- |
|
||
| 1.0 | 2021-11-25 | 陈驰 | 初始版本 |
|
||
|
||
## 概述
|
||
|
||
本文档主要内容包括:
|
||
- 与云端通信的报文格式
|
||
- 所有命令模式的指令报文格式:设置参数、查询参数
|
||
- dtu_config.json配置文件字段的详细说明
|
||
|
||
## 数据格式
|
||
|
||
DTU与云端通信报文使用json格式
|
||
|
||
- 云端下行报文
|
||
|
||
命令模式与modbus模式:
|
||
|
||
`{“msg_id”: msg_id, “data”: “1234”[, “cmd_code”: 0X40, “topic_id”: 1]}`
|
||
|
||
透传模式:
|
||
|
||
`{“msg_id”: msg_id, “data”: “1234”}`
|
||
|
||
字段说明:
|
||
|
||
msg_id:报文id,一般为时间戳+3位随机数
|
||
|
||
data:报文消息字段
|
||
|
||
cmd_code:可选字段,填写对应功能码,并又DTU执行相应的操作,此字段仅在命令模式下生效
|
||
|
||
topic_id:可选字段,填写mqtt返回需要publish的topic_id,此字段仅在命令模式与使用MQTT/Aliyun/Txyun时生效
|
||
|
||
- 云端上行报文
|
||
|
||
命令模式与modbus模式:
|
||
|
||
`{“msg_id”: msg_id, “data”: “1234”[, “cmd_code”: 0X40, “status”: 1]}`
|
||
|
||
透传模式:
|
||
|
||
`{“msg_id”: msg_id, “data”: “1234”}`
|
||
|
||
字段说明:
|
||
|
||
msg_id:报文id,一般为时间戳+3位随机数,回复报文会使用相同的msg_id
|
||
|
||
data:报文消息字段
|
||
|
||
cmd_code:可选字段,填写对应功能码,并又DTU执行相应的操作,此字段仅在命令模式下生效
|
||
|
||
status:可选字段,仅在命令模式下生效,用于反馈命令是否执行成功
|
||
|
||
## 指令说明
|
||
|
||
**协议功能码说明:**
|
||
|
||
**1 .查询DTU ,复位DTU,设置参数,数据透传的功能码和返回数据的功能码一致**
|
||
|
||
**2.返回数据的状态码可查询对应的状态码表**
|
||
|
||
### 功能码表
|
||
|
||
| 功能码 | 功能 |
|
||
| --- | --- |
|
||
| 0x00-0x3f | 查询指令 |
|
||
| 0x00 | 查询IMEI |
|
||
| 0x01 | 查询本机号码 |
|
||
| 0x02 | 查询固件版本号 |
|
||
| 0x03 | 查询信号强度 |
|
||
| 0x04 | 查询当前配置参数 |
|
||
| 0x05 | 诊断查询 |
|
||
| 0X06 | 查询ICCID |
|
||
| 0X07 | 查询ADC电压 |
|
||
| 0X08 | 查询GPIO信息 |
|
||
| 0X10 | 查询温湿度 |
|
||
| 0X11 | 查询网络连接信息 |
|
||
| 0X12 | 查询网络状态 |
|
||
| 0X13 | 查询基站定位信息 |
|
||
| 0x50~0x8f | 设置指令 |
|
||
| 0x50 | 协议短信透传 |
|
||
| 0x51 | 配置密码 |
|
||
| 0x52 | 添加设备识别码IMEI |
|
||
| 0x53 | 登录服务器发送注册信息 |
|
||
| 0x54 | 固件版本号 |
|
||
| 0x55 | 是否启用自动更新 |
|
||
| 0x56 | 日志输出 |
|
||
| 0x57 | 服务器获取配置参数 |
|
||
| 0x58 | 串口参数 |
|
||
| 0x59 | 通道配置参数 |
|
||
| 0x60 | Apn设置 |
|
||
| 0x61 | GPIO设置 |
|
||
| 0x62 | GPS |
|
||
| 0x63 | 数据流 |
|
||
| 0x64 | 预警 |
|
||
| 0x65 | 任务 |
|
||
| 0xfd | 协议终止指令 |
|
||
| 0xfe | DTU启动中,无法接收指令 |
|
||
| 0xff | 复位指令 |
|
||
|
||
## 查询指令
|
||
|
||
### 查询IMEI
|
||
|
||
**说明:**
|
||
|
||
DTU的IMEI号
|
||
|
||
功能码: 0x00
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x00 , "data": "123456789012345" , "success":1}`
|
||
|
||
字段说明:
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码(如果查询IMEI失败,可查询状态码表来定位具体错误信息) |
|
||
| data | str | 返回IMEI |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
### 查询本机号码
|
||
|
||
**说明:**
|
||
|
||
查询SIM卡的号码
|
||
|
||
功能码: 0x01
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x01 , "data": "17201593988" , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | SIM卡的手机号码 |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
### 查询固件版本号
|
||
|
||
**说明:**
|
||
|
||
查询当前的固件版本号(当开启fota升级,版本号小于服务器端的固件版本号会进行fota升级)
|
||
|
||
固件版本号格式为: v 1
|
||
|
||
功能码: 0x02
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x02 , "data": "v 1" , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码 |
|
||
| data | str | 固件版本号 |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
### 查询信号强度
|
||
|
||
**说明:**
|
||
|
||
网络信号强度值范围0~31,值越大表示信号强度越好。
|
||
|
||
功能码: 0x03
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x03 , "data": " CSQ17 " , "success":1}`
|
||
|
||
| **字段** | **字符串** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码 |
|
||
| data | str | CSQ1~CSQ31 |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
### 查询当前配置参数
|
||
|
||
功能码: 0x04
|
||
|
||
数据内容:
|
||
```
|
||
{ "password": "012345",
|
||
|
||
"data":{}
|
||
|
||
}
|
||
```
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x04 , "data": " req config " , "success":1}`
|
||
|
||
| **字段** | **字符串** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | req config |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
### 诊断查询
|
||
|
||
说明: 查询当前DTU运行的错误上报信息
|
||
|
||
功能码: 0x05
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x05,
|
||
|
||
"data":[{"func_code": "0x01" , "error_code": " 6001"}],
|
||
|
||
"success":1}
|
||
```
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码 |
|
||
| func_code | str | 功能码 |
|
||
| error_code | str | 错误码 |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
### iccid查询
|
||
|
||
说明: 查询iccid
|
||
|
||
功能码: 0x06
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x06,
|
||
|
||
"data": "12456465486561516515153",
|
||
|
||
"status":1}
|
||
```
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | int | 状态码 |
|
||
| data | str | 功能码 |
|
||
| status | str | 0 失败 1成功 |
|
||
|
||
### adc查询
|
||
|
||
说明: 查询adc
|
||
|
||
功能码: 0x07
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x07,
|
||
|
||
"data": "3.7",
|
||
|
||
"status":1}`
|
||
```
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | int | 状态码 |
|
||
| data | str | adc电压 |
|
||
| status | str | 0 失败 1成功 |
|
||
|
||
### gpio查询
|
||
|
||
说明: 查询gpio
|
||
|
||
功能码: 0x08
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x08,
|
||
|
||
"data": "gpio_msg",
|
||
|
||
"status":1}
|
||
```
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | int | 状态码 |
|
||
| data | str | gpio获取的信息 |
|
||
| status | str | 0 失败 1成功 |
|
||
|
||
### 查询温湿度
|
||
|
||
说明: 查询温湿度
|
||
|
||
功能码: 0x010
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x10,
|
||
"data": {"temperature": 26.0, "humidity": 60.0},
|
||
"status":1}
|
||
```
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | int | 状态码 |
|
||
| data | dict | 温湿度信息{"temperature": temp, &##39;humidity&##39;: humid} |
|
||
| status | str | 0 失败 1成功 |
|
||
|
||
### 查询网络连接信息
|
||
|
||
说明: 查询网络连接信息,每种连接类型返回对应连接状态
|
||
|
||
功能码: 0x11
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x11,
|
||
"data": "200",
|
||
"status":1}
|
||
```
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | int | 状态码 |
|
||
| data | str | 网络连接状态 |
|
||
| status | str | 0 失败 1成功 |
|
||
|
||
### 查询网络状态
|
||
|
||
说明: 查询网络连接状态,返回基站信息
|
||
|
||
功能码: 0x12
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x12,
|
||
|
||
"data": ([], [], [(0, 14071232, 1120, 0, 123….),
|
||
|
||
"status":1}
|
||
```
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | int | 状态码 |
|
||
| data | turple | 基站连接状态 |
|
||
| status | str | 0 失败 1成功 |
|
||
|
||
### 查询基站定位信息
|
||
|
||
说明: 查询基站定位信息
|
||
|
||
功能码: 0x13
|
||
|
||
返回的数据内容:
|
||
```
|
||
{"code":0x13,
|
||
|
||
"data": (117.1138, 31.82279, 550) ,
|
||
|
||
"status":1}
|
||
```
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | int | 状态码 |
|
||
| data | str | 基站定位信息 |
|
||
| status | str | 0 失败 1成功 |
|
||
|
||
## 复位指令
|
||
|
||
功能码: 0xff
|
||
|
||
数据内容:
|
||
```
|
||
{ Password: "012345",
|
||
|
||
"data":{}
|
||
|
||
}
|
||
```
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x06 , "data": " reset dtu " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | reset dtu |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
## 设置指令
|
||
|
||
### 基础设置
|
||
|
||
#### 协议短信(SMS)透传 message
|
||
|
||
功能码: 0x50
|
||
|
||
数据内容:
|
||
|
||
- 号码:32个字节,标识目的手机号码,如果没有32字节,必须补0x00
|
||
- 内容:最大1024字节,为短信数据内容
|
||
```
|
||
{
|
||
|
||
"password":"",
|
||
|
||
"data":{
|
||
|
||
message: {"number":"12123123", -- 目标号码
|
||
|
||
"data:" " -- 发送短信
|
||
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x50 , "data": " " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码 |
|
||
| data | str | 接收的短信 |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
#### 配置密码 password
|
||
|
||
**说明:**
|
||
|
||
查询IMEI,查询本机号码,查询固件版本号,查询信号强度不需要密码
|
||
|
||
查询当前配置参数和修改透传绑定的通道需要密码
|
||
|
||
是否开启自动更新需要密码
|
||
|
||
功能码: 0x51
|
||
|
||
数据内容:
|
||
```
|
||
{
|
||
"password":" ",
|
||
"data":{ "password": "012345"}
|
||
}
|
||
```
|
||
说明:初始密码为固件IMEI的后六位
|
||
|
||
如 IMEI : 123456789012345 初始密码为 012345
|
||
|
||
| **字段** | **含义** |
|
||
| --- | --- |
|
||
| password | 当前密码 |
|
||
| data | password : 修改后的密码 |
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x51 , "data": " " , "success":1}`
|
||
|
||
| **字段** | **含义** |
|
||
| --- | --- |
|
||
| code | 状态码 |
|
||
| data |
|
||
|
|
||
| success | 0 失败 1成功 |
|
||
|
||
#### 登录服务器发送注册信息 reg
|
||
|
||
**说明:**
|
||
|
||
首次登陆服务器发送注册信息
|
||
|
||
功能码: 0x53
|
||
|
||
数据内容:
|
||
```
|
||
{
|
||
"password":"",
|
||
"data":{"reg": 1}
|
||
}
|
||
```
|
||
|
||
| **Reg**| **值** |
|
||
| --- | --- |
|
||
| 0 | 不发送{ "reg": 0} |
|
||
| 1 | { "reg": 1}则首次登录服务器发送下面的json数据: {"csq":rssi,"imei":imei,"iccid":iccid,"ver":version}csq 信号强度imei 固件的imeiiccid SIM卡的iccidver 固件的版本号 |
|
||
| 自定义 | { "reg": "自定义的注册信息"} |
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x53 , "data": " " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码 |
|
||
| data | str | send reg |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
#### 固件版本号 version
|
||
|
||
**说明:**
|
||
|
||
修改固件版本号,用于fota升级(当开启fota升级,版本号小于服务器端的固件版本号就会进行fota升级)
|
||
|
||
功能码: 0x54
|
||
|
||
数据内容:
|
||
```
|
||
{
|
||
"password":"",
|
||
"data":{
|
||
" version ": "100" --- 版本号(使用数字字符串)
|
||
}
|
||
}
|
||
```
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x54 , "data": " " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | 固件版本号 |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
#### 是否启用自动更新 fota
|
||
|
||
**说明:**
|
||
|
||
Fota升级开关
|
||
|
||
功能码: 0x55
|
||
|
||
数据内容:
|
||
```
|
||
{
|
||
"password":"",
|
||
"data":{
|
||
"fota": 1 -- 0关闭/ 1 开启(int类型)
|
||
}
|
||
}
|
||
```
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x55 , "data": " fota" , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码 |
|
||
| data | str | fota |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
#### 日志输出 nolog
|
||
|
||
**说明:**
|
||
|
||
串口打印日志记录,目前不支持。日志输出连接Debug口
|
||
|
||
功能码: 0x56
|
||
|
||
数据内容:
|
||
```
|
||
{
|
||
"password":"",
|
||
"data":{
|
||
{"nolog": 1} 是否开启日志 0关闭/1打开(int类型)
|
||
}
|
||
}
|
||
```
|
||
返回的数据内容:
|
||
|
||
`{"code": "20000" , "data": "log " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | log |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
#### 服务器获取配置参数
|
||
|
||
功能码: 0x57
|
||
|
||
数据内容:
|
||
```
|
||
{
|
||
"password":"",
|
||
"data":{
|
||
{" service_acquire":0}
|
||
}
|
||
}
|
||
```
|
||
注:本地配置默认开启向服务器获取参数配置
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| service_acquire | Int | 是否开启服务器获取参数0关闭/1打开|
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": "20000" , "data": "service acquire " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | service acquire |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
#### 串口参数 uconf
|
||
|
||
功能码: 0x58
|
||
|
||
数据内容:
|
||
```
|
||
{"password": ""
|
||
"data":{
|
||
"uconf": {
|
||
"0": {
|
||
"baudrate": "115200",
|
||
"databits": "8",
|
||
"parity": "0",
|
||
"stopbits": "1",
|
||
"flowctl": "0"
|
||
}
|
||
}}
|
||
```
|
||
返回的数据内容:
|
||
|
||
`{"code": "20000" , "data": " " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | uconf |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
#### 通道配置参数 conf
|
||
|
||
功能码: 0x59
|
||
|
||
数据内容:
|
||
```
|
||
{"password":"",
|
||
"data":{
|
||
"conf":"1": {
|
||
"protocol": "aliyun",
|
||
"type": "mos",
|
||
"keepAlive": "",
|
||
"clientID": "0",
|
||
"Devicename": "ec600n",
|
||
"ProductKey": "gbh26bFEA4M",
|
||
"DeviceSecret": "b7ff5acc0671d40adfd0eff57e7605f6",
|
||
"ProductSecret": "",
|
||
"cleanSession": true,
|
||
"qos": "1",
|
||
"subscribe": {"0": "/gbh26bFEA4M/ec600n/user/subtest"},
|
||
"publish": {"0": "/gbh26bFEA4M/ec600n/user/pubtest"},
|
||
"serialID": "0"}
|
||
}}
|
||
```
|
||
**对应通道的配置参数详见6.1.10.1的通道配置详解 :**
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": "20000" , "data": " " , "success":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | str | 状态码 |
|
||
| data | str | conf |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
##### 通道配置详解
|
||
|
||
###### HTTP参数
|
||
```
|
||
{
|
||
"protocol": "http",
|
||
"method": "get",
|
||
"url": "http://httpbin.org/get",
|
||
"reg_data": "",
|
||
"timeout": "",
|
||
"serialID": 1
|
||
}
|
||
```
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| http | str | 通信方式http标识 |
|
||
| method | str | 提交请求的方法 |
|
||
| url | str | HTTP请求的地址和参数 |
|
||
| timeout | int | HTTP请求最长等待时间 |
|
||
| serialD | int | HTTP绑定的串口号(1~2) |
|
||
|
||
###### SOCKET tcp参数
|
||
```
|
||
{
|
||
"protocol": "tcp",
|
||
"ping": "",
|
||
"heartbeat": 30,
|
||
"url": "220.180.239.212",
|
||
"port": "8305",
|
||
"keepAlive": 300,
|
||
"serialID": 2
|
||
}
|
||
```
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| tcp | str | Socket的tcp协议标识 |
|
||
| ping | str | 用户自定义的心跳包,只支持数字和字母,建议2-4个字节 |
|
||
| time | int | 0为关闭心跳包,建议60s-300s |
|
||
| url | str | socket的地址或域名 |
|
||
| port | int | socket服务器的端口号 |
|
||
| KeepAlive | int | 链接超时最大时间单位秒,默认300秒 |
|
||
| serialD | int | tcp/udp绑定的串口号(1~2) |
|
||
|
||
###### SOCKET udp 参数
|
||
```
|
||
{
|
||
"protocol": "tcp",
|
||
"ping": "",
|
||
"heartbeat": 30,
|
||
"url": "220.180.239.212",
|
||
"port": "8305",
|
||
"keepAlive": 300,
|
||
"serialID": 2
|
||
}
|
||
```
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| udp | str | Socket的udp协议标识 |
|
||
| ping | str | 用户自定义的心跳包,只支持数字和字母,建议2-4个字节 |
|
||
| time | int | 0为关闭心跳包,建议60s-300s |
|
||
| url | str | socket的地址或域名 |
|
||
| port | int | socket服务器的端口号 |
|
||
| KeepAlive | int | 链接超时最大时间单位秒,默认300秒 (60~600) |
|
||
| serialD | int | tcp/udp绑定的串口号(1~2) |
|
||
|
||
###### MQTT参数
|
||
```
|
||
{
|
||
"protocol": "mqtt",
|
||
"clientID": "test_mqtt",
|
||
"keepAlive": 0,
|
||
"url": "broker-cn.emqx.io",
|
||
"port": "1883",
|
||
"cleanSession": true,
|
||
"subscribe": {"0": "/python/mqtt"},
|
||
"publish": {"0": "/python/mqtt"},
|
||
"qos": "0",
|
||
"retain": "1",
|
||
"serialID": "1"
|
||
}
|
||
```
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| mqtt | str | 表示MQTT协议 |
|
||
| clentID | str | 自定义客户端ID,使用IMEI做客户端ID此处留空 |
|
||
| keepAlive | int | 客户端的keepalive超时值。 默认为60秒 |
|
||
| address | str | MQTT的地址或域名 |
|
||
| port | int | socket服务器的端口号 |
|
||
| cleanSession | int | MQTT是否保存会话标志位,0持久会话,1离线自动销毁 |
|
||
| Sub | str | 订阅主题 |
|
||
| pub | str | 发布主题 |
|
||
| qos | int | MQTT的QOS级别,默认0 |
|
||
| retain | int | MQTT的publish参数retain,默认0 |
|
||
| serialD | int | MQTT通道捆绑的串口ID (1~3) |
|
||
|
||
###### 阿里云参数
|
||
```
|
||
{
|
||
"protocol": "aliyun",
|
||
"type": "mos",
|
||
"keepAlive": "",
|
||
"clientID": "test_mos",
|
||
"Devicename": "light01",
|
||
"ProductKey": "a1QNbCDxIWM",
|
||
"DeviceSecret": "0bceb8010ade0df2e6989982e63f7601",
|
||
"ProductSecret": "",
|
||
"cleanSession": true,
|
||
"qos": "1",
|
||
"subscribe": {"0": "/a1QNbCDxIWM/light01/user/get"},
|
||
"publish": {"0": "/a1QNbCDxIWM/light01/user/update"},
|
||
"serialID": "1"
|
||
}
|
||
```
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| aliyun | Str | 阿里云IOT的标识 |
|
||
| type | str | 一型一密tas/一机一密mos |
|
||
| keepAlive | int | 通信之间允许的最长时间段(以秒为单位),默认为300,范围(60-1200)使用默认值就填""或者" " |
|
||
| clientID | str | clientID ,自定义字符(不超过64) |
|
||
| Devicename | str | 设备名称 |
|
||
| ProductKey | str | 产品密钥 |
|
||
| DeviceSecret | str | 设备密钥(使用一型一密认证此参数传入"") |
|
||
| ProductSecret | str | 产品密钥(使用一机一密认证时此参数传入"") |
|
||
| cleanSession | int | MQTT 保存会话标志位( 0则客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留, 1代理将在其断开连接时删除有关此客户端的所有信息 ) |
|
||
| QOS | int | MQTT消息服务质量(默认0,可选择0或1)0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker |
|
||
| subTopic | str | 订阅主题 |
|
||
| pubTopic | str | 发布主题 |
|
||
| serialD | int | MQTT通道捆绑的串口ID (1~3) |
|
||
|
||
###### 腾讯云参数
|
||
```
|
||
{
|
||
"protocol": "txyun",
|
||
"type": "mos",
|
||
"keepAlive": "",
|
||
"clientID": "test_tx_mos",
|
||
"Devicename": "Smart_test01",
|
||
"ProductKey": "H7MBLRYXN9",
|
||
"DeviceSecret": "89c7tXT3s3grZTr/YFjxSg==",
|
||
"ProductSecret": "",
|
||
"cleanSession": true,
|
||
"qos": "1",
|
||
"subscribe": {"0": "H7MBLRYXN9/Smart_test01/control"},
|
||
"publish": {"0": "H7MBLRYXN9/Smart_test01/event"},
|
||
"serialID": "1"
|
||
}
|
||
```
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| txyun | str | 腾讯云IOT的标识 |
|
||
| type | str | 一型一密tas/一机一密mos |
|
||
| keepAlive | int | 通信之间允许的最长时间段(以秒为单位),默认为300,范围(60-1200)使用默认值就填""或者" "。 |
|
||
| clientID | str | clientID ,自定义字符(不超过64) |
|
||
| Devicename | str | 设备名称 |
|
||
| ProductKey | str |
|
||
|
|
||
| DeviceSecret | str | 设备密钥(使用一型一密认证此参数传入"") |
|
||
| ProductSecret | str | 产品密钥(使用一机一密认证时此参数传入"") |
|
||
| cleanSession | int | MQTT 保存会话标志位( 0则客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留, 1代理将在其断开连接时删除有关此客户端的所有信息 ) |
|
||
| QOS | int | MQTT消息服务质量(默认0,可选择0或1)0:发送者只发送一次消息,不进行重试 1:发送者最少发送一次消息,确保消息到达Broker |
|
||
| subTopic | str | 订阅主题 |
|
||
| pubTopic | str | 发布主题 |
|
||
| serialD | int | MQTT通道捆绑的串口ID (1~3) |
|
||
|
||
## 设置APN
|
||
|
||
说明:这个指令只适合配置和使用不是同一张卡的场景
|
||
|
||
功能码: 0x60
|
||
|
||
数据内容:
|
||
```
|
||
{
|
||
"password":" ",
|
||
"data":{"apn": ["", "", ""]}
|
||
}
|
||
```
|
||
apn对应列表说明:
|
||
|
||
列表第一个参数: apn 的名称
|
||
|
||
列表第二个参数: apn 的用户名
|
||
|
||
列表第三个参数: apn 的密码
|
||
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x60 , "status":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | set apn |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
## GPIO pins
|
||
|
||
功能码: 0x61
|
||
|
||
数据内容:
|
||
```
|
||
{"password": " ",
|
||
"data":{"pins":[
|
||
"pio2", -- 网路指示灯的GPIO (pio1~pio128)
|
||
"pio4", -- 与服务器连上后通知GPIO (pio1~pio128)
|
||
"pio4" -- 重置DTU参数的GPIO (pio1~pio128)
|
||
]}}
|
||
```
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x61 , "status":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | set gpio pins |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
## OTA
|
||
|
||
功能码: 0x62
|
||
|
||
数据内容:
|
||
```
|
||
{"password": " ",
|
||
"data":{"ota":1
|
||
}
|
||
```
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x62 , "status":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | str | OTA状态 |
|
||
| success | int | 0 失败 1成功 |
|
||
|
||
## 参数设置
|
||
|
||
功能码: 0x63
|
||
|
||
数据内容:
|
||
```
|
||
{"password": " ",
|
||
"data":{ 完整配置文件(省略)
|
||
}
|
||
```
|
||
返回的数据内容:
|
||
|
||
`{"code": 0x63 ,"status":1}`
|
||
|
||
| **字段** | **类型** | **含义** |
|
||
| --- | --- | --- |
|
||
| code | Str | 状态码 |
|
||
| data | dict | 完整的配置文件 |
|
||
| status | int | 0 失败 1成功 | |