NodeMCU ESP8266 az ioBrokerhez, MQTT-n kapcsolj egy relét

Ebben a cikksorozatban szeretném bemutatni, hogy milyen egyszerüen készíthet különböző okos eszközöket NodeMCU ESP8266 segítségével arduino keretrendszerben és integrálhatja ezeket az ioBrokerbe MQTT protokoll használatával. Az első részben egy LED-et és relét fogunk kapcsolni.


Az áramkörhöz csak pár alkatrészre van szükség:

NodeMCU Lolin V3 Modul ESP8266-12F Wifi

3mm és 5mm LED 5 Különböző színben.

Ellenállás készlet 0 Ohm -1M Ohm

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

Breadboard MB-102, 830 Pin


Rakjuk össze egy breadboardon:

NodeMCU 8266 a hozzákapcsolt LED-del

Ennyi az egész. Nem bonyolult ugye?

A következő lépésben töltsük fel az alábbi kódot a NodeMCU 8266-ra.
Az Arduino fejlesztőkörnyezetét fogjuk használnierre a célra.

Feltételezem telepítve van az ESP8266 alaplap és a PubSubClient könyvtár.


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

const char* ssid = "ssid";
const char* password = "wifi jelszo";
const char* mqtt_server = "MQTT.Szerver.IP.cime";

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_neve");
    } 
    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_neve") 
  {
    if(strPayload == "false") 
    {
      digitalWrite(Led, LOW);
    }
    
    if(strPayload == "true") 
    {
      digitalWrite(Led, HIGH);
    }
  }
}

A LED helyett kapcsolhatunk relé modult is.

NodeMCU8266 Relével
NodeMCU8266 Relével

Ezzel a relével kapcsolhatunk hálózati feszültséggel működő eszközöket is
pl. lámpa, ventillátor, kávéfőző stb.


Figyelem!
A hálózati feszültség nem játék, halálos áramütést, tüzet okozhat! Csak a saját felelőségedre és csak ha tudod, hogy mit csinálsz!


Ha érdekel hogyan kapcsolódik az ioBrókerhez, nézd meg ezt: ioBroker és az MQTT adapter

Remélem tetszett a cikk, és hasznos információ volt a számodra.

További érdekességet itt találsz.


Ha nem valami egyszerűbbet keresel:

Shelly Plug S

Shelly Plug S

A legkisebb WiFi-csatlakozóval bárhonnan vezérelhető számos háztartási és irodai eszköz.

Hirdetés

Shelly 1 PM WiFi kapcsoló

Shelly 1 PM WiFi kapcsoló

A háztartási és irodai eszközök vezérelhetők a legkisebb WiFi-kapcsolású kapcsolókapcsolóval. Az áramfogyasztást is mérhetjük vele.

Shelly 1 wifi relé

Shelly 1 wifi relé

A Shelly ESP8266-on alapszik, egyszerűen egy aljzat vagy egy kapcsoló mögé telepíthetnek, ez nagyon megkönnyíti az intelligens otthon utólagos kiépítését.