MQTT高级功能
概述
本文档介绍MQTT设备接入的高级功能,包括自定义Topic配置、动态编解码、高级联动等特性。这些功能可以帮助您实现更灵活的设备管理和数据处理。
核心功能
1. 控制台设置下行Topic主题
平台支持自定义下行Topic主题配置,提供更灵活的MQTT通信控制。
重要提示
设置的主题必须拥有发布pub权限,否则无法正常发送消息。
控制台Topic配置界面,支持设置自定义的下行主题,覆盖默认的物模型主题

设置后,此产品的将不再向默认物模型主题($thing/down/${productKey}/${deviceId})推送消息,而是使用您配置的自定义主题。
2. 编解码协议动态修改
平台支持在编解码过程中动态设置Topic主题,提供更灵活的通信控制。
编解码协议编辑界面,支持在协议中动态设置Topic和回复内容

示例代码
javascript
//解码
var decode = payload => {
var result = [];
log.info("编解码收到消息={}", payload);
var dt = toJson(payload);
var propertiesObj = {
messageType: "PROPERTIES",
properties: {},
};
//设置属性
propertiesObj.properties = dt;
propertiesObj.properties.sn = randomSign();
//MQTT设置回复
propertiesObj.replyPayload = "xzzxc" + randomSign(); //设置回复的内容
propertiesObj.downTopic = "$thing/down/681c0775c2dc427d0480ab5f/cz001923"; //设置回复的主题
return propertiesObj;
};解码后的报文示例
json
{
"messageType": "PROPERTIES",
"properties": {
"temp": 1,
"sn": "23176"
},
"replyPayload": "xzzxc23177",
"downTopic": "$thing/down/681c0775c2dc427d0480ab5f/cz001923"
}预期的结果,平台会自动解析downTopic 和 replyPayload
重要注意事项
downTopic会覆盖默认物模型的下行主题replyPayload值不为空时,平台会立即往设置的 downTopic 发送replyPayload的值。
3. 高级应用场景
高灵敏度联动
使用以上规则,您可以设置灵敏度极高的联动,实现实时的设备响应和数据处理。
通知推送集成
后续支持通知推送功能,让您能够更快响应设备的消息,实现实时的业务处理。
功能特性
- 自定义Topic:支持灵活配置上行和下行Topic
- 动态编解码:在协议解析过程中动态设置通信参数
- 实时响应:支持立即回复和自定义响应内容
- 高灵敏度:实现毫秒级的设备响应和联动
- 扩展性强:支持复杂的业务逻辑和自定义处理