ESP8266通过mqtt保存数据到mysql_热点

哔哩哔哩   2023-05-02 00:00:50

0.硬件和软件

ESP8266、DHT11、EMQX(5.0以上版本)、MYSQL(5.6)、服务器ubuntu2018

1.EMQX安装

下载地址

选择一个版本


(相关资料图)

选择版本复制下载链接

1.下载安装包

2.执行安装

3.启动服务

按步骤复制上面三个命令执行

安装成功后,开放以下端口:8883、1883、8083、8084、18083

然后访问EMQX后台:服务器IP:18083

由于企业版收费使用试用的license连接只能为10个

(1)安装MQTT库

打开arduino点击库管理,然后搜索pubsubclient

安装PubSubClient

(2)安装DHT11温湿度传感器库

搜索simpleDHT

安装

(3)安装WIFImanager库,这个库可以通过Web端配网

搜索WIFImanager

安装ESP32Wifimanager

下面代码每隔1秒通过MQTT上传温湿度数据,每隔200ms获取订阅的消息(用于远程控制)通过ticker库实现多任务处理,让上传数据和获取订阅同时执行,具体代码:

烧录代码,复位后,手机连接esp配网wifi按照要求数据密码账号后等待esp连接到emqx

测试连接,访问mqtt消息调试工具MQTT X Web: 在线的 MQTT Websocket 客户端工具

点击新建连接,输入服务器地址点击连接

添加订阅接收数据

测试接收到的数据

3.保存到mysql数据库

添加数据库连接

点击创建,选择mysql

然后输入账号密码,点击确定

根据上面传上来的json数据添加sql模板

添加响应动作,选择刚刚设置的sql数据库

添加模板

最后测试当客户端发送数据上来,数据被保存在sql数据库中

最新资讯