- ESP Smart Plug für die Heimautomation
- Erforderliche Materialien
- Smart Plug Programm für ESP8266
- Schaltplan
- 3D-gedrucktes Gehäuse für Smart Plug Socket
Seit ich mit den ESP-WLAN-Modulen arbeite, wollte ich immer eine intelligente WLAN-Buchse bauen, mit der ich meine Wechselstromlasten drahtlos über ein Smartphone steuern kann. Produkte wie diese sind bereits auf dem Markt erhältlich, wie der beliebte Moko WiFi Smart Plug oder Sonoff. Sie sind jedoch etwas teuer und bieten Ihnen darüber hinaus nicht die Freude, Ihre eigenen zu bauen. In diesem Projekt werde ich Ihnen zeigen, wie Sie mit dem ESP8266 Wi-Fi-Modul Ihren eigenen Smart Plug bauen können. Das von uns gebaute Gerät kann problemlos an eine beliebige Ausgangssteckdose angeschlossen werden. Am anderen Ende können Sie die tatsächliche Last anschließen, indem Sie es einfach an diese Steckdose unseres Geräts anschließen. Lassen Sie danach einfach den Hauptschalter Ihrer Steckdose immer eingeschaltet, und Sie können Ihre Last direkt von Ihrem Smartphone aus steuern. Spaß richtig? Kommen wir also zum Projekt…
ESP Smart Plug für die Heimautomation
Wir haben bereits eine Handvoll Hausautomationsprojekte erstellt, von der einfachen HF-basierten Hausautomation bis zu meiner bevorzugten sprachgesteuerten Hausautomation mit Google-Assistenten. Heute sind die Anforderungen an dieses Projekt jedoch etwas anders.
Hier besteht der Zweck darin, meinen WLAN-Router ein- und auszuschalten, indem Sie einfach das Smartphone direkt von meiner Workstation aus verwenden. Da meine Internetverbindung manchmal ausfällt und ich meinen Kundenservice anrufe, lautet die Standardantwort: „Sir, es tut mir leid für die entstandenen Unannehmlichkeiten. Bitte starten Sie Ihren Router neu, indem Sie ihn ausschalten und nach einigen Sekunden wieder einschalten. “ Puffff! Ich war es leid, jedes Mal zum Router zu gehen, und entschied mich, diesen WLAN-Smart-Plug zu bauen und meinen Router damit zu steuern.
Aber warte eine Minute! Sobald ich meinen Router ausschalte, habe ich keinen Zugang mehr zum Internet. Wie schalte ich es aus der Ferne wieder ein? Glücklicherweise kann unser ESP8266 als Zugangspunkt verwendet werden, was bedeutet, dass er sich auch wie ein Router verhalten kann, indem er sein eigenes Wi-Fi-Signal sendet. Dieses Wi-Fi-Signal ist immer verfügbar, solange der ESP8266 mit Strom versorgt wird. Daher werden wir unseren ESP8266 als Captive-Portal programmieren. Sobald wir uns mit dem Wi-Fi-Signal des ESP verbunden haben, werden wir zu einer Webseite weitergeleitet, auf der wir unsere Last ein- und ausschalten können.
Erforderliche Materialien
1. ESP8266 Wi-Fi-Modul
2. Hi-Link AC / DC-Wandler (3,3 V)
3. 3V Relais
4. NPN-Transistor BC547
5. FTDI-Programmiermodul
6. Arduino Wi-Fi-Schild
7. Kabel anschließen
Hinweis: Wir verwenden dieses Arduino Wi-Fi Shield, das wir zuvor erstellt haben. Die Karte wird nur zum Hochladen des Arduino-Codes in das ESP8266-Modul verwendet. Wenn Sie diese Karte nicht haben, können Sie entweder eine über den Link zur Verwendung dieser einfachen ESP8266-Programmierschaltung erstellen, um Ihren Code hochzuladen.
Smart Plug Programm für ESP8266
Bevor wir fortfahren, gehen wir direkt in das Programm ein, um zu verstehen, wie unser DIY WiFi Smart Plug funktioniert. Wie Sie hier sehen können, beginnen wir das Programm mit der Aufnahme einiger Header-Dateien und der Einrichtung eines DNS-Netzwerkservers
#einschließen
Dann initialisieren wir den GPIO-Pin 2 von ESP als Ausgang, der zur Steuerung unserer Last verwendet wird. Danach haben wir einen langen HTML-Code für unsere Webseite. Hier haben wir insgesamt drei Bildschirme auf unserer Webseite, nämlich den Startbildschirm, den Ein-Bildschirm und den Aus-Bildschirm.
String Home_Screen = "" // Seite 1 - HTML-Code des Startbildschirms "" " " + style_detials + "
""Willkommen - CircuitDigest
"" "; String ON_Screen =" "// Page 2 - Wenn das Gerät eingeschaltet ist" "" "+ style_detials +" ""Smart Plug - eingeschaltet
"" "; String OFF_Screen =" "// Page 3 - Wenn das Gerät ausgeschaltet ist " " " " + style_detials + " " "Smart Plug - ausgeschaltet
" " ";Diese drei Webseiten werden beim Öffnen ungefähr so angezeigt. Sie können Ihre Webseite so anpassen, dass sie Ihren Wünschen entspricht.
Dann haben wir unsere Void-Setup- Funktion, in der wir unser ESP als Access Point definieren und auch einen Namen dafür angeben, hier "ESP_Smart_Plug". Wenn ein Benutzer mit diesem WLAN verbunden wird, wird er zur zuvor definierten Startseite weitergeleitet.
pinMode (LED_BUILTIN, OUTPUT); // LED Pin als Ausgang für Anzeige PinMode (GPIO_2, OUTPUT); // GPIO-Pin als Ausgang für Relaissteuerung WiFi.mode (WIFI_AP); // ESP in den AP-Modus setzen WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP ("ESP_Smart_Plug"); // Benennen Sie Ihr AP-Netzwerk dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Location", String ("http://www.circuitdigest-automation.com/home.html"), true); // Startbildschirm standardmäßig öffnen webServer.send (302, "text / plain", ""); });
Wenn der Benutzer auf der Startseite auf die Schaltfläche EIN klickt, wird die Bildschirmseite angezeigt und der GPIO 2-Pin wird hoch gesetzt
// ON_Screen webServer.on ("/ Relay_ON", () {// Wenn die Einschalttaste gedrückt wird digitalWrite (LED_BUILTIN, LOW); // LED digitalWrite ausschalten (GPIO_2, HIGH); // Relay webServer.send ausschalten (200, "text / html", ON_Screen); // Diesen Bildschirm anzeigen });
Wenn der Benutzer auf die Aus-Taste klickt, wird die Off-Screen-Seite angezeigt und der GPIO 2-Pin auf LOW gesetzt.
// OF_Screen webServer.on ("/ relay_OFF", () {// Wenn die Ausschalttaste gedrückt wird digitalWrite (LED_BUILTIN, HIGH); // LED digitalWrite einschalten (GPIO_2, LOW); // Relay webServer.send einschalten (200, "text / html", OFF_Screen); // Diesen Bildschirm anzeigen });
Der vollständige Code zusammen mit den Bibliotheksdateien kann als ZIP-Datei über den unten angegebenen Link heruntergeladen werden. Nachdem unser Code fertig ist, können wir ihn in unser ESP-Modul hochladen, indem wir einfach auf die Schaltfläche zum Hochladen klicken und dann auf das Hochladen des Codes warten. Das komplette Programm zusammen mit den Bibliotheksdateien kann unter folgendem Link heruntergeladen werden
ESP8266 Smart Plug - Herunterladen des Arduino-Codes
Diejenigen, die über das Wi-Fi-Schutzschild verfügen, können Ihre Module einfach wie oben gezeigt zusammenstecken und an Ihren Computer anschließen, um mit der Programmierung unseres ESP8266 mithilfe der Arduino IDE zu beginnen. Personen, die diese Karte nicht haben, können den zuvor erwähnten Schaltplan verwenden.
Suchen Sie nach dem Hochladen des Codes auf Ihrem Telefon nach Wi-Fi-Netzwerken, und Sie sollten ein Signal mit dem Namen "ESP_Smart_Plug" finden. Wenn Sie eine Verbindung herstellen, werden Sie zu der Webseite weitergeleitet, die wir gerade entworfen haben. Wenn Sie hier die Ausschalttaste drücken, sollten Sie feststellen, dass die LED auf unserer ESP-Karte erlischt, und wenn Sie die Einschalttaste drücken, sollte sich die LED wieder einschalten.
Nachdem wir den Code noch einige Male überprüft haben, benötigen wir das Programmierboard für dieses Projekt nicht mehr. Jetzt müssen wir eine Schaltung bauen, um unser ESP-Modul direkt von der Netzspannung zu versorgen, und über seinen GPIO-Pin ein Relais umschalten. Um diese Schaltung aufzubauen, habe ich ein AC-DC-Wandlermodul von Hi-Link verwendet, das die Netzspannung in 3,3 V Gleichstrom mit einem Ausgangsstrom von 900 mA umwandelt, der ausreicht, um das ESP-Modul über das Stromnetz mit Strom zu versorgen. Das ausgangsseitige Relais ist ein 3,3-V-Relais, das vom GPIO-Pin des ESP über einen Transistor wie diesen BC547 gesteuert werden kann. Wir benötigen außerdem einen 1k-Widerstand , um den Basisstrom unseres Transistors zu begrenzen.
Schaltplan
Der vollständige Schaltplan für den Wi-Fi Smart Plug würde so aussehen.
Das Wechselstromnetz für unser Projekt wird über diesen Stecker bezogen. Die anderen Komponenten sind diejenigen, die Eariler erklärt haben. Ein weiterer wichtiger Punkt, den Sie sich konzentrieren sollten, ist, GPIO-0 und GPIO-2 beim Booten hoch zu halten. Andernfalls wechselt das ESP-Modul in den Programmiermodus und der Out-Code funktioniert nicht. Daher habe ich einen 10k-Widerstand (Werte zwischen 3,3k und 10k können verwendet werden) verwendet, um den GPIO-Pin standardmäßig hoch zu ziehen. Alternativ können Sie anstelle von BC547 auch einen PNP-Transistor verwenden und das Relais von der hohen Seite schalten. Nachdem der Schaltplan fertig war, plante ich, diese Komponenten zu löten, indem ich die Platinengröße so klein wie möglich hielt, damit sie in ein kleines Gehäuse passt, und mit dem Löten der Platine fortfuhr.
3D-gedrucktes Gehäuse für Smart Plug Socket
Als nächstes habe ich die Abmessungen der Platine mit meinem Nonius gemessen und auch die Abmessungen des Steckers und der Buchse gemessen, um ein Gehäuse für meinen Smart Plug zu entwerfen. Mein Design sah unten ungefähr so aus, als es fertig war.
Nachdem ich mit dem Design zufrieden war, exportierte ich es als STL-Datei, schnitt es basierend auf den Druckereinstellungen in Scheiben und druckte es schließlich aus. Auch hier steht die STL-Datei zum Download bei thingiverse zur Verfügung und Sie können damit Ihr eigenes Gehäuse drucken.
Nachdem der Druck fertig war, war ich mit dem Ergebnis ziemlich zufrieden. Dann fügte ich die Drähte zu meiner Platine hinzu und schraubte sie auch an die Stromanschlüsse und die Buchse. Nachdem die komplette Verbindung hergestellt war, baute ich die Schaltung in mein Gehäuse ein und alles passte gut, wie Sie hier sehen können.
Mit meinem einsatzbereiten Smart Plug ging ich zu meinem Router und verfolgte dessen Kabel, um den Adapter zu finden. Dann entfernte ich es aus der Steckdose und schloss den Smart Plug an dieselbe Steckdose an und schaltete es ein. Jetzt habe ich den Adapter wieder an unseren Smart Plug angeschlossen und kann ihn anschließend von meinem Telefon aus steuern. Auf die gleiche Weise können Sie jede Wechselstromlast mit geringem Stromverbrauch in Ihrem Zuhause steuern und Spaß haben.
Der vollständige Code kann von hier heruntergeladen werden. Das Arbeitsvideo für diese intelligente DIY-Steckdose finden Sie unten auf dieser Seite. Ich hoffe, Ihnen hat das Projekt gefallen. Lassen Sie mich im Kommentarbereich wissen, was Sie mit diesem Gerät automatisieren würden. Wenn Sie Fragen haben, lassen Sie diese im Forum und ich werde mein Bestes geben, um sie zu beantworten.