ESP8266ESP8266 - SmartHome ProjekteioBrokerioBroker LED DekoLight

ioBroker LED Deko-Light II

In diesem Artikel zeige ich Dir, wie ich eine weitere Form des ioBroker Deko-Licht entwickelt habe. 

Bei dieser Variante des LED Deko-Licht wird ein LED-Streifen als Stimmungslicht verwendet. Die Bauform ähnelt der Philips HUE Signe Stehleuchte. In den nächsten Kapiteln zeige ich Dir, wie ich das Stimmungslicht aufgebaut habe.

Inhaltsverzeichnis

1. Einführung

2. Verwendete Materialen

3. Aufbau des LED-Strips und Einbau in das Profil

4. Anschlussplan

5. Software

6. Integration in ioBroker

7. Finales Gehäuses

8. Fotos und Videos



1. Einführung

Die neue Form des Deko-Licht basiert Software-technisch auf der bereits bestehenden Form. Der Unterschied liegt im Leuchtmittel sowie in die Stromversorgung. Die zweite Variante soll ähnlich wie die Philips Hue LED Stehleuchte Signe aufgebaut werden.  Die Steuerung soll in einem auf dem Boden stehenden Gehäuse verbaut werden. Als Leuchtmittel wird ein LED-Strip eingesetzt, welcher in einem Aluminium Profil eingeklebt wird. Die Software basiert auf der ersten Version des Deko-Lichts, daher werde ich hier nur kurz auf die benötigten Software-Anpassungen eingehen.

2. Verwendete Materialen

Bevor wir mit dem Aufbau der Hardware und der Programmierung der Software beginnen, hier nun zunächst die Liste mit verwendeten Materialen für das Deko-Licht:

3. Aufbau des LED-Strips 

Ich habe auf Amazon einen relativ günstigen WS2812B-kompatiblen LED-Streifen gefunden, welche ich in diesem Projekt verbauen werde. Achtet beim Kauf unbedingt darauf, dass ihr den Streifen nach belieben mit einer Schere kürzen könnt. Im ersten Schritt habe ich vom LED-Streifen ein 1-Meter langes Stück abgeschnitten. Auf dem oben genannten LED-Streifen entspricht das genau 30 LEDs.

Im nächsten Schritt löten wir an den LED-Streifen drei Kabel für Ground, Masse und den Steuerungskanal. Achtet darauf, dass ihr die Lötpunkte am Eingang verwendet (DI). Ich habe für die Kabel einfache Kupfer Litzen mit 0,14mm² verwendet.

4. Anschlussplan

Der Anschluss des LED-Streifens an den ESP8266 ist relativ einfach. Die Stromversorgung des LED-Streifens kann direkt an den ESP8266 an die 5V Anschlüsse (VIN) und GND angeschlossen werden. Ab einer gewissen Länge muss aber ein separates 5V Netzteil verwendet werden. Für unsere Länge von einem Meter können wir problemlos den 5V Pin des ESP8266 verwenden.

5. Software

Wie bereits in der Einführung erwähnt, basiert die Software auf der bereits bestehenden Software des Deko-Licht. Ich habe für die Verwendung des LED-Streifen den Pin sowie die Anzahl LEDs angepasst. Die Anpassungen der Software sind hier gelb markiert:

Zusätzlich hier die Software als Download für die ArduinoID

Arduino Sketch - ioBroker LED Deko-Licht II (936 Downloads)



6. Integration in ioBroker

Die Einbindung in VIS ist ebenfalls relativ einfach. Auf der View werden dazu die entsprechenden jQuery RadioButtons ValueList Widgets eingefügt, mit denen die Farbwerte des Deko-Lichts geändert werden können. Die verfügbaren Werte des Licht-Modus „red…“ werden dazu in das Wert-Feld eingetragen. Die Texte werden für die Beschriftung der einzelnen Buttons verwendet.

7. Finales Gehäuses

Im ersten Schritt habe ich in das LED-Profil zwei abgeschnittene M2 Gewindestangen am Rand eingeklebt. Mit den Gewindestangen kann dann das Profil im Gehäuse verschraubt und somit fixiert werden. Im nächsten Schritt habe ich mittig in da Gehäuse drei Löcher nebeneinander gebohrt, in die LED-Strip Leitungen sowie die beiden Gewindestangen durchgeführt werden.

Nach dem das Aluminium-Profil mit dem Gehäuse verschraubt wurde, können wir nun den ESP8266 im Gehäuse fixieren und die Aussparung für den USB-Anschluss herstellen. Dazu habe ich zwei Gewindestangen mit dem ESP8266-Board (weitere Platine) verschraubt und mit einem Klecks Heißkleber auf dem Gehäuseboden verklebt. Die Aussprung habe ich mit einer kleinen Feile erstellt.

Nun können wir ein beliebiges 5V Netzteil für die Spannungsversorgung einsetzen.

8. Fotos und Videos

 

 
 
 
 
 
Sieh dir diesen Beitrag auf Instagram an
 
 
 
 
 
 
 
 
 
 
 

 

Ein Beitrag geteilt von Smarthome-tricks.de (@smarthometricks) am

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

20 Gedanken zu „ioBroker LED Deko-Light II

  • Matthias

    Hallöle,
    Ich versuche mich grad am Nachbau des Dekolights. Erforderliche Änderungen im Sketch für WIFI, MQTT, Anzahl der Pixel habe ich vorgenommen.

    Aber das Mit den Datenpunkten klappt irgendwie nicht. Er schaltet das Lichtband nicht um. Ich finde partout meinen Fehler nicht.

    Antwort
    • Matthias Korte

      Moin Matthias,
      hast Du Dir mal Ausgaben im Script gemacht? Dann könntest Du in der seriellen Konsole schauen was genau schief läuft.

      Antwort
  • wIWa

    Hallo, habe das edle Teil gerade nachgebaut, MQTT mit User/PW angepasst. Gerät erscheint auch im Broker, aber ich bringe es nicht zum leuchten. Diverse Demo-Sketche funktionieren.
    Sorry, bin noch totaler Newbee.

    Antwort
    • Matthias Korte

      Hallo, ist so auf die Ferne immer schwierig. Hast Du mal serielle Ausgaben erstellt, sodass Du den Sketch damit genauer untersuchen kannst? Ich habe damit Probleme während der Entwicklung immer schnell und einfach gefunden 🙂

      Antwort
  • Michael

    Hallo, habe das edle Teil gerade nachgebaut, MQTT benötige aber noch User/PW Eingabe für den MQTT-Server. Wie muss ich das genau machen, Beispiel wäre super!
    Sorry, beschäftige mich noch nicht so lange mit dem ganzen.

    Antwort
    • Matthias Korte

      Hallo,

      nutzt Du auch den ioBroker MQTT-Adapter als MQTT-Broker? In meinem Beispiel verwende ich dafür kein Benutzer und Passwort. Wo musst du das denn eingeben? Oder meinst du hier das WIFI-Kennwort? 🙂

      Antwort
    • wIWa

      Hallo, weiß nicht, ob es noch aktuell ist. Hier die Lösung:(kommt aus der PubSubClient.h)

      //EDIT THESE LINES TO MATCH YOUR SETUP
      #define MQTT_SERVER „BROKER IP“
      const char* ssid = „SSID“;
      const char* password = „PASSQWORD“;
      const char* mqtt_username = „MQTT ID „;
      const char* mqtt_password = „MQTTPASS“;

      Antwort
  • Hallo Matthias, hast Du eigentlich schon den Audiosensor (siehe Instagram) implementiert ?

    Antwort
  • Jörg Fröhner

    Moin,
    danke für die Inspiration sich mit dem Arduino zu befassen (erster Gehversuch nach dieser Anleitung). Soweit so gut:
    In mqtt.0.info.connection meldet sich LedDekoLight04-2b59 an und die Datenpunkte mqtt.0.LedDekoLights.Light04.colorMode und mqtt.0.LedDekoLights.allColorMode werden gesetzt.
    Eigentlich sollten die LED nun leuchten, wenn man die Datenpunkte mit Werten füttert (red, green oder rainbowcycle als Beispiel). Das Stripe bleibt dunkel, ist evtl. das Netzteil vom IPad zu schwach? Das Ugreen 17W Netzteil ist noch unterwegs, war aber neugierig…

    Antwort
  • Jörg Fröhner

    Hallo Matthias,
    ich hatte hier gestern an dieser Stelle angefragt, warum mein LED Stripe dunkel bleibt.
    In deiner Beschreibung heißt es:
    ESP8266 an die 5V Anschlüsse (VIN) und GND angeschlossen werden….
    Das stimmt so nicht (mehr). An meiner Node MCU von AZ-Delivery liegt an VIN keine 5 Volt an, sondern zwischen VUSB und GND (gegenüber D2/D1). Schönen Abend.

    Antwort
    • Matthias Korte

      Hallo Jörg,
      vielen Dank für die Rückmeldung. Ja das ist korrekt, die neuen ESP8266 haben die 5V an VUSB liegen.

      Antwort
  • Weiß

    Wirklich ein sehr schönes Projekt. Nun wollte ich meine WS2812b mit 209 LED´s betreiben. Hab deinen Sketch erfolgreich auf einen ESP-01 geflasht. Er verbindet sich auch mit dem WLAN und MQTT. Aber über den Datenpin kommt nichts. Es werden keine LED´s hell.
    Kann man sagen woran sowas liegen könnte?
    Als PIN habe ich „3“ genommen. Denn „D3“ kann man nicht mehr eingeben

    Antwort
    • Matthias Korte

      Wie schaut denn deine Stromversorgung aus? Nutzt Du die 5V vom ESP? Falls ja, das ist das Problem. Du brauchst hierfür das LED-Band eine extra Stromversorgung über ein externes Netzteil.

      Antwort
  • Weiß

    Da der ESP-01 nur seine 3,3V haben darf habe ich ein Netzteil 5V / 15A womit die WS2812b versorgt werden. Über einen DC/DC – Konverter versorge ich dann den ESP-01 mit Spannung.

    Antwort
  • Patrick

    Ein wirklich tolles Projekt und für mich das erste mit einem NodeMCU.

    Auf dem Breadboard funktioniert bereits alles.

    Ist es möglich einen Taster oder Schalter als Eingang am NodeMCU zu integrieren um die verschiedenen Lichtprogramme durchzuschalten und das ganze an und aus zu schalten?

    Antwort
  • Michael

    Hallo Matthias,

    super Arbeit und ich habe es auch geschafft, meine LED´s zum leuchten zu bringen.

    Aber könntest du mir jetzt auch noch verraten, wie ich die LED´s wieder aus bekommen, ohne sie vom Strom zu ziehen? Also, wie wäre der Wert dafür? 😉

    Antwort
  • Torsten Kollek

    Ein wirklich tolles und edles Projekt, hat mir sehr gefallen. Habe ich gleich nachgebaut und ein bisschen mit den Farben und Colormodes rumgespielt. Wo ich überhaupt keine Kennung habe ist ob man den Streifen auch dimmen könnte.

    MfG Torsten

    Antwort
  • Martin

    Hallo,
    leider wurde das Thema nicht ganz angeschlossen mit dem entsprehcenden Code. Heutzutage nutzt ja eigendlich keiner mehr einen MQTT ohne Benutzer und Passwort. Auch der Port kann doch anders sein. Desshalb würde ich das Programm gern ergänzen aber leide kapier ich es nicht.
    Erweiterung:
    const char* password = „PASSQWORD“;
    const char* mqtt_username = „MQTT ID „;
    const char* mqtt_password = „MQTTPASS“;
    const int mqtt_port = 1883;

    Es gibt im Code ja den abschnitt:
    client.setServer(mqtt_server, 1883);

    Ich dachte wenbn der Code abgeändert wird in
    client.setServer(mqtt_server, mqtt_username, mqtt_password, mqtt_port);
    sollte es gehen….machts aber nicht.
    wer könnte mier den den Codeshnipsel berichtigen für das Programm.

    Antwort
    • Guten Morgen Martin,

      ich hänge hier auch fest.
      Bei mir sieht es folgendermaßen aus:

      #define MQTT_SERVER „IO-BROKER“
      const char* ssid = „XXX“;
      const char* password = „XXX“;
      const char* mqtt_server = „XXX“;
      const int mqtt_port = XXX;
      const char* mqtt_username = „XXX“;
      const char* mqtt_password = „XXX“;

      unten bei der Abfrage:
      setup_wifi();
      client.setServer(mqtt_server, mqtt_port, mqtt_username, mqtt_password);
      reconnect();
      client.setCallback(MQTTCallback);

      -> Folgender Fehler erscheint allerdings:
      candidate expects 2 arguments, 4 provided
      exit status 1
      no matching function for call to ‚PubSubClient::setServer(const char*&, const int&, const char*&, const char*&)‘

      Hast du das lösen können?

      Antwort
  • Bernd Ludwig

    Hallo,
    Das mit dem Dimmen ist ganz oben festgelegt –> strip.setBrightness(255);
    Ganz hell = 255, Aus = 0.

    Leider habe ich ein Problem mit dem MQTT Callback. Der wird bei mir nicht aufgerufen, obwohl der Call zum Subscriben der IDs mit Return Wert = 0 erfolgreich ist. Bei mir ist Sonoff als MQTT Broker und Adapter in iobroker installiert und das Setzen der Werte ist erfolgreich. Leider werden diese nicht vom ESP angenommen und es kommt zu keiner Ausgabe auf der Console (Serial.print(„Message arrived [„); … führt zu nichts, obwohl andere Ausgaben auf der Console kommen.)

    Was mache ich falsch? Liegt es an den Datenpunkten im iobroker?
    Vielen Dank im Voraus für das Feedback.

    Antwort

Schreibe einen Kommentar zu wIWa Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht.