Inhaltsverzeichnis:

DIY IoT-Lampe für die Hausautomation -- ESP8266-Tutorial: 13 Schritte (mit Bildern)
DIY IoT-Lampe für die Hausautomation -- ESP8266-Tutorial: 13 Schritte (mit Bildern)

Video: DIY IoT-Lampe für die Hausautomation -- ESP8266-Tutorial: 13 Schritte (mit Bildern)

Video: DIY IoT-Lampe für die Hausautomation -- ESP8266-Tutorial: 13 Schritte (mit Bildern)
Video: FHEM-Tutorial Part 26: ESP8266 Temperatur per MQTT an FHEM senden | haus-automatisierung.com 2024, Juni
Anonim
Image
Image
DIY IoT-Lampe für die Hausautomation || ESP8266-Tutorial
DIY IoT-Lampe für die Hausautomation || ESP8266-Tutorial

In diesem Tutorial werden wir eine mit dem Internet verbundene intelligente Lampe erstellen. Dies wird tief in das Internet der Dinge eintauchen und eine Welt der Heimautomatisierung eröffnen!

Die Lampe ist über WLAN verbunden und hat ein offenes Nachrichtenprotokoll. Das bedeutet, dass Sie den gewünschten Steuerungsmodus auswählen können! Es kann über einen Webbrowser, Heimautomatisierungs-Apps, intelligente Assistenten wie Alexa oder Google Assistant und vieles mehr gesteuert werden!

Als Bonus wird diese Lampe mit einer App zur Steuerung des Projekts geliefert. Hier können Sie verschiedene Farbmodi auswählen, zwischen RGB-Farben überblenden und Timer einstellen.

Die Leuchte besteht aus einer LED-Platine und einer Steuerplatine. Die LED-Platine verwendet drei verschiedene Arten von LEDs für insgesamt fünf LED-Kanäle! Dies ist RGB zusammen mit Warm- und Kaltweiß. Da alle diese Kanäle einzeln eingestellt werden können, haben Sie insgesamt 112,3 Peta-Kombinationen!

Lass uns anfangen!

[Video abspielen]

Schritt 1: Teile und Werkzeuge

Teile und Werkzeuge
Teile und Werkzeuge

Teile

  • Wemos D1 Mini
  • 15 x warmweiße 5050 LEDs
  • 15 x kaltweiße 5050 LEDs
  • 18 x RGB 5050 LEDs
  • 6 x 300 Ohm 1206 Widerstände
  • 42 x 150 Ohm 1206 Widerstände
  • 5 x 1k Ohm Widerstände
  • 5 x NTR4501NT1G

    MOSFETs

  • Linearer Spannungsregler, 5V
  • PCB

    Laden Sie die Gerber-Dateien im Schaltungsschritt herunter, um Ihre eigenen Leiterplatten zu erstellen

  • Netzteil 12V 2A

Werkzeuge

  • Lötkolben

    • Lötzinn
    • Flüssiges Lötflussmittel
  • Abdeckband
  • Doppelseitiges Klebeband
  • 3D Drucker
  • Abisolierzangen

Schritt 2: Der Plan

Der Plan
Der Plan

Das komplette Projekt besteht aus vier Hauptteilen:

  1. Schaltkreis

    Die Schaltung ist auf einer Platine aufgebaut. Der fertige Kreislauf wird aus mehr als 100 Einzelkomponenten bestehen. Es ist eine große Erleichterung, nicht alle von Hand auf einem Perfboard zu verdrahten

  2. Arduino-Code

    Ich verwende den Wemos D1 Mini, der einen ESP8266 als WiFi-verbundenen Mikrocontroller verwendet. Der Code startet einen Server auf dem D1. Wenn Sie die Adresse dieses Servers besuchen, interpretiert der D1 dies als verschiedene Befehle. Der Mikrocontroller reagiert dann auf diesen Befehl, um die Lichter entsprechend einzustellen

  3. Fernbedienung

    • Ich habe nur für dieses Projekt eine App erstellt, um es so einfach wie möglich zu machen, die Lampe nach Ihren Wünschen zu steuern
    • Die intelligente Lampe kann wirklich von allem gesteuert werden, das eine HTTP-GET-Anfrage senden kann. Dies bedeutet, dass die Lampe Befehle von nahezu unbegrenzten Geräten akzeptiert
  4. 3d Drucken

    Diese smarte Lampe verdient ein cool aussehendes Gehäuse. Und wie bei so vielen Projekten, bei denen Sie ein cooles Gehäuse brauchen, kommt der 3D-Druck zur Rettung

Schritt 3: Schaltung

Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis
Schaltkreis

Ich habe meine Leiterplatten bei jlcpcb.com bestellt. Vollständige Offenlegungszeit: Sie haben dieses Projekt auch gesponsert.

Die Platine besteht aus zwei Teilen. Es hat die LED-Platine und die Steuerplatine. Die Leiterplatte kann auseinandergeschnappt werden, um diese beiden Teile später durch flexiblen Draht zu verbinden. Dies ist notwendig, um sowohl die 3D-gedruckte Lampe schlank zu halten als auch die LED-Platine anzuwinkeln, um das Licht gleichmäßig durch den Lochraum zu verteilen.

Die Steuerplatine beherbergt den D1-Mikrocontroller zusammen mit fünf MOSFETs zum Dimmen der LEDs und einem Spannungsregler, um dem Mikrocontroller glatte 5V zu geben.

Die LED-Platine verfügt über fünf LED-Kanäle in drei verschiedenen LED-Typen. Da wir eine 12-V-Stromquelle verwenden, werden die LEDs als drei LEDs in Reihe mit einem Widerstand konfiguriert und dann 16 Mal parallel wiederholt.

Eine normale weiße LED zieht normalerweise 3,3 V. Auf einem Segment der Platine sind drei dieser LEDs in Reihe geschaltet, was bedeutet, dass der Spannungsabfall im Stromkreis aggregiert wird. Drei LEDs, die jeweils 3,3 V ziehen, bedeuten, dass ein LED-Segment 9,9 V zieht. Die Schaltung wird mit 12 V gespeist, sodass 2,1 V übrig bleiben.

Wenn das Segment nur aus den drei LEDs bestünde, würden diese mehr Spannung bekommen als sie abbauen. Das ist nicht gut für die LEDs und kann sie schnell beschädigen. Aus diesem Grund hat jedes Segment auch einen Widerstand in Reihe mit allen drei LEDs. Dieser Widerstand ist dazu da, die verbleibenden 2,1 V in der Reihenverbindung abzulassen.

Wenn also jedes Segment 12 V ausmacht, bedeutet dies, dass jedes der Segmente parallel miteinander verbunden ist. Wenn Stromkreise parallel geschaltet sind, erhalten alle die gleiche Spannung und der Strom wird aggregiert. Der Strom in einer Reihenschaltung ist immer gleich.

Eine normale LED zieht 20 mA Strom. Dies bedeutet, dass ein Segment, das aus drei LEDs und einem Widerstand in Reihe besteht, immer noch 20 mA zieht. Wenn wir mehrere Segmente parallel schalten, addieren wir den Strom. Wenn Sie sechs LEDs aus dem Streifen schneiden, haben Sie zwei dieser Segmente parallel. Das bedeutet, dass Ihre Gesamtschaltung immer noch 12 V zieht, aber 40 mA Strom.

Schritt 4: Löten von LEDs

Löten von LEDs
Löten von LEDs
Löten von LEDs
Löten von LEDs
Löten von LEDs
Löten von LEDs

Nachdem ich ein paar Dinge ausprobiert habe, habe ich festgestellt, dass einfaches Abdeckband am effektivsten und flexibelsten ist, um zu verhindern, dass sich die Leiterplatte bewegt.

Bei Teilen mit mehreren Pins, wie den 6-Pins einer 5050-LED, beginne ich damit, Lötmittel auf eines der PCB-Pads zu legen. Dann ist es nur eine Frage, dieses Lot mit dem Lötkolben geschmolzen zu halten, während das Bauteil mit einer Pinzette an seinen Platz geschoben wird.

Jetzt können die anderen Pads einfach mit etwas Lötzinn angeheftet werden. Um diese Arbeit zu beschleunigen, schlage ich jedoch vor, etwas flüssiges Lötflussmittel aufzunehmen. Ich kann dieses Zeug wirklich nicht genug empfehlen.

Tragen Sie etwas Flussmittel auf die Lötpads auf und schmelzen Sie dann etwas Lötmittel auf der Spitze Ihres Lötkolbens. Jetzt müssen Sie nur noch das geschmolzene Lot auf die Pads bringen und alles fließt an Ort und Stelle. Schön und einfach.

Bei den Widerständen und anderen Zwei-Pad-Komponenten wird kein Flussmittel benötigt. Tragen Sie Lot auf eines der Pads auf und bringen Sie den Widerstand an Ort und Stelle. Jetzt nur noch etwas Lot auf Pad Nummer zwei schmelzen. Kinderleicht.

Schauen Sie sich das fünfte Bild in diesem Schritt an. Achten Sie auf die Ausrichtung der LEDs. Die warm- und kaltweißen LEDs haben ihre Kerbe in der oberen rechten Ecke ausgerichtet. Die RGB-LEDs haben ihre Kerbe in der unteren linken Ecke. Dies ist ein Konstruktionsfehler meinerseits, da ich das Datenblatt für die in diesem Projekt verwendeten RGB-LEDs nicht finden konnte. Na ja, leben und lernen und all das!

Schritt 5: Lötsteuerplatine

Lötsteuerplatine
Lötsteuerplatine
Lötsteuerplatine
Lötsteuerplatine
Lötsteuerplatine
Lötsteuerplatine
Lötsteuerplatine
Lötsteuerplatine

Nach dem Marathon der LED-Platine ist die Steuerplatine ein Kinderspiel zu löten. Ich habe die fünf MOSFETs und die passenden Gate-Source-Widerstände abgesetzt, bevor ich zum Spannungsregler übergegangen bin.

Der Spannungsregler verfügt über optionale Plätze für Glättungskondensatoren. Während ich sie in diesem Bild gelötet habe, habe ich sie schließlich entfernt, weil sie nicht wirklich notwendig waren.

Der Trick, um eine schlanke Steuerplatine zu erhalten, besteht darin, die Stiftleisten von oben nach unten zu stecken. Nachdem die Pins angebracht sind, kann die ungenutzte Länge zusammen mit dem schwarzen Kunststoff von der Rückseite abgeschnitten werden. Dadurch wird die Unterseite komplett glatt.

Wenn alle Komponenten vorhanden sind, ist es an der Zeit, die beiden Boards zusammenzubringen. Ich habe gerade sechs kleine 2,5 Zoll (7 cm) Drähte abgeschnitten und abisoliert und die beiden Platinen verbunden.

Schritt 6: WLAN-Setup

WLAN-Einrichtung
WLAN-Einrichtung
WLAN-Einrichtung
WLAN-Einrichtung

Es gibt sechs einfache Zeilen im Code, die Sie ändern müssen.

  1. ssid, Zeile 3

    Ihr Routername. Achte beim Schreiben auf die richtige Groß-/Kleinschreibung

  2. wifiPass, Linie 4

    Ihr Router-Passwort. Achten Sie auch hier auf das Gehäuse

  3. ip, Zeile 8

    Die statische IP-Adresse Ihrer intelligenten Lampe. Ich habe eine zufällige IP-Adresse in meinem Netzwerk ausgewählt und versucht, sie im Befehlsfenster zu pingen. Wenn von der Adresse keine Antwort kommt, können Sie davon ausgehen, dass sie verfügbar ist

  4. Gateway, Linie 9

    Dies ist das Gateway auf Ihrem Router. Öffnen Sie ein Befehlsfenster und geben Sie "ipconfig" ein. Das Gateway und das Subnetz sind im Bild rot eingekreist

  5. Subnetz, Zeile 10

    Wie beim Gateway sind diese Informationen für diesen Schritt im Bild eingekreist

  6. timeZone, Linie 15

    Die Zeitzone, in der Sie sich befinden. Ändern Sie dies, wenn Sie die integrierten Timer-Funktionen verwenden möchten, um das Licht zu bestimmten Zeiten ein- und auszuschalten. Die Variable ist ein einfaches Plus oder Minus GMT

Schritt 7: Mikrocontroller-Code

Mikrocontroller-Code
Mikrocontroller-Code
Mikrocontroller-Code
Mikrocontroller-Code
Mikrocontroller-Code
Mikrocontroller-Code
Mikrocontroller-Code
Mikrocontroller-Code

Nachdem Sie im vorherigen Schritt alle relevanten Einstellungen geändert haben, ist es endlich an der Zeit, den Code auf das Wemos D1 Mini hochzuladen!

Der Arduino-Code erfordert einige Bibliotheken und Abhängigkeiten. Befolgen Sie zuerst diese Anleitung von sparkfun, wenn Sie noch nie Code von der Arduino-IDE auf einen ESP8266 hochgeladen haben.

Laden Sie nun die Time-Bibliothek und die TimeAlarms-Bibliothek herunter. Entpacken Sie diese und kopieren Sie sie in den arduino-Bibliotheksordner auf Ihrem Computer. Genau wie die Installation anderer Arduino-Bibliotheken.

