#include<WiFi.h>
#include<PubSubClient.h>
const char* ssid = "BlackWalnut";
const char* password = "blackwalnut";
const char* mqttServer = "192.168.1.25";
const int mqttPort = 1883;
const char* mqttUser = "admin";
const char* mqttPassword = "public";
WiFiClient espClient;
PubSubClient client(espClient);
void callback(char* topic, byte* payload, unsigned int length)
{
Serial.print("来自订阅的主题:");
Serial.println(topic);
Serial.print("信息:");
for (int i = 0; i< length; i++)
{
Serial.print((char)payload[i]);
}
Serial.println();
Serial.println("-----------------------");
}
void setup()
{
Serial.begin(115200);
while (WiFi.status() != WL_CONNECTED)
{
Serial.println("WiFi连接中...");
WiFi.begin(ssid,password);
delay(2500);
}
Serial.println("WiFi连接成功");
client.setServer(mqttServer,mqttPort);
client.setCallback(callback);
while (!client.connected())
{
Serial.println("MQTT服务器连接中");
if (client.connect("ESP32Client",mqttUser, mqttPassword ))
{
Serial.println("MQTT服务器连接成功");
}
else
{
Serial.print("MQTT服务器连接失败,正在尝试重新连接");
Serial.print(client.state());
delay(2000);
}
}
client.subscribe("ESP32");
Serial.print("已订阅主题,等待主题消息....");
client.publish("/World","Hello from ESP32");
}
void loop()
{
client.loop();
}
Arduino_esp32_WiFi_mqtt代码
最新推荐文章于 2023-12-31 17:24:09 发布