Inhaltsverzeichnis:

ESP8266 ESP-01 LED-Kabelschalter - Gunook
ESP8266 ESP-01 LED-Kabelschalter - Gunook

Video: ESP8266 ESP-01 LED-Kabelschalter - Gunook

Video: ESP8266 ESP-01 LED-Kabelschalter - Gunook
Video: Shelly Plus - was können die Neuen? 2024, Juli
Anonim
ESP8266 ESP-01 LED-Kabelschalter
ESP8266 ESP-01 LED-Kabelschalter

Dieses Projekt entstand, als meine Freundin und ich mehrere LED-Lichterketten im Raum für ein schönes Weihnachtsgefühl installierten. Jedes Mal, wenn wir zu Bett gingen, mussten wir im Zimmer herumlaufen und jeden einzelnen Draht abschalten. Neulich mussten wir sie alle wieder einschalten.

Da ich einige ESP8266 ESP-01 Module herumliegen hatte, beschloss ich, einen schnellen Prototypen zusammenzubauen und zu programmieren.

Nach der erfolgreichen Umsetzung des Prototyps mit einem Junk-LED-Draht habe ich mich entschlossen, mein erstes PCB-Design zu übernehmen und ein paar Platinen bestellt.

Diese Anleitung führt Sie durch den Schaltplan, den ersten Prototyp und die Platine und gibt Ihnen den Code zum Programmieren des ESP-Moduls mit wenigen Klicks.

TL;DR: Dies ist eine einfache Möglichkeit, einen Wi-Fi-gesteuerten Schalter mit dem ESP8266 ESP-01 zu implementieren.

Lieferungen:

Hardware

  • ESP8266 ESP-01-Modul
  • AMS-1117 3.3V Regler
  • IRLB8721 MOSFET (letzte Leiterplatte) oder 2N2222 Transistor (erster Prototyp)
  • Stift- und Buchsenleisten

Software

Arduino IDE v1.6

Zum Programmieren

OPEN SMART USB zu ESP-01 Adapter

Zum Prüfen

  • LED
  • 220 Ohm Widerstand
  • Steckbrett
  • Überbrückungskabel

Zur Montage

  • Lötkolben
  • Drähte (nur Prototyp; nicht für PCB)
  • Perfboard (nur Prototyp; nicht für PCB)

Schritt 1: Schaltplan

Schaltplan
Schaltplan

Oben ist der mit EasyEDA erstellte Schaltplan. Es kann wie folgt aufgeteilt werden:

Wir nehmen eine Eingangsspannung von einem USB-Stromkabel mit 5V und speisen diese in die VIN-Pins des AMS1117 3.3V-Moduls ein.

Die VOUT-Pins des 3,3-V-Moduls AMS1117 sind mit dem Kollektorpin des IRLB8721-MOSFET und den Pins VIN und CH_PD des ESP8266 ESP-01-Moduls verbunden. Der CH_PD-Pin muss auf HIGH gezogen werden, damit das ESP8266 ESP-01-Modul den Code ausführen kann.

Der D2-Pin des ESP8266 ESP-01-Moduls ist mit dem GATE-Pin des IRLB8721-MOSFET verbunden. Dieser steuert, ob der Strom durch ihn fließen darf oder nicht.

Der Emitterstift des IRLB8721 MOSFET ist mit dem LED-Draht verbunden.

Zuletzt werden alle Massepins miteinander verbunden.

Wenn Sie den 2N2222-Transistor gewählt haben, ersetzen Sie alle Vorkommen von IRLB8721 jeweils durch 2N2222 und denken Sie daran, dass die Beine bei beiden Komponenten unterschiedliche Bedeutungen haben.

Schritt 2: Programmierung

Bevor wir einen Prototypen auf einem Steckbrett aufbauen, sollten wir das ESP8266 ESP-01 Modul programmieren, damit wir den Prototypen später testen können.

Code

