ESP8266 WOL Wake on LAN mit AP Setup Oberfläche

Für ein Projekt benötige ich ein Controller der beim Auslösen einer Anlage ein WOL magic package an einen bestimmten PC sendet.
Da kam mir schnell die Idee, dass ich hierfür einen D1 mini ESP8266 verwenden könnte, da dieser kostengünstig und einfach zu programmieren ist.

Um die MAC Adresse konfigurieren zu können, bekam der ESP eine einfache aber effektive Accesspoint Unterstützung, die mittels einem Pushbutton aktiviert werden kann.

Natürlich hätte ich einfach ein Relais verwenden können, aber ich wollte den Startknopf von diesem Gerät nicht „Verlöten“ und mit diesem Eingriff die Garantie verlieren.

Aufbau:

Eigene Abbildung – ESP 8266 D1 Mini und schaltung

Verkabelung

D4 = Pushbutton für den AP Betrieb
D3 = Alarmausgang (ist ein Relais, dies schaltet uns den Kontakt)
GND = damit die Buttons im geschlossenen Zustand gegen GND geschaltet werden

Software

Download code

Benötigte Libs:

Die Pins können ganz einfach erweitert werden, dazu im loop einen weiteren Button hinzufügen:


#define my_custom_button_pin Dx

voide setup(){
    pinMode(my_custom_button_pin, INPUT);
}

void checkMyCustomButton(){
  // check for button press
  if ( digitalRead(my_custom_button_pin) == LOW ) {
    delay(50);
    if( digitalRead(my_custom_button_pin) == LOW ){
      Serial.println("Triggerd: My custom button");
      
    }
  }
}

void loop() {
  checkMyCustomButton(); //config custom button
}

Prinzipiell könnt Ihr den Script für fast alles anpassen, etwas trixy zu verstehen sind die Custom Felder, die tzapu WifiManager liefert. Sobald Ihr versteht wie die genau funktionieren, können alle Variablen auch darüber gespeichert werden um den Quellscript nicht immer anpassen zu müssen.

Verwendung

Wird nun der Pushbutton auf D4 gedrückt, startet der ESP in den Accesspoint Modus. Nach einiger Zeit stellt sich der normale Betrieb wieder ein. Sollte es dem ESP nicht möglich sein mit dem Wi-Fi zu verbinden, landet es wieder im AP Modus. Dazu wird im Sketch ein WLAN Namen und bei Bedarf ein Passwort vergeben.

Siehe Header Bild
Gelber Button = AP Modus wird gestartet
Roter Button = Auslösung vom Terminal (zur Vereinfachung mit einem Pushbutton realisiert)

Wi-Fi Einstellungen im Sketch:

      if (!wm.startConfigPortal("AET WOL")) // ohne Passwort
      if (!wm.startConfigPortal("Mein Wlan Name", "Mein Passwort")) // mit Passwort
      if (!wm.startConfigPortal()) // Chip ID als SSID

Nachcdem der gelbe Button gedrückt wird sollte die Ausgabe der Console so aussehen:

Eigene Abbildung – Console

ssid = AET WOL ist euer WLAN Name. AP IP address: 192.168.4.1 = die IP-Adresse der Weboberfläche.

Nun verbinden wir uns mit dem Handy oder PC und stellen das WLAN, womit sich der D1 verbinden soll und die MAC Adresse des Zielgerätes ein.

Ich denke die Weboberfläche ist, ohne viel zu erklären recht logisch aufgebaut.
Ihr könnt im Script die Menüs, statische IP-Adresse usw. einstellen. Ein Blick auf die Doku von WiFiManager macht auf jeden fall Sinn. Eines der besten Beispieldateien ist das die Datei Advanced unter Examples.

Viel Spaß beim Nachbauen

Christoph Purin
Christoph Purin

Mein Name ist Christoph Purin und befasse mich mit IoT Geräten wie Raspberry, Arduino, ESP. Auch Aktivitäten wie die FFW, Quad-fahren, Amateurfunk zählen zu meinen bevorzugten Hobbys.
Dieser Blog, stellt eine Sammlung meiner Projekte dar, wie Dinge gelöst oder umgebaut werden können.

Artikel: 345

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert