char ssid[] = "\*\*\*\*"; char pass[] = "\*\*\*\*"; // 无线状态 int status = WL_IDLE_STATUS; int reqCount = 0;
#include <PubSubClient.h>
const char \*ID = "MQTTClient\_SSL-Client"; // Name of our device, must be unique const char \*TOPIC = "MQTT\_Pub"; // Topic to subcribe to const char \*subTopic = "MQTT\_Sub"; // Topic to subcribe to
IPAddress mqttServer(192, 168, 0, 131);
void callback(char\* topic, byte\* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (unsigned int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); }
void reconnect() { static String data = "Hello from MQTTClient\_Basic on " + String(BOARD_NAME); // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection to "); Serial.print(mqttServer);
// Attempt to connect if (client.connect(ID, "try", "try")) { Serial.println("...connected"); // Once connected, publish an announcement... client.publish(TOPIC, data.c\_str()); client.subscribe(subTopic); // for loopback testing client.subscribe(TOPIC); } else { Serial.print("...failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds");
// Wait 5 seconds before retrying delay(5000); } } }
void setup() { Serial.begin(115200); while (!Serial);
Serial.print(F("\nStarting ConnectWPA on ")); Serial.print(BOARD_NAME); Serial.print(F(" with ")); Serial.println(SHIELD_TYPE); Serial.println(ESP8266_AT_WEBSERVER_VERSION);
// 检查ESP-01与开发板连接状态 if (WiFi.status() == WL_NO_SHIELD) { Serial.println(F("WiFi shield not present")); while (true); }
// 连接网络 while ( status != WL_CONNECTED) { Serial.print(F("Connecting to WPA SSID: ")); Serial.println(ssid); // 连接WiFi热点 status = WiFi.begin(ssid, pass); }
Serial.print(F("You're connected to the network, IP = ")); Serial.println(WiFi.localIP()); client.setServer(mqttServer, 1883); client.setCallback(callback); }
#define MQTT\_PUBLISH\_INTERVAL\_MS 5000L
String data = "Hello from MQTTClient\_Basic on " + String(BOARD_NAME) + " with " + String(SHIELD_TYPE); const char \*pubData = data.c\_str();
unsigned long lastMsg = 0;
void loop() { static unsigned long now; if (!client.connected()) { reconnect(); }
// Sending Data now = millis(); if (now - lastMsg > MQTT_PUBLISH_INTERVAL_MS) { lastMsg = now;
if (!client.publish(TOPIC, pubData)) { Serial.println("Message failed to send."); }