Récupérer la librairie pubsubclient sur Github et la décompresser dans le dossier librairies de L'ide Arduino.
#include <ESP8266WiFi.h> #include <PubSubClient.h> #define host_name "YOUR HOST NAME" #define wifi_ssid "YOUR WIFI SSID" #define wifi_password "WIFI PASSWORD" #define mqtt_server "YOUR_MQTT_SERVER_HOST" #define mqtt_user "your_username" #define mqtt_password "your_password" #define test_topic "test/topic" WiFiClient espClient; PubSubClient client(espClient); long lastMsg = 0; void setup() { Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, 1883); } void setup_wifi() { delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(wifi_ssid); WiFi.begin(wifi_ssid, wifi_password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); // Attempt to connect // If you do not want to use a username and password, change next line to if (client.connect(equipement_name)) { //if (client.connect(equipement_name, mqtt_user, mqtt_password)) { Serial.println("connected"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void loop() { if (!client.connected()) { reconnect(); } client.loop(); long now = millis(); if (now - lastMsg > 15000) { lastMsg = now; long capacite = random(100); Serial.print("capacite :"); Serial.println(String(capacite).c_str()); client.publish(test_topic, String(capacite).c_str(), true); } }