MQTT

Untitled

Iscrizioni a topic e publish

Broker MQTT

ESPHome

Esercizio Board MQTT

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
//#include <PubSubClientTools.h>

const String ssid = "at-cell";
const String pass = "temporanea789";

#define MQTT_SERVER "mqtt.atrent.it"
WiFiClient espClient;
PubSubClient client(MQTT_SERVER, 1883, espClient);
//PubSubClientTools mqtt(client);

void setupWifi() {
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid.c_str(), pass.c_str());

    Serial.print("Connecting...");
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
    Serial.println();

    Serial.print("Connected, IP address: ");
    Serial.println(WiFi.localIP());
}

void setupMQTT() {
    // Connect to MQTT
    Serial.print("Connecting to MQTT: "+String(MQTT_SERVER)+" ... ");
    if (client.connect("analogreader")) {
        Serial.println("MQTT connected");
        /*
        mqtt.subscribe("SistEmbed/plummin/imposta",    blink);
        mqtt.subscribe("#",        monitor);
        mqtt.subscribe("SistEmbed/fdossena/bright", luminosita);
        */

    } else {
        Serial.println("Failed, rc="+client.state());
    }
}

void setup() {
  Serial.begin(115200);
  setupWifi();
  setupMQTT();
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);

  // invio MQTT message
  client.publish("SistEmbed/analogread/atrent-value", String(sensorValue).c_str()); // forse c'è un giro più semplice... (es. PubSubClientTools)
  Serial.println("Failed? "+client.state());

  delay(1000);
}