EMQX 规则引擎 简单实现将8266消息保存到MySQL数据库以及更新数据

参考文章

本篇博客是基于EMQX企业版,企业版自带持久化数据到MySQL等数据库的插件,实现存贮数据比较方便,但考虑到企业版价格相对贵(特别是对学生党而言),所以我写了另一篇关于使用EMQX免费开源版的同样实现保存消息到MySQL的博客EMQX webhook保存消息到MySQL

首先在MySQL数据库创建对应的数据库,表格。
创建mqtt数据库
创建表格
然后进入emqx服务器的控制台,就是dashboard,进入资源,创建资源
创建资源
连接成功后,到规则里去创建新规则,过滤出我们需要的temp温度数据,规则sql的意思是从负载payload中把键msg的值赋值给将要发送的json数据的temperature对应的值中
在这里插入图片描述
接下来是触发动作,也就是把数据存入表格sensor里对应的位置,把temperature的值写入sensor表中对应的temp项,注意下图中的sensor的标点是` ,也就是键盘esc键下面那个键,注意不要看成 ' ,否则会新建出错
在这里插入图片描述
点击确认后就可以测试了,启动websocket,先连接上emqx服务器,订阅temp主题,再向temp主题发送{‘msg’:‘26摄氏度’}的消息。
在这里插入图片描述
然后在规则里我们可以看到该规则已经被命中一次,也触发相应的动作,详细的信息:
在这里插入图片描述
究竟有木有保存到数据库中,耳听为虚眼见为实,我们还是要到数据库去看一看的。
在这里插入图片描述
可以看到我们的数据库里确实保存了刚刚发送的消息26摄氏度,大功告成!

更新数据到数据库前面的操作和保存的操作基本一致,只在添加动作这个地方有点不一样

如官网所示,注意语法 `
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44821644/article/details/100593769
今日推荐