Esp32 Mqtt

1|0使用esp32连接MQTT服务器

1|1使用Arduino库

  • PubSubClient.h

修改PubSubClient.h文件

image-20221104170155709

1|2基本初始化

  • 引入头文件

#include "PubSubClient.h"

const char*ssid ="XXXX"; //ESP32连接的WiFi账号 const char*password = "XXXX"; //WiFi密码 const char*mqttServer = "XXXX"; //要连接到的服务器IP const int mqttPort =1883; //要连接到的服务器端口号 const char*mqttUser = "admin"; //MQTT服务器账号 const char*mqttPassword = "public"; //MQTT服务器密码
WiFiClient espClient; // 定义wifiClient实例 PubSubClient client(espClient); // 定义PubSubClient的实例

1|3接收信息函数

void callback(char*topic, byte* payload, unsigned int length) { tft.drawString("From MQTT",0,48,2); tft.drawString(topic,0,60,2); tft.drawString("Massage is :",0,68,2); char arr[length]; for (int i = 0; i< length; i++) //使用循环打印接收到的信息 { arr[i] = (char)payload[i]; // 接收信息 } tft.drawString(arr,0,80,2); // 屏幕打印信息 }

1|4连接WiFi

delay(500); WiFi.begin("Internet Of Things Skills", "ThingInternets@fSkillsB44752"); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }

1|5MQTT初始化

client.setServer(mqttServer,mqttPort); client.setCallback(callback); while (!client.connected()) //是否连接上MQTT服务器 { if (client.connect("ESP32Client",mqttUser, mqttPassword )) //如果服务器连接成功 { State = 2; } } client.subscribe("ESP32"); //连接MQTT服务器后订阅主题 client.publish("/World","Hello from ESP32");//向服务器发送的信息(主题,内容) }

1|6接收

client.loop(); //回旋接收函数 等待服务器返回的数据

参考

ESP32连接MQTT服务器(基于Arduino环境)_- 猪猪猪的博客-CSDN博客_esp32 mqtt


__EOF__

本文作者~内个臣呐~
本文链接https://www.cnblogs.com/Xin-chen/p/16859413.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ~内个臣呐~  阅读(385)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示