Arduino_esp32_WiFi_mqtt代码

#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();                            
}

版权声明:本文为m0_53372088原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。