NodeMCU ESP8266 für ioBroker, schalten ein Relais über MQTT

In dieser Artikelserie möchte ich Ihnen zeigen, wie einfach es ist, verschiedene intelligente Geräte mit NodeMCU ESP8266 in einem Arduino-Framework zu erstellen und sie mithilfe des MQTT-Protokolls in ioBroker zu integrieren. Im ersten Teil werden wir eine LED und ein Relais einschalten.


Die Schaltung benötigt nur wenige Komponenten:

NodeMCU Lolin V3 Module ESP8266 ESP-12F Wifi

3mm 5mm LED, 300er mit 5 Farben

Widerstände Resistor Kit 525er 0 Ohm -1M Ohm

Jumper Wire Kabel 3 x 40 STK. je 20 cm M2M/ F2M / F2F

Breadboard MB-102, 830 Pin 3er


Stellen Sie es auf ein Steckbrett:

NodeMCU8266 mit LED
NodeMCU8266 mit LED

.

Das ist alles. Es ist nicht kompliziert, oder?

Laden Sie im nächsten Schritt den folgenden Code auf die NodeMCU 8266 hoch.
Zu diesem Zweck werden wir die Arduino-Entwicklungsumgebung verwenden.

Ich gehe davon aus, dass Sie das ESP8266-Motherboard und die PubSubClient-Bibliothek installiert haben.


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

const char* ssid = "ssid";
const char* password = "wifi Password";
const char* mqtt_server = "MQTT.Server.IP.address";

int Led = D8;

WiFiClient espClient;
PubSubClient client(espClient);


void setup() 
{
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) 
  {
    delay(500);
  }
  client.setServer(mqtt_server, 1883);
  client.setCallback(callback);
  
  pinMode(Led, OUTPUT);
  digitalWrite(Led, LOW);
}

void loop() 
{
  if (!client.connected()) 
  {
    reconnect();
  }
  client.loop();
}

void reconnect() 
{
  while (!client.connected()) 
  {
    String clientId = "ESP8266TestClient";
    
    if (client.connect(clientId.c_str()))
    {
      client.subscribe("topic_name");
    } 
    else 
    {
      delay(6000);
    }
  }
}

void callback(char* topic, byte* payload, unsigned int length) 
{
  payload[length] = '\0';
  String strTopic = String(topic);
  String strPayload = String((char * ) payload);
  
  if(strTopic == "topic_name") 
  {
    if(strPayload == "false") 
    {
      digitalWrite(Led, LOW);
    }
    
    if(strPayload == "true") 
    {
      digitalWrite(Led, HIGH);
    }
  }
}

Anstelle einer LED können Sie auch ein Relaismodul schalten.

NodeMCU8266 mit Relaismodul
NodeMCU8266 mit Relaismodul

Mit diesem Relais können wir auch Geräte anschließen, die mit Netzspannung betrieben werden, z. Lampe, Ventilator, Kaffeemaschine usw.


Beachtung!
Netzspannung ist kein Spielzeug, sie kann einen tödlichen Stromschlag oder einen Brand verursachen! Nur auf eigenes Risiko und nur wenn Sie wissen, was Sie tun!


Ich hoffe, Ihnen hat der Artikel gefallen und er war eine nützliche Information für Sie.

Weitere interessante Dinge finden Sie hier.


ESP32 NodeMCU WLAN Module
ESP32 Dev Kit C V4 NodeMCU WLAN/WiFi Development Board

Werbung