Mein Code basiert stark auf dem Tutorial von Random Nerd Tutorial für den einfachen HTTP-Server. Den zweiten Knopf habe ich jedoch entfernt, da wir nur einen Pin (D2) steuern müssen. Nichtsdestotrotz können Sie ihren Code einfach unverändert verwenden und Ihre WLAN-Anmeldeinformationen ersetzen.

Flashen Sie den ESP8266 ESP-01

Wenn Sie sich den OPEN-SMART USB-zu-ESP-01-Adapter besorgt haben, können Sie Ihr ESP8266 ESP-01-Modul daran anschließen und den Schalter auf PROG stellen. Stecken Sie das Ganze dann in einen freien USB-Port Ihres Computers und starten Sie die Arduino IDE.

Kopieren Sie den Code aus den Random Nerd Tutorials und fügen Sie ihn ein, ersetzen Sie Ihre WLAN-Anmeldeinformationen und laden Sie ihn in das ESP8266 ESP-01-Modul hoch.

Entfernen Sie dann das ESP8266 ESP-01-Modul vom OPEN-SMART-Adapter, stellen Sie den Schalter auf UART und setzen Sie ihn wieder ein.

Testen Sie den Code

Öffnen Sie die serielle Konsole in der Arduino IDE und warten Sie, bis das Modul mit dem WLAN verbunden ist.

Öffnen Sie dann Ihren Browser und navigieren Sie zu der IP-Adresse, die in der seriellen Konsole angezeigt wird. Hinweis: Sie müssen sich im selben Netzwerk (WLAN) befinden. Andernfalls können Sie nicht auf den ESP8266 ESP-01 zugreifen!

Wenn alles funktioniert, sehen Sie eine Website mit zwei Schaltflächen. Schließen Sie eine LED mit einem 220-Ohm-Widerstand an den D2-Pin des ESP8266 ESP-01-Moduls an und es sollte aufleuchten und erlöschen, wenn Sie auf die richtige Schaltfläche auf der Website klicken.

Wenn Sie Schwierigkeiten haben, folgen Sie bitte dem oben verlinkten vollständigen und detaillierten Tutorial.

Schritt 3: Prototyping

Prototyp entwickeln
Prototyp entwickeln
Prototyp entwickeln
Prototyp entwickeln

Richten Sie ein Steckbrett mit allen benötigten Komponenten und Drähten wie im obigen Schema gezeigt ein und testen Sie es mit dem programmierten ESP8266 ESP-01-Modul.

Wenn alles funktioniert, haben Sie zwei Möglichkeiten.

Option A: Löten Sie es an ein Perfboard

Option B: Erstellen Sie eine Leiterplatte

Ich entschied mich zuerst für Option A und entschied mich danach, mir mit meinem ersten PCB-Projekt die Hände schmutzig zu machen.

Auf den Bildern seht ihr meinen selbstgelöteten Prototyp. Wie immer sind die Verbindungen ein Durcheinander und ich habe einige Schrumpfschläuche verwendet, um zu verhindern, dass die überlappenden Verbindungen kurzgeschlossen werden. Außerdem habe ich den 2N2222-Transistor anstelle des IRLB8721-MOSFET verwendet, weil ich viele davon herumliegen hatte und ich wusste, dass er nicht bleiben sollte.

Das Löten dauerte ungefähr eine Stunde und es hat überhaupt keinen Spaß gemacht. Wenn Sie ein Profi-Löter sind, genießen Sie vielleicht den Prozess, aber für mich möchte ich etwas einfacheres.

Schritt 4: PCB

PCB
PCB
PCB
PCB

Ich hatte Angst vor PCBs, weil ich dachte, ich müsste sie mit den SMD-Komponenten entwerfen und konnte keine ESP- oder Arduino-Entwicklungsmodule finden, die ich in den Schaltplan oder das PCB-Layout einfügen konnte.

Für dieses Projekt habe ich beschlossen, die Module ESP8266-01 und AMS1117 3.3. V einfach als die Art von Sachen zu betrachten, die ich auf der Platine löten müsste, um sie zu verwenden: als Buchsenleistenstifte.

