Da ich mehrere Server in einem Hobbyprojekt die über 100km entfernt von mir stehen betreue hatte ich jetzt immer wieder das Problem diese remote einschalten zu können. Eigentlich ist an den Servern Wake On Lan aktiviert sowie Power Up by AC loss. Aber es passiert, warum auch immer, das ich diese nicht mehr aufwecken kann. Daher würde ich gerne über ein Relais den Power Button eines jeden Rechners individuell drücken können. Dazu kommt noch, dass die Rechner aber nur laufen sollen wenn Solarstrom Überschuss besteht. Deshalb ist es wichtig diese automatisiert einschalten bzw. ausschalten zu können. Alle vier Rechner sind gleich aufgebaut und setzen auf ein Asrock Q1900M Motherboard das ich hier etwas beschrieben habe. Leider macht dieses Board Probleme mit der Funktion Wake-On-Lan und Power Up by AC loss trotz Konfiguration im BIOS und Betriebssystem. Auch habe ich eine PiKVM Lösung im Einsatz um Fernwartungsaufgaben remote komfortabel z. B. wenn nötig auch im BIOS des Rechners durchführen zu können.

Nur was ich bis jetzt nicht konnte war remote den Power Button am Rechner selber drücken zu können. Damit das möglich wird habe ich mir eine Platine mit vier Relais gekauft die ich über einen ESP8266 Node MCU steuern werden.

ESP8266 Node MCU relais control web interface

ESP8266 Node MCU relais control web interface

Jetzt ist es natürlich so, dass diese Lösung für alles Mögliche verwendet werden kann. Also nicht nur zum Einschalten von Computern aber auch um z. B. im Garten eine Pumpe via WiFi steuern zu können oder einen anderen Verbraucher.

Benötigte Komponenten

Benötigt wird eigentlich nicht viel und ich möchte es hier auch auf ein Minimum beschränken. Die jetzt folgenden Links sind Affiliate Links zum Web-Shop vom Amazon. Mit diesen Affiliate Links und darauf generierten Einnahmen finanziere ich zum Teil meine Projekte hier.

Für die Steuerung und die Einbindung in das eigene WiFi kommt ein ESP8266 Node MCU Mikrokontroller zum Einsatz der bereits über WiFi verfügt.

