#include <WiFi.h>
#include <PubSubClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* mqtt_server = "mqtt.thingsboard.cloud"; // Serveur MQTT
const char* mqtt_user = "0K0uTsXXeLszYR3gOQBm"; // Remplace par ton access
const char* mqtt_topic = "v1/devices/me/telemetry"; // Topic par défaut
WiFiClient WOKWI_Client;
PubSubClient client(WOKWI_Client);
#define WIFI_LED 2
#define MQTT_LED 15
// LED pour connexion WiFi
// LED pour connexion MQTT
void setup_wifi() {
Serial.begin(115200);
Serial.println("\nConnexion au WiFi...");
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\n WiFi connecté !");
Serial.println("IP address: " + WiFi.localIP().toString());
}
void reconnect() {
while (!client.connected()) {
Serial.print("Connexion à MQTT...");
if (client.connect("ESP32_Client", mqtt_user, "")) {
Serial.println(" Connecté à MQTT !");
} else {
Serial.print(" Échec, code erreur = ");
Serial.print(client.state());
Serial.println(". Nouvelle tentative dans 5s...");
delay(5000);
}
}
}
// Vérifie l'état du WiFi et met à jour la LED correspondante
void checkWiFi() {
digitalWrite(WIFI_LED, WiFi.status() == WL_CONNECTED ? HIGH : LOW);
}
// Vérifie l'état de la connexion MQTT et met à jour la LED
void checkMQTT() {
digitalWrite(MQTT_LED, client.connected() ? HIGH : LOW);
}
void setup() {
pinMode(WIFI_LED, OUTPUT);
pinMode(MQTT_LED, OUTPUT);
setup_wifi();
client.setServer(mqtt_server, 1883);
}
void loop() {
checkWiFi();
reconnect();
checkMQTT();
client.loop();
}
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4
led1:A
led1:C
led2:A
led2:C
r1:1
r1:2
r2:1
r2:2