Achten Sie in diesem Schritt auf die Upload-Einstellungen im Bild. Wählen Sie dieselbe Konfiguration mit Ausnahme des COM-Ports. Dies ist der Com-Port, an den Ihr Mikrocontroller an Ihrem Computer angeschlossen ist.

Wenn der Code hochgeladen ist, öffnen Sie das serielle Terminal, um eine Nachricht über eine hoffentlich erfolgreiche Verbindung zu erhalten! Sie können nun Ihren Browser öffnen und die statische IP-Adresse aufrufen, die Sie auf dem Mikrocontroller gespeichert haben. Herzlichen Glückwunsch, Sie haben gerade Ihren eigenen Server erstellt und hosten darauf eine Webseite!

Schritt 8: Nachrichtenprotokoll öffnen

Offenes Nachrichtenprotokoll
Offenes Nachrichtenprotokoll
Offenes Nachrichtenprotokoll
Offenes Nachrichtenprotokoll
Offenes Nachrichtenprotokoll
Offenes Nachrichtenprotokoll
Offenes Nachrichtenprotokoll
Offenes Nachrichtenprotokoll

Wenn Sie die intelligente Lampe mit der App steuern, werden alle Nachrichten automatisch für Sie verarbeitet. Hier ist eine Liste der Nachrichten, die die Lampe akzeptiert, wenn Sie Ihre eigene Fernbedienung bauen möchten. Ich habe eine Beispiel-IP-Adresse verwendet, um zu veranschaulichen, wie die Befehle verwendet werden.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Setzt rote Lichter auf den maximalen Wert, grüne Lichter auf den halben Wert und blaue Lichter auf 34. Kalt- und Warmweiß leuchten kaum
    • Bei der Eingabe von Werten können Sie zwischen 0 und 1023 wählen. Schreiben Sie die Lichtwerte immer vierstellig in die URL
  • 192.168.0.200/&&B=0800

    Setzt blaue Lichter auf den Wert 800 und schaltet gleichzeitig alle anderen Lichter aus

  • 192.168.0.200/LED=AUS

    Schaltet alle Lichter komplett aus

  • 192.168.0.200/LED=FADE

    Beginnt langsam zwischen allen möglichen RGB-Farben zu verblassen. Perfekt für Ambiente

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

    Blinkt zweimal in der angegebenen Farbe, um eine eingehende Benachrichtigung anzuzeigen. Perfekt, wenn Sie beispielsweise ein Programm auf Ihrem Computer erstellen möchten, das die Lampe rot blinkt, wenn Sie eine neue E-Mail erhalten

  • 192.168.0.200/DST=1

    • Passt die Uhr an die Sommerzeit an. Fügt der Uhr eine Stunde hinzu
    • /DST=0 Verwenden Sie dies, um von der Sommerzeit zurückzugehen, entfernt eine Stunde von der Uhr, wenn die Sommerzeit aktiv ist
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Speichert den Status für Timer 1. Dieser Timer schaltet die angegebenen RGB-Werte um 06:30 Uhr morgens ein

  • 192.168.0.200/TIMER1H=99

    Stellen Sie die Timer-Stunde auf 99 ein, um den Timer zu deaktivieren. Die RGB-Werte werden weiterhin gespeichert, aber der Timer schaltet die Lichter nicht ein, wenn die Stunde auf 99. eingestellt ist

  • Die Lampe hat vier individuelle Timer. Ändern Sie "TIMER1" in "TIMER2", "TIMER3" oder "TIMER4", um einen der anderen eingebauten Timer einzustellen.

Dies sind die derzeit eingebauten Befehle. Hinterlassen Sie einen Kommentar, wenn Sie coole Ideen für neue Befehle haben, die Sie entweder im Arduino-Code oder in der Remote-App erstellen können!

Schritt 9: Fernbedienung

Fernbedienung
Fernbedienung
Fernbedienung
Fernbedienung
Fernbedienung
Fernbedienung
Fernbedienung
Fernbedienung

Klicken Sie hier, um die App herunterzuladen. Die Einrichtung ist kinderleicht, geben Sie einfach die IP-Adresse Ihrer Smart-Lampe ein und wählen Sie aus, ob Sie nur RGB-LEDs oder RGB + warm- und kaltweiße LEDs steuern möchten.

Wie im vorherigen Schritt erklärt, wissen Sie jetzt, welches Nachrichtenprotokoll die App verwendet. Es sendet eine http GET-Anfrage mit den URLs. Das heißt, Sie können auch Ihre eigene Mikrocontroller-Schaltung erstellen und diese App trotzdem verwenden, um die von Ihnen selbst entwickelten Funktionen zu steuern.

Da wir uns eingehend mit dem Nachrichtenprotokoll befasst haben, können Sie die intelligente Lampe auch durch alles steuern, das eine HTTP-GET-Anforderung senden kann. Das bedeutet jeder Browser auf einem Telefon oder Computer, oder Smart-Home-Geräte oder Assistenten wie Alexa oder Google Assistant.

Tasker ist eine App, mit der Sie im Grunde Bedingungen erstellen können, um fast alles zu steuern. Ich habe das verwendet, um die intelligente Lampe mit der Farbe einer Benachrichtigung zu blinken, wenn ich sie auf meinem Telefon erhalte. Ich habe Tasker auch so eingerichtet, dass er die Lichter in vollem Weiß einschaltet, wenn sich das Telefon an einem Wochentag nach 16:00 Uhr mit meinem Heim-WLAN verbindet. Das heißt, das Licht geht automatisch an, wenn ich von der Schule nach Hause komme. Es ist wirklich cool, mit automatisch eingeschaltetem Licht nach Hause zu kommen!

Schritt 10: 3D-Druck

3d Drucken
3d Drucken

Das Lampengehäuse selbst lässt sich fast komplett ohne Stützen bedrucken. Die einzigen Teile, die wirklich Unterstützung benötigen, sind die Stifte, die zum Stecken mit der Leiterplatte bestimmt sind. Deshalb habe ich die stl sowohl mit als auch ohne eine winzige Stützstruktur für nur diese Heringe verfügbar gemacht. Der Vorteil dieser benutzerdefinierten Unterstützung besteht darin, dass der Druck viel schneller ist! Und wir bekommen nur Druckunterstützung für die Teile, die sie wirklich brauchen.

Sie können die.stl-Dateien hier herunterladen

Schritt 11: Bringen Sie alles zusammen

Bring alles zusammen
Bring alles zusammen
Bring alles zusammen
Bring alles zusammen
Bring alles zusammen
Bring alles zusammen

Beginnen Sie nach dem 3D-Druck mit dem Entfernen der Druckunterstützung. Die Stromkabel gehen in separate Kanäle und sind zusammengebunden. Dieser Knoten erzeugt eine Zugentlastung, die verhindert, dass die Kabel von der Platine gerissen werden. Löten Sie die Stromkabel auf die Rückseite der Platine und achten Sie auf die richtige Polarität!

Die Steuerplatine wird dann mit einem Stück Klebeband befestigt, um sie bündig im Gehäuse zu halten. Die LED-Platine kann einfach an ihren Platz gelegt werden, wo sie alleine flach am Gehäuse anliegt.

Schritt 12: Aufhängen der Lampe

Aufhängen der Lampe
Aufhängen der Lampe
Aufhängen der Lampe
Aufhängen der Lampe
Aufhängen der Lampe
Aufhängen der Lampe

Es gibt viele Möglichkeiten, diese Lampe an die Wand zu hängen. Da ich den Code ständig aktualisieren könnte, um die Lampe zu verbessern, suchte ich nach einer Möglichkeit, die Lampe von Zeit zu Zeit auszubauen. Sie können Heißkleber verwenden, aber ich empfehle etwas doppelseitiges Klebeband. Verwenden Sie am besten das dicke und schaumige doppelseitige Klebeband, da es die Lampe am besten an einer strukturierten Wand hält.

Schritt 13: Fertig

Fertig
Fertig
Fertig
Fertig
Fertig
Fertig

Wenn die Lampe an der Wand hängt und bereit ist, Befehle zu akzeptieren, sind Sie fertig!

Das LED-Panel ist so angewinkelt, dass das Licht gleichmäßig im Raum verteilt wird. Es ist eine schöne Ergänzung für jeden Arbeitsplatz und die Möglichkeit der Integration in die Heimautomatisierung ist ein großes Plus. Ich mag die Möglichkeit, RGB-Farben einzustellen und den Weißabgleich zwischen kaltem und warmem Licht anzupassen. Es sieht stylisch aus und ist eine große Hilfe bei der Einstellung von Umgebungs- oder Arbeitslicht, um meinen momentanen Beleuchtungsbedürfnissen gerecht zu werden.

Herzlichen Glückwunsch, Sie haben jetzt einen großen Sprung in die Welt des IoT und der Heimautomatisierung gemacht!