Tutorial: ESP8266/ESP32 Addon (Wifi LED Controller UDP)

  • Ich habs mal auf dem DEV-Branch implementiert.

    https://github.com/SciLor/Hyperio…bbcdcc478a8d827

  • Tutorial: ESP8266/ESP32 Addon (Wifi LED Controller UDP)? Schau mal ob du hier fündig wirst!

  • Ich verstehe diese Punkte nicht wirklich, kann mir jemand bitte helfen, wo muß das eingetragen oder geändert werden ?

  • Hi

    Ich komme vom Vu+ Forum, das ist eine Enigma2 Box.

    Nun haben es da einige geschaft das NodeMCU dazu fähig zu machen die Daten per WLAN von einer Solo 4K zu empfangen. Dort gibt es Tutorial welches nach hier verlinkt.

    Die ganzen Libraries habe ich installiert, den Hyperion_LED-Controller aus dem GIT und die ConfigStatic.h angepasst. Wo ich nicht weiterkommt sind diese Punkte:

    Zitat

    Wichtige Punkte in der Konfiguration:

    Hyperion Grundinstanz:


    Code

    1. "forwarder" :
    2. {
    3. "proto" : [ "localhost:19447" ],
    4. "json" : [ "localhost:19446" ]
    5. },
    Zitat

    Hyperion Instanz 2, bitte Grabber auskommentieren,

    LED-Konfiguration wie ansonsten auch eintragen (Bei mir für 50 WS2801):

    IP-Adresse des ESP8266 ggbfs anpassen (DNS Name hostname siehe Quellcode)

    WLAN ist aktiv zumindest findet meine FritzBox den NodeMCU, mein Flash lief auch ohne Fehlermeldung durch, im VU+ Forum gibt es dort eben die passende Sketches und configStatic.h die ich ja alle angepasst habe, aber bei mir wird kein Licht hell.

    Verkabelt habe ich so wie auf dem Bild. Ich hab ein WS2812B Stripe mit 3 Leitungen und zusätzlich +/-

  • Bitte probiere es mal mit der Hyperion App dich mit dem Node zu verbinden.

    Bitte poste auch mal deine ConfigStatic.h und ein Log vom Node (Arduino Serial Monitor)

    Die Hyperionconfig brauchst du nicht machen, du verwendest ja enigmalight.

    Hier noch ein paar Details:https://github.com/SciLor/Hyperio…velop/README.md

  • Hi

    Verbindung mit der App funktioniert.

    Ich habe den Beispielsketch "Fire 2012" angepasst und komplimiert.
    Dann auf hochladen geklickt. Sorry wenn ich mich so doof anstelle, beschäftige mich erst seit Sonntag mit dem Thema. Hatte noch nie mit Rasperry oder den Minicontrollern vorher etwas zu tun.

    Meine angepaßte configStatic_h:

    Spoiler anzeigen

    /*------------------------------------------------*/

    /*Configuration type*/

    //#define CONFIG_ENABLE_WEBCONFIG 1

    //Replaces all values in the webconfig with the ConfigStatic.h values when CONFIG_ENABLE_WEBCONFIG is enabled

    //#define CONFIG_OVERWRITE_WEBCONFIG 1

    /*------------------------------------------------*/

    /*Logging level*/

    #define LOGLEVEL LOG_LEVEL_INFOS

    //#define LOGLEVEL LOG_LEVEL_DEBUG

    //#define LOGLEVEL LOG_LEVEL_VERBOSE

    /*------------------------------------------------*/

    /*Main static configuration*/

    //This cannot be changed via web inteface

    //#define CONFIG_LED_SPI_CHIPSET WS2801 //Comment out for clockless

    #define CONFIG_LED_CLOCKLESS_CHIPSET WS2812B //Comment in for clockless

    //#define FASTLED_ALLOW_INTERRUPTS 0 //Comment in if clockless stripe (ex. WS2812B) is flickering

    //#define CONFIG_LED_PWM 1 //Comment in if PWM Stripe

    #define CONFIG_LED_DATAPIN D5 //Comment out for PWM

    //#define CONFIG_LED_CLOCKPIN D6 //Comment out for clockless / PWM

    //#define CONFIG_LED_PWM_RED D1 //Comment in for PWM

    //#define CONFIG_LED_PWM_GREEN D2 //Comment in for PWM

    //#define CONFIG_LED_PWM_BLUE D3 //Comment in for PWM

    //Pin order, see FastLED doc. NodeMCU should work with FASTLED_ESP8266_RAW_PIN_ORDER

    #define FASTLED_ESP8266_RAW_PIN_ORDER

    //#define FASTLED_ESP8266_NODEMCU_PIN_ORDER

    //#define FASTLED_ESP8266_D1_PIN_ORDER

    #define CONFIG_LED_COLOR_ORDER RGB

    #define CONFIG_LED_COUNT 111

    //OFF, HYPERION_UDP, STATIC_COLOR, RAINBOW, FIRE2012

    #define CONFIG_LED_STANDARD_MODE OFF

    #define CONFIG_LED_HYPERION_AUTOSWITCH true

    #define CONFIG_LED_STANDARD_MODE_TIMEOUT_MS 5000

    /*------------------------------------------------*/

    /*Main configuration*/

    //You can leave it empty and override it via the web interface on port 80

    #define CONFIG_WIFI_SSID "Mein WLAN -->Richtige Daten sind eingetragen"

    #define CONFIG_WIFI_PASSWORD "Mein Passwort --->Richtige Daten sind eingetragen"

    //#define CONFIG_WIFI_STATIC_IP 1

    //const byte CONFIG_WIFI_IP[] = {192, 168, 0, 100};

    //const byte CONFIG_WIFI_SUBNET[] = {255, 255, 255, 0};

    //const byte CONFIG_WIFI_DNS[] = {192, 168, 0, 1};

    #define CONFIG_WIFI_HOSTNAME "Ambilight"

    #define CONFIG_PORT_JSON_SERVER 19444

    #define CONFIG_PORT_UDP_LED 19446

    SerialMonitor.log

    Spoiler anzeigen

    I: Start logging

    I: CFG=Static config loaded

    I: Reset Mode

    I: Connecting to WiFi Marjun-Home

    I: Using dynamic ip

    I: Connected successfully, IP address: 192.168.178.44

    I: Prepare OTA

    I: OTA Ready

    I: Open port 19446 for UDP...

    I: success

    I: Open port 19444 for TCP...

    I: HEAP=42424


  • Was funktioniert denn und was nicht?

    Die Config und das Log sieht erst einmal sauber aus.

    Wobei ändere mal

    Code
    #define FASTLED_ESP8266_RAW_PIN_ORDER
    //#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
    //#define FASTLED_ESP8266_D1_PIN_ORDER

    in (weil du einen Node hast)

    Code
    //#define FASTLED_ESP8266_RAW_PIN_ORDER
    #define FASTLED_ESP8266_NODEMCU_PIN_ORDER
    //#define FASTLED_ESP8266_D1_PIN_ORDER


    LEDs hast du die WS2812b? 111 Stück?

    In deiner Zeichnung war PORT D3 angegeben in der Config D5.

    Was meinst du mit Fire2012?

    Ändere mal bitte folgende Zeile

    Code
    #define CONFIG_LED_STANDARD_MODE OFF

    in

    Code
    #define CONFIG_LED_STANDARD_MODE RAINBOW
  • Es geht !!! Die RAINBOW Änderung war der entscheidende Tip. Vielen Dank :bravo2:

    Ja LED´s sind die WS2812b

    Die Zeichnung hatte ich irgendwo gefunden :-). Bei mir hängt das Datakabel aber an D5 mit einem angelöteten 470 Ohm Widerstand, der Rest ist identisch.

    Das Fire2012 ist ein Beispiel Sketch von FastLED, wurd emir empfohlen das erstmal damit zu testen, bevor ich die Sketch für meine Box mache, da gibt es ja auch einige bei uns im Forum für die Enigma2 Boxen.

    Jetzt muß ich mal gucken wie´s weiter geht, Zumindest hab ich jetzt alle LED´s auf einmal an :)

  • Hallo, und erst mal großen Dank an den Ersteller!

    ich habe folgendes Problem: schon beim Kompilieren kommt

    Code
    In file included from Config.h:4:0,
                     from Config.cpp:1:
    BaseHeader.h:6:21: fatal error: Logging.h: No such file or directory
     #include <Logging.h>
                         ^
    compilation terminated.
    Fehler beim Kompilieren.

    Wenn ich einen anderen Sketch z.B. von FastLED anpasse und auf den ESP spiele Rennt mein Lichterschlauch.

    Evtl. nur ein kleines Problemchen. was kann ich machen?

    ich habe:

    LED WS2801

    Arduino 1.6.4

    ESP8266 Wroom 02

    Logging Lib aus erstem Post

    ESP32 Webserver - weg gelassen

    FastLED 3.2.0

    LinkedList 1.2.3

    ArduinoJson 6.4.0 beta

    ArduinoThread 2.1.1

  • Bitte prüfe ob alle Libs ordentlich installiert sind. Hier sieht es aus, als ob die Logging Lib nicht installiert ist. Wie hast du diese installiert?

  • Hallo scilor,

    ich habe mir gedacht, mit diesem Tutorial eine Art indirekte Beleuchtung mit Hyperion app zu steuern.

    Hab alles angeschlossen und installiert.

    Verwende hierzu das Lolin V3 ESP8266.

    Soweit klappt auch alles.

    Mit enigma2 plugin funktioniert das ganze auch sehr gut. Da ich aber bereits am TV das ambilight gebaut habe, dachte ich mir ich nutze das hier als eine art indirekte Beleuchtung. Sind auch nur 8 Leds verbaut.

    Leider ist es so das ich mit iPhone Hyperion app, mal steuern kann und mal nicht.

    Es verliert eben die Wlan Verbindung.Mit enigma2 plugin läufts ohne Verbindungsprobleme.

    In meiner Fritzbox habe ich bereits feste ip eingestellt.

    Hast du eventuell eine Ahnung woran das liegen kann.

    Gruß

  • Bitte prüfe ob alle Libs ordentlich installiert sind. Hier sieht es aus, als ob die Logging Lib nicht installiert ist. Wie hast du diese installiert?

    WOW...endlich habe ich etwas zeit gefunden und die ArduinoAPP von Grund auf Installiert und wie im TUT beschrieben konfiguriert. Nun läuft der Upload durch und die Angeschlossenen LEDS leuchten auch. Über die Hyperion App für IOS kann ich auch Farben ändern.

    Nun arbeite ich dran das auf meinem PI die erste Instanz an die zweite Instanz Infos schickt und diese dann auch auf dem ESP landen...Dies funktioniert leider noch nicht so richtig.

    Ich versuch mal etwas die Configs richtig zu Uploaden:

    als erstes was in der configStatic.h steht:

    Code
    #define CONFIG_PORT_JSON_SERVER 19444
    #define CONFIG_PORT_UDP_LED 19446

    erste instanz :

    bedeutet für mich das ich intern weiterleite auf json port ...40 und proto ....41

    und die config der 2. instanz sieht so aus:

    quasi auf json 40 und proto 42 empfangen und alles an esp 192.168.0.244:19446 sende

    oder passt da was nicht?

    wieso kann man nicht gleich an esp (192.168.0.244:19446) weiterleiten aus der ersten instanz?

  • Das kann daran liegen, dass der ESP überfordert ist, weil er vom Enigma2 Plugin Daten bekommt. Aber dann sind die Daten vom Enigma2 sowieso führend und überschreiben alle manuellen Eingaben. Zusätzlich könntest du das INFO Logging auskommentieren um die Performance zu steigern. Zusätzlich könntest du noch die Datenrate zum ESP vom Engima2 reduzieren.

  • Die Config sieht soweit in Ordnung aus.

    Was heißt funktioniert nicht so richtig?
    Du brauchst nur zwei Instanzen, wenn du schon eine LED-Leiste nutzt und eine zweite per WLAN anbinden möchtest. Ansonsten kannst du dir die zweite Instanz sparen und direkt den Output in der ersten Instanz machen. Zum testen ist es nützlich das Logging auf dem ESP einzuschalten (LEDs müssen nicht verbunden sein) und ihn per USB an der Rechner zu schließen und den Serial Monitor von Arudino zu aktivieren. Dann kannst du sehen ob er Daten empfängt.

  • Hallo Scilor,

    danke für die Antwort ,

    ich habe das Ambiight am TV und Enigma mit einem Arduino Uno am laufen. Das mit dem ESP habe ich einfach mal testen wollen.

    Auf ESP habe ich dann die Sketch neu geladen und mit Enigma gar nichts mehr unternommen, da ich das nur als indirekte Beleuchtung nutzen will. Ich will also nur per Hyperion iPhone app steuern.

    Wahrscheinlich ist die Sketch für mein einfaches Vorhaben zu mächtig.

    Gruß

  • Eigentlich ist es genau dafür gemacht, wie gesagt, Logging einschalten und schauen.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!