Dies hat mein Leben viel einfacher gemacht und das PCB-Layout war in etwa zwei Stunden erledigt. Auf den Bildern seht ihr die beiden Versionen.

Version 1 hat einige kleinere Vorbehalte:

1. Die Header-Pins sind zu schmal. Ich habe nicht berücksichtigt, dass sie 2,54 mm voneinander entfernt sein müssen und habe mir einfach die ersten Pins aus der Bibliothek geholt.2. Ich habe das Etikett für VIN durcheinander gebracht: VCC- und GND-Etiketten sind vertauscht.3. Das AMS1117 3.3V Modul ist breiter als ich dachte und überspannt den Rand der Platine.

Natürlich sind mir diese Vorbehalte aufgefallen, nachdem ich sie bestellt und im wirklichen Leben getestet hatte. Sie sind kein Spielbrecher, aber ich habe eine neue Version erstellt, in der ich die oben genannten Punkte verbessert habe. Außerdem habe ich das ESP8266 ESP-01-Modul so platziert, dass es das 3,3-V-Modul AMS1117 nicht überlappt.

Das EasyEDA-Projekt finden Sie hier:

Schritt 5: Vorrücken

Hier sind wir also mit einer einfach zu bestückenden Leiterplatte. Was kommt als nächstes?

Gehäuse

Es wäre großartig, ein 3D-gedrucktes Gehäuse zu haben, das die Elektronik verbirgt und den Aufbau robuster macht. Idealerweise hätte es einen integrierten Kühlkörper für den IRLB8721 (obwohl er während meines Tests mit einem 10m langen LED-Kabel nie wärmer als Raumtemperatur wurde).

Anschlüsse

Außerdem möchte ich einen USB-Anschluss für VIN, auch bekannt als USB-Kabel, und einen JST-Anschluss für VOUT, auch bekannt als LED-Kabel, hinzufügen. Derzeit habe ich Stiftleisten auf der Platine und Buchsenleisten verwendet, die an das LED-Kabel und das (abgeschnittene) USB-Kabel gelötet sind, um es anzuschließen. Dies ist jedoch keine zukunftssichere Verbindung und sieht nicht sehr professionell aus und fühlt sich auch nicht so an.

In Verbindung mit einem Gehäuse würde dies die Ästhetik des Builds und auch das gesamte Nutzungserlebnis enorm steigern (was entscheidend ist, wenn Sie versuchen, ein Smart Home in einer gemeinsamen Umgebung und nicht nur in Ihrem eigenen Raum oder Labor zu implementieren).

Smart Home-Integration

Derzeit ist jeder ESP8266 ESP-01 ein HTTP-Server mit einer Website, die seinen Zustand kontrolliert. Ich möchte meine ersten Schritte in Richtung Smart Home machen und sie mit NodeRED und MQTT in ein zentrales Hausautomationssystem integrieren, damit ich alle meine Schalter über eine Benutzeroberfläche steuern kann.

Natürlich könnte ich einfach einen Webserver bauen, der Anfragen an die verschiedenen ESP8266 ESP-01-Module sendet, aber auch das ist keine elegante, standardisierte oder erweiterbare Lösung.

Schritt 6: Kritik

Wenn Sie es bis hierher geschafft haben, vielen Dank fürs Lesen!

Dies ist mein erster Artikel hier und ich hoffe, Sie konnten etwas mitnehmen. Auf die verschiedenen genannten Themen habe ich mich nicht eingelassen, da ich das Gefühl hatte, dass es schon viele tolle Tutorials zu den verschiedenen Themen gibt. Wenn Sie weitere Referenzen benötigen oder möchten, dass ich einige der Schritte detaillierter beschreibe, hinterlassen Sie bitte einen Kommentar.

Wenn Ihnen das Gelesene gefällt, hinterlassen Sie bitte auch einen Kommentar und mögen den Artikel vielleicht. Das würde viel bedeuten:)

Empfohlen: