esp32连接mqtt服务器
时间: 2023-09-05 20:14:04 浏览: 93
要连接 MQTT 服务器,您需要使用 MQTT 库。以下是在 ESP32 上使用 Arduino IDE 的步骤:
1. 安装 PubSubClient 库
在 Arduino IDE 中选择“工具”>“管理库”,搜索“PubSubClient”,然后安装该库。
2. 编写代码
```
#include <WiFi.h>
#include <PubSubClient.h>
// WiFi 参数
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
// MQTT 参数
const char* mqtt_server = "your_MQTT_SERVER";
const int mqtt_port = 1883;
const char* mqtt_user = "your_MQTT_USER";
const char* mqtt_password = "your_MQTT_PASSWORD";
const char* mqtt_topic = "your_MQTT_TOPIC";
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
delay(1000);
// 连接 WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// 连接 MQTT
client.setServer(mqtt_server, mqtt_port);
while (!client.connected()) {
Serial.println("Connecting to MQTT...");
if (client.connect("ESP32Client", mqtt_user, mqtt_password)) {
Serial.println("Connected to MQTT");
} else {
Serial.print("Failed with state ");
Serial.print(client.state());
delay(2000);
}
}
}
void loop() {
// 发送消息
client.publish(mqtt_topic, "Hello from ESP32");
// 等待接收消息
client.loop();
delay(1000);
}
```
替换上述代码中的“your_SSID”、“your_PASSWORD”、“your_MQTT_SERVER”、“your_MQTT_USER”、“your_MQTT_PASSWORD”和“your_MQTT_TOPIC”为您的 WiFi 和 MQTT 服务器参数。
3. 上传代码
将 ESP32 与计算机连接,并通过 USB 线上传代码。
4. 检查结果
在 MQTT 服务器上订阅您设置的主题,您应该可以看到来自 ESP32 的消息。
阅读全文