在emqx中如何自定义规则实现修改、转发 mqtt协议消息

作者 lostvip.com 2024年06月30日 14:48 阅读 73

IOT平台对接第三方设备时,由于协议格式不同,无法直接对接,此时可通过emqx自带的协议处理规则功能实现 对不同协议的字段和协议的适配。


 

1、先看一下规则设置界面。这里我们只用到规则和动作,作用如下图

 

2、添加规则中的消息源

 

配置好输入源后,可直接通过sql获取消息:

SELECT  payload.msg FROM "topic/prd/+/post"

 

 

3、添加输出目标,输出格式

     其中,连接器需要填写目标服务器地址及目标主题

 

4、使用emqx 客户端工具建立两个mqtt连接, 分别用来模拟设备发消息和服务器接受emqx 修改格式后的消息

设备端:发送消息到主题 topic/prd/dev2/post

           

{
  "msg": "msg from emqx by lostvip"
}

服务端:服务端订阅test主题(这个主题的源数据来自 topic/prd/+/post)

最终服务端收到来自test主题的消息 

{
  "data": "msg from emqx by lostvip",
  "ssz": "this is rule test"
}

 

发表评论