MQTT协议
👾
MQTT协议接入,通过订阅和发布主题收发消息。
ℹ️
设备默认连接LIKONG-IOT MQTT开放平台。
获取设备基本信息
向设备订阅主题发送:
{
"messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"param": {
"type": "info"
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回,保证收发一致性) |
type | String | 32 | 消息类型(info:获取设备信息) |
指令正常设备向服务器返回:
{
"messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"code": 200,
"type": "ST200THPE",
"data": {
"temperature": 26.95,
"humidity": 49.78,
"pressure": 948.38,
"altitude": 554.68
},
"compensate": {
"t_compensate": 0,
"h_compensate": 0,
"p_compensate": 0
},
"set": {
"mqtt_timed_report": 0,
"mqtt_interval_time": 5,
"tcp_timed_report": 0,
"tcp_interval_time": 5,
"http_timed_report": 1,
"http_interval_time": 5
},
"net": {
"connmethed": "eth",
"ssid": "---",
"dhcp": 1,
"ip": "192.168.31.213"
},
"sys": {
"version": "HW:1.0.0_SDK:2.0.0",
"runtime": 90,
"eth_mac": "E8:6B:EA:C2:32:8F",
"sta_mac": "E8:6B:EA:C2:32:8C"
},
"protocol": {
"mqtt": 1,
"http": 1,
"tcpserver": 0,
"tcpclient": 0
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID (用于标识消息,服务器返回时按照发送消息原样返回,保证收发一致性) |
code | Int | 8 | 状态码 (200:成功) |
type | String | 8 | 设备类型 |
temperature | Float | 8 | 温度 (单位:摄氏度) |
humidity | Float | 8 | 湿度 (单位:%) |
pressure | Float | 8 | 气压 (单位:hPa) |
altitude | Float | 8 | 海拔 (单位:米) |
connmethed | String | 8 | 网络连接方式 (eth:以太网,wifi:无线) |
t_compensate | Float | 8 | 温度补偿 (单位:摄氏度) [范围-20至+20] |
h_compensate | Float | 8 | 湿度补偿 (单位:%) [范围-20至+20] |
p_compensate | Float | 8 | 气压补偿 (单位:hPa) [范围-500至+500] |
ssid | String | 8 | 无线SSID名称 |
dhcp | Int | 8 | 是否DHCP (1:启用,0:静态) |
ip | String | 16 | 设备IP |
eth_mac | String | 24 | 以太网MAC地址 |
sta_mac | String | 24 | WIFI MAC地址 |
version | String | 24 | 固件版本 |
runtime | Int | 8 | 设备运行的时间 (单位:秒) |
protocol | Int | 8 | 各类协议是否启用 (1:启用,0:未启用) |
mqtt_timed_report | Int | 8 | MQTT定时上报 (1:启用,0:未启用) |
mqtt_interval_time | Float | 8 | MQTT定时上报间隔时间 (单位:秒) |
tcp_timed_report | Int | 8 | TCP定时上报 (1:启用,0:未启用) |
tcp_interval_time | Float | 8 | TCP定时上报间隔时间 (单位:秒) |
http_timed_report | Int | 8 | HTTP定时上报 (1:启用,0:未启用) |
http_interval_time | Float | 8 | HTTP定时上报间隔时间 (单位:秒) |
指令异常设备向服务器返回:
{
"messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"code": 204,
"msg": "type not found"
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
code | Int | 8 | 状态码(204:失败) |
msg | String | 32 | 错误信息 |
获取设备自定义信息
向设备订阅主题发送:
{
"messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"param": {
"type": "customize"
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回,保证收发一致性) |
type | String | 32 | 消息类型(customize:获取设备自定义信息) |
指令正常设备向服务器返回:
{
"messageid": "",
"code": 200,
"type": "ST200THPE",
"mqtt_info": {
"enable": 1,
"mqtt_server": "http://likong-iot.com",
"mqtt_port": 1883,
"client_id": "client1",
"username": "username",
"password": "password",
"publish": "/topic/qos0",
"subcribe": "/topic/qos1",
"qos": 0,
"retain": 0,
"timed_report": 0,
"interval_time": 5
},
"tcp_info": {
"enable": 1,
"tcp_server": "http://likong-iot.com",
"tcp_port": 8888,
"timed_report": 0,
"interval_time": 5
},
"http_info": {
"enable": 1,
"http_uri": "http://likong-iot.com:8080",
"timed_report": 0,
"interval_time": 5
},
"compensate": {
"t_compensate": 0,
"h_compensate": 0,
"p_compensate": 0
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID (用于标识消息,服务器返回时按照发送消息原样返回,保证收发一致性) |
code | Int | 8 | 状态码 (200:成功) |
type | String | 8 | 设备类型 |
mqtt_info | Obj | / | MQTT协议定义信息 |
tcp_info | Obj | / | TCP协议定义信息 |
http_info | Obj | / | HTTP协议定义信息 |
enable | Int | 8 | 0-关闭 1-启用 |
mqtt_server | String | 32 | MQTT服务器地址(例:http://likong-iot.com) |
mqtt_port | Int | 8 | MQTT服务器端口(例:1883) |
client_id | String | 32 | 客户端ID,注意不能重复 |
username | String | 32 | MQTT服务器用户名 |
password | String | 32 | MQTT服务器密码 |
publish | String | 32 | 发布主题,注意不能重复 |
subcribe | String | 32 | 订阅主题,注意不能重复 |
qos | Int | 8 | qos等级 0-qos0,1-qos1,2-qos2 默认qos0 |
retain | Int | 8 | retain 1-启用,0-不启用 默认0 |
tcp_server | String | 32 | TCP服务器地址(例:http://likong-iot.com) |
tcp_port | Int | 8 | TCP服务器端口(例:1883) |
http_uri | String | 32 | HTTP服务器接口地址(例:http://likong-iot.com:8080) |
timed_report | Int | 8 | 是否启用定时上报 1-启用,0-不启用 |
interval_time | Int | 8 | 定时上报时间(单位:秒,建议5秒以上,最低2秒) |
指令异常设备向服务器返回:
{
"messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"code": 204,
"msg": "type not found"
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
code | Int | 8 | 状态码(204:失败) |
msg | String | 32 | 错误信息 |
自定义MQTT
向设备订阅主题发送:
{
"messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"param": {
"type": "custom",
"protocol": "mqtt",
"enable": 1,
"mqtt_server": "http://likong-iot.com",
"mqtt_port": 1883,
"client_id": "client1",
"username": "username",
"password": "password",
"publish": "/topic/qos0",
"subcribe": "/topic/qos1",
"qos": 0,
"retain": 0,
"timed_report": 0,
"interval_time": 5
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
type | String | 32 | 自定义时固定传custom |
protocol | String | 32 | 值为mqtt时代表配MQTT协议的参数 |
enable | Int | 8 | 是否启用MQTT协议 1-启用,0-不启用 |
mqtt_server | String | 32 | MQTT服务器地址(例:http://likong-iot.com) |
mqtt_port | Int | 8 | MQTT服务器端口(例:1883) |
client_id | String | 32 | 客户端ID,注意不能重复 |
username | String | 32 | MQTT服务器用户名 |
password | String | 32 | MQTT服务器密码 |
publish | String | 32 | 发布主题,注意不能重复 |
subcribe | String | 32 | 订阅主题,注意不能重复 |
qos | Int | 8 | qos等级 0-qos0,1-qos1,2-qos2 默认qos0 |
retain | Int | 8 | retain 1-启用,0-不启用 默认0 |
timed_report | Int | 8 | 是否启用定时上报 1-启用,0-不启用 |
interval_time | Int | 8 | 定时上报时间(单位:秒,建议5秒以上,最低2秒) |
生效时间:重启后生效。
设备回传设备自定义信息。
自定义TCP
向设备订阅主题发送:
{
"messageid": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"param": {
"type": "custom",
"protocol": "tcp",
"enable": 1,
"tcp_server": "http://likong-iot.com",
"tcp_port": 8888,
"timed_report": 0,
"interval_time": 5
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
type | String | 32 | 自定义时固定传custom |
protocol | String | 32 | 值为tcp时代表配TCPClient的参数 |
enable | Int | 8 | 是否启用TCP协议 1-启用,0-不启用 |
tcp_server | String | 32 | TCP服务器地址(例:http://likong-iot.com) |
tcp_port | Int | 8 | TCP服务器端口(例:1883) |
timed_report | Int | 8 | 是否启用定时上报 1-启用,0-不启用 |
interval_time | Int | 8 | 定时上报时间(单位:秒,建议5秒以上,最低2秒) |
生效时间:重启后生效。
设备回传设备自定义信息。
自定义HTTP
向设备订阅主题发送:
{
"messageid": "",
"param": {
"type": "custom",
"protocol": "http",
"enable": 1,
"http_uri": "http://likong-iot.com:8080",
"timed_report": 0,
"interval_time": 5
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
type | String | 32 | 自定义时固定传custom |
protocol | String | 32 | 值为http时代表配MQTT协议的参数 |
enable | Int | 8 | 是否启用HTTP协议 1-启用,0-不启用 |
http_uri | String | 32 | HTTP服务器接口地址(例:http://likong-iot.com:8080) |
timed_report | Int | 8 | 是否启用定时上报 1-启用,0-不启用 |
interval_time | Int | 8 | 定时上报时间(单位:秒,建议5秒以上,最低2秒) |
生效时间:重启后生效,注意暂时不支持HTTPS并且HTTPURI的长度不能长于32个字符。
设备回传设备自定义信息。
重启设备
向设备订阅主题发送:
{
"messageid": "",
"param": {
"type": "restart"
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
type | String | 32 | 消息类型(restart:重启设备) |
生效时间:立即生效,无返回。
重置设备
向设备订阅主题发送:
{
"messageid": "",
"param": {
"type": "reset"
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
type | Int | 8 | 消息类型(reset:重置设备) |
生效时间:立即生效,无返回。
参数补偿
向设备订阅主题发送:
{
"messageid": "",
"param": {
"type": "compensate",
"t_compensate": 0,
"h_compensate": 0,
"p_compensate": 0
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
type | String | 32 | 修改参数补偿时固定传compensate |
t_compensate | Int | 8 | 温度补偿-20至20℃ |
h_compensate | Int | 8 | 湿度补偿-20至20% |
p_compensate | Int | 8 | 温度补偿-500至500hPa |
生效时间:立即生效,无返回。
OTA升级
向设备订阅主题发送:
{
"id": "3FBD8A5D-9824-D355-EF7A-B31A609522CC",
"param": {
"type": "ota",
"uri": "http://10.0.0.50/likong-iot/module_v1.bin"
}
}
字段 | 类型 | 长度 | 备注 |
---|---|---|---|
messageid | String | 32 | 消息ID(用于标识消息,服务器返回时按照发送消息原样返回) |
code | String | 32 | 消息类型(ota:升级) |
uri | String | 128 | 升级文件下载地址 |
生效时间:立即生效,无返回。