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数据库中