#include <ESP8266WiFi.h>
#include <ArduinoMqttClient.h>
const char *ssid = "SYS123";
const char *password = "12345678";
const char broker[] = "test.mosquitto.org";
int port = 1883;
const char topicT[] = "home/temp";
WiFiClient wifiClient;
MqttClient mqttClient(wifiClient);
void setup()
{ Serial.begin(9600);
Serial.print("Wifi connecting to ");
Serial.print(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{ Serial.println("connecting ");
delay(500);
}
Serial.println("Wifi connected successfully");
Serial.print("Attempting to connect to the MQTT broker: ");
Serial.println(broker);
if (!mqttClient.connect(broker, port))
{ Serial.print("MQTT connection failed! Error code = ");
Serial.println(mqttClient.connectError());
while (1);
}
Serial.println("You're connected to the MQTT broker!");
Serial.println();
mqttClient.onMessage(onMqttMessage);
Serial.print("Subscribing to topic: ");
Serial.println(topicT);
Serial.println();
mqttClient.subscribe(topicT);
Serial.print("Topic Tempertaure: ");
Serial.println(topicT);
Serial.println();
}
void loop()
{ mqttClient.poll();
delay(1000);
}
void onMqttMessage(int messageSize)
{
Serial.println("Received a message with topic '");
Serial.print(mqttClient.messageTopic());
Serial.print("', length ");
Serial.print(messageSize);
Serial.println(" bytes:");
while (mqttClient.available())
{
Serial.print((char)mqttClient.read());
}
Serial.println();
Serial.println();
delay(1500);
}