(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Mit diesem Relais habe ich gute Erfahrungen gemacht und es läßt sich perfekt mit dem Node MCU steuern.

(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Damit alle miteiander verkablet werden kann werden noch Female Female Jumper Kabel benötigt.

(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Für die Stromversogung des Node MCU wird ein mirco USB Kabel gebraucht das meiner Erfahrung nach abhängig vom Einsatzort durchaus etwas länger sein darf.

(* = Affiliate-Link / Bildquelle: Amazon-Partnerprogramm)
×
Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Sind alle Komponenten vorhanden geht es mit der Verkabelung los.

Verkabelung

Es werden sieben Female Female Jumper Kabel benötigt um das Relais am ESP8266 Node MCU anschließen zu können.

Hinweis: Es muss die 5V Logik des Relais auch mit 5V betrieben werden damit die Elektromagneten das Relais auch wirklich schalten können.

Die folgende Tabelle zeigt wie die Verkabelung zu erfolgen hat. Dazu bitte die Jumper Kabel entsprechend auf die Pins aufstecken.

Relais ESP8266 Node MCU
GND GND
VCC 3,3V
JD-VCC VU (5V)
IN1 D1
IN2 D2
IN3 D5
IN4 D6

Ich hoffe, dass die Tabelle gut erklärt wo welches Kabel am Relais und am ESP8266 Node MCU angeschlossen werden muss.

Hinweis Jumper JD-VCC: Hier muss der Jumper abgezogen werden. Denn die Seite des Relais mit den Optokopplern, also die Pins an die der ESP8266 Node MCU angeschlossen wird soll mit 3,3 V operieren um den ESP nicht zu beschädigen. Die Seite mit den Relais muss mit 5 V arbeiten damit die Magnetspulen im Relais auch schalten können. Das wird erreicht durch ziehen des Jumpers JD-VCC und durch die Stromversorgung mit 5V am Pin JD-VCC der auf der Seite sitzt auf der auch die Relais auf der Platine angebracht sind.

ESP8266 Node MCU relais control web wires

ESP8266 Node MCU relais control web wires

Hier habe ich noch einmal vier dieser Module gebaut da ich diese einfach sehr praktisch finde und immer wieder Verwendung für diese habe. Ich hoffe so ist die Verkabelung auch noch einmal gut zu erkennen.

ESP8266 Node MCU relais control overview

ESP8266 Node MCU relais control overview

Im jetzt folgenden Abschnitt geht es um die Software.

Software

Die Software die auf den ESP8266 Mode MCU aufgespielt wird habe ich selber nicht geschrieben oder mir ausgedacht. Diese stammt von der folgenden Seite die auch sehr ausführlich das Thema Relais und wie schließe ich meinen Verbraucher an beschreibt. Das werde ich hier nicht wiederholen da ich es nicht besser erklären könnte.

Hier geht es jetzt zu der wirklich tollen Projektbeschreibung (English)

Projektbeschreibung: ESP8266 NodeMCU Relay Module – Control AC Appliances (Web Server)

Dieses Programm habe ich verwendet da hier die Funktion bereits integriert ist, dass das Relais nach einer festzulegenden Zeit wieder zurück schaltet wie ein Taster eben.

Software: web_server_output_goes_back_to_default.ino

Ich habe hier lediglich die Texte auf der Oberfläche und die Schaltzeit angepasst da ich ja den Power Button am Server immer nur kurz drücken möchte also bei mir jetzt 300ms lang. Das sollte reichen und ich werde es ausprobieren sobald ich mal wieder in der Nähe der Rechner bin.

Wer sich jetzt nicht so gut auskennt mit der Entwicklungsumgebung und wie bekomme ich die Software und fehlenden Bibliotheken installiert kann sich mal in Ruhe hier meinen Grundlagen Beitrag durchlesen.

Arduino IDE: Arduino Entwicklungsumgebung einrichten

Wenn alles soweit eingerichtet ist und wie hier beschrieben die noch benötigten Bibliotheken verfügbar gemacht wurden kann die Software aufgespielt werden.

Bitte diese Bibliothek in der Arduino IDE einrichten: ESPAsyncWebServer library

Bitte diese Bibliothek in der Arduino IDE einrichten: ESPAsyncTCP library

Wenn das richtige WiFi mit Passwort konfiguriert wurde, das Programm fertig auf den ESP8266 übertragen ist dann sieht auf dem Smartphone das Web-Interface ähnlich zu meinem schon leicht modifizierten aus das ihr im nachfolgenden Bild sehen könnt.

ESP8266 Node MCU relais control web interface

ESP8266 Node MCU relais control web server smartphone

Video

Jetzt noch ein kleines Video das meinen Aufbau zeigt und wie das Web-Interface auf meinem Smartphone aussieht. Da bekommt man ja wirklich noch richtig Lust mehr mit Relais zu steuern 🙂

ESP8266 Node MCU relais control video

ESP8266 Node MCU relais control video

Automatisierung – Relais schalten

Eingangs zu diesem Artikel hatte ich ja beschrieben das die Rechner automatisch eingeschalten bzw. ausgeschalten werden sollen je nach dem wie viel Solarenergie von den Zellen aktuell produziert wird bzw. wie viel im Akku vorhanden ist. Das ganz soll dann noch abhängig vom Wetter am folgenden Tag und Jahreszeit gesteuert werden. Diese Steuerung habe ich in Python umgesetzt und das Pythonprogramm läuft einem Raspberry Pi der noch weitere Services wie FligthAware, VPN etc. bereitstellt.

Damit ich jetzt die Relais aus Python heraus schalten kann muss ich eine passende URL aufrufen können. Diese sieht wie folgt aus:

Erläuterung des Aufrufes:

URL: http://<IP Adresse des ESP8266 Node MCU>/update?relay=<ID>&state=<Schaltzustand>

Beispeil:

Relais 1 einschalten

URL: http://192.168.178.170/update?relay=1&state=1

Relais 1 ausschalten

URL: http://192.168.178.170/update?relay=1&state=0

Zusammenfassung Relais Steuerung

Ich hatte gedacht das ich für das Projekt länger brauche aber es war eigentlich recht schnell umgesetzt und klappt wirklich gut. Die Erprobung an meinen Servern folgt in den nächsten Wochen wenn ich mal wieder vor Ort bin und Zugang zum Serverraum habe. Ansonsten hat das Projekt bei mir Lust auf mehr gemacht. Denn ich habe schon das ein oder andere als Idee im Kopf was ich noch so alles schalten konnte.

BlogYourEarth


Ich lebe in Bayern nahe München. In meinem Kopf habe ich immer viele Themen und probiert gerade im Bereich Internet neue Medien viel in meiner Freizeit aus. Ich schreibe an dem Blog da es mir Spaß macht über die Dinge zu berichten die mich begeistern. Ich freue mich über jeden Kommentar, über Anregung aber auch über Fragen.

(Visited 1.099 times, 1 visits today)