#include <WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
// WiFi credentials
const char *ssid = "";
const char *password = "";
// Adafruit IO credentials
#define IO_USERNAME ""
#define IO_KEY ""
// Create a WiFiClient object
WiFiClient wifiClient;
// Define the Adafruit IO Feed
Adafruit_MQTT_Client mqtt(&wifiClient, "io.adafruit.com", 1883, IO_USERNAME, IO_KEY);
Adafruit_MQTT_Subscribe feed = Adafruit_MQTT_Subscribe(&mqtt, IO_USERNAME "/feeds/teste1");
void setup() {
Serial.begin(9600);
Serial.print("Connecting to WiFi");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
// Add a delay before connecting to WiFi
//delay(1000);
// Connect to Wi-Fi
//WiFi.begin(ssid, password);
// Serial.print("Connecting to WiFi...");
// while (WiFi.status() != WL_CONNECTED) {
// delay(1000);
//Serial.print(".");
//}
//Serial.println();
// Serial.println("Connected to WiFi");
// Serial.println(WiFi.status());
// Connect to Adafruit IO
mqtt.subscribe(&feed);
}
void loop() {
// Ensure the connection to Adafruit IO is maintained
if (!mqtt.connected()) {
connectToMQTT();
}
// Monitor the Adafruit IO feed
Adafruit_MQTT_Subscribe *subscription;
while ((subscription = mqtt.readSubscription(5000))) {
if (subscription == &feed) {
Serial.print("Received Feed Value: ");
Serial.println((char *)feed.lastread);
}
}
}
void connectToMQTT() {
Serial.print("Connecting to MQTT...");
int8_t ret;
while ((ret = mqtt.connect()) != 0) {
Serial.println(mqtt.connectErrorString(ret));
Serial.println("Retrying MQTT connection...");
delay(5000);
}
Serial.println("Connected to MQTT");
}