Git Product home page Git Product logo

hyperion_led-controller's Introduction

ARCHIVED, NO DEV! Please try WLED as replacement

Hyperion LED Controller for ESP8266/ESP32

This code allows you to use a ESP8266/ESP32 with a fitting led strip as extension for hyperion (ambilight clone). You need to configure hyperion to stream the leds as UDP to the esp.

English Tutorial: https://hyperion-project.org/threads/tutorial-wireless-led-extension-with-esp8266-esp32-for-hyperion.3004/

French Tutorial: https://ambimod.jimdo.com/2017/01/12/tuto-faire-de-l-ambilight-sans-fil-avec-un-esp8266-nodemcu-et-la-biblioth%C3%A8que-fastled/

German Tutorial: https://forum-raspberrypi.de/forum/thread/25242-tutorial-esp8266-nodemcu-addon-wifi-led-controller-udp/

It will also work with enigmalight.

Tested with following following libraries (other versions may work):

IDE

a) Arduino IDE 1.8.13

Board Library

a) esp8266 2.7.4 http://arduino.esp8266.com/stable/package_esp8266com_index.json

b) for esp32 1.0.6 https://github.com/espressif/arduino-esp32

Libraries

a) ArduinoThread 2.1.1

b) ArduinoJSON 6.18.0

c) LinkedList 1.3.2

d) FastLED 3.4.0

e) Logging https://github.com/SciLor/Arduino-logging-library - install manually: Download zip from github and install via Arduino IDE, Sketch -> Include Library -> Add .ZIP Library

f) ESP32 Webserver https://github.com/nhatuan84/esp32-webserver - install manually (for esp32 only)

Installation

Configuration of the board

Attention, enabling Logging can slowdown the leds responsiveness!

Basic

  1. Go to the HyperionRGB folder and create a copy of ConfigStatic.h.example. Remove the .example suffix
  2. Configure the ConfigStatic.h for your needs:
    • Select your LED chip type. All LEDs of the FastLed libraries are supported
    • Configure the used LED pins. You can also change the Pin Order. The NodeMCU order doesn't work sometimes to please also try the `RAW_PIN_ORDER``
    • Define the number of used LEDs
    • Define one of the standard modes which are active when your light is idle. Choose one from: OFF, HYPERION_UDP, STATIC_COLOR, RAINBOW, FIRE2012
    • You maydefine Wifi configuration but you can also change it from the Webinterface
  3. Open the HyperionRGB.ino the Arduino IDE
  4. Compile and upload to your board

AP fallback

HyperionRGB will try to connected to the saved WiFi for 3 times and then falls back into AP Mode for 60 seconds. It will open a new WiFi network with the standard name "HyperionRGB" and password "HyperionRGB"- The SSID/Password may be overriden via the static config. (hostname/password)

UDP Protocol

This section describes the different UDP Protocol formats.

RAW - Protocol 0 - Raw Format

Standard format, will expect the leds data via udp as a block 3 bytes per LED, Full LED set

[LED1: {0: R, 1: G, 2: B}, LED2: ...]
FRAGMENT - Protocol 2 - Fragmented Format

One byte per block:

  1. Update ID & 0xF
  2. Fragment ?!
  3. First LED ID, high byte
  4. First LED ID, low byte
  5. [LED1: {0: R, 1: G, 2: B}, LED2: ...]
TPM2 - Protocol 3 - TPM2.net
  1. 0x9C //magic byte
  2. 0xDA //data frame
  3. Data length (LED count * 3), high byte
  4. Data length (LED count * 3), low byte
  5. Fragment ID
  6. Fragment ID maximum
  7. {0: R, 1: G, 2: B}
  8. 0x36

Configuration of Hyperion

Standalone

If you just want a single wireless LED-Stripe you can just configure hyperion as always, except you need to set the fitting device as following:

{
      "colorOrder" : "rgb",
      "maxpacket" : 1450,
      "name" : "AmbiSZ-ESP8266",
      "output" : "ESP8266:19446", ///
      "protocol" : 0,
      "rate" : 250000,
      "type" : "udp"
},

As second instance

You need two running hyperion instances. The first grabs the data on e.g. a rasbperry pi and controls any local attached LED strips. This first instance is configured to forward its data to a second hyperion instance on the same machine. Be sure to only forward the UDP data:

"forwarder" :
{
"proto" : [ "localhost:19447" ]
},

The second hyperion instance is configured to use UDP as device so that it can talk to the ESP directly. This second hyperion instance can run on the same machine as the first instance. Just make sure that you set the UDP ports, hostnames/IPs and LED number accordingly to the values you've configured for the ESP.

{
      "colorOrder" : "rgb",
      "maxpacket" : 1450,
      "name" : "AmbiSZ-ESP8266",
      "output" : "ESP8266:19446", ///
      "protocol" : 0,
      "rate" : 250000,
      "type" : "udp"
},


"protoServer" : 
{
"port" : 19447
},
"jsonServer" : 
{
"port" : 19446
},

For Hyperion NG throug web interface

Go to Confiruration -> General, select Controller type: udpraw set Target IP (your ESP IP addr) and Port (19446).

Configuration for Engimalight

Please use UDP Protocol "UDP_RAW" in ConfigStatic.h for the ESP part. You may need to change the output to the IP of your ESP! The prefix doesn't matter as the ESP should ignore it (Untested).

enigmalight.conf

[device]
name		ambilight
output		192.168.1.123
type		udp
port		19446
interval  	20000
prefix		41 64 61 00 71 24
channels	100
rate		115200
debug		off

Source: https://www.vuplus-support.org/wbb4/index.php?thread/107895-enigmalight-ambilight-f%C3%BCr-4k-boxen-arm/&postID=1661992#post1661992

There's a detailed instruction page for controlling multiple devices.

If you like my work spread the word! Donation: http://www.scilor.com/donate.html

hyperion_led-controller's People

Contributors

adn77 avatar mike-sirs avatar mishaux avatar scilor avatar sebastianhodapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hyperion_led-controller's Issues

ESP freezes....

Hi,

i´m running LED Controller on a ESP8266.

It works until i start some special colors.
I.e. it freeze when using effect "cinema brighten lights".
I have to restart the ESP. Then it is working again. It freeze everytime i do this effect.

I´m using 5m Stripe of WS2812B LEDs. I have 300 LEDs running.

frequent wifi reconnects (spamming router logs)

the esp8266 frequently loses connection and reconnects to wifi AP if idle and thus spamming routers logs:

daemon.info hostapd: wlan1: STA xx:xx:xx:xx:7b:8c IEEE 802.11: disassociated daemon.info hostapd: wlan1: STA xx:xx:xx:xx:7b:8c IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE) daemon.info hostapd: wlan1: STA xx:xx:xx:xx:7b:8c IEEE 802.11: authenticated daemon.info hostapd: wlan1: STA xx:xx:xx:xx:7b:8c IEEE 802.11: associated (aid 2) daemon.notice hostapd: wlan1: AP-STA-CONNECTED xx:xx:xx:xx:7b:8c daemon.info hostapd: wlan1: STA xx:xx:xx:xx:7b:8c WPA: pairwise key handshake completed (RSN)

the solution that worked without much thinking about it:

add Esp8266-ping library, then put

#include <Pinger.h>
Pinger pinger;

to the top of HyperionRGB.ino

and

pinger.Ping(WiFi.gatewayIP());

to the void statusInfo(void) {} function (just before the last } bracket).

wifi connection problem

I fail to connect to WiFi... ssid/password correct

SDK:2.2.1(cfd48f3)/Core:2.4.2/lwIP:2.0.3(STABLE-2_0_3_RELEASE/glue:arduino-2.4.1-13-g163bb82)/BearSSL:6d1cefc
I:  Start logging
I:  CFG=Static config loaded
I:  Reset Mode
I:  Mode changed to 4
I:  Connecting to WiFi MG
I:  Using dynamic ip
scandone
scandone
state: 0 -> 2 (b0)
state: 2 -> 0 (2)
reconnect
scandone
state: 0 -> 2 (b0)
state: 2 -> 0 (2)
reconnect
scandone
state: 0 -> 2 (b0)
state: 2 -> 0 (2)
reconnect
E: WiFi Connection Failed! Rebooting...

any help?

Compile Error

Arduino 1.6.12
ArduinoJason by Benoit Blanchon 5.7.0
ArduinoThread by Ivan Seidl 2.1.0
Linked List by Ivan Seidel 1.2.3
FastLED by Daniel Garcia 3.1.3
Logging von dir im libaries ordner.

-mkdir testordner
-cd testordner
-git clone https://github.com/SciLor/ESP8266_Hyperion_LED-Controller.git
-Arudino IDE öffnen ~/testordner/ESP8266_Hyperion_LED-Controller/HyperionRBG.ino
-Medlung: Die Datei "HyperionRBG.ino" muss sich in einem Sketch-Ordner befinden. Soll der Ordner angelegt, die Datei verschoben und dannach fortgefahren werden? -> OK
-Sketch ist offen
-cp ConfigStatic.h.example ConfigStatic.h
-editor ConfigStatic.h , anpassen

  • mv * ~/testordner/ESP8266_Hyperion_LED-Controller ~/testordner/ESP8266_Hyperion_LED-Controller/HyperionRGB (das ist der von der IDE angelegte SketchOrdner)
  • Arduino IDE -> überprüfen (Kompilieren)

Ausgabe:
In file included from ~/testordner/ESP8266_Hyperion_LED-Controller/HyperionRGB/HyperionRGB.ino:14:0:
sketch/WrapperJsonServer.h:6:24: fatal error: WifiServer.h: No such file or directory
#include <WifiServer.h>
^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

Question - Change digital pin state when leds are not working.

Hi,

Would it be possible to add a new feature that would put specified digital pin to high when leds are not working for a specified length of time? Then it would be possible to control a relay that would turn off and on a power supply when it's not needed.

Cheers

StaticJsonBuffer is a class from ArduinoJson 5.

Hi,

I can't compile this sketch in the Arduino IDE, I always get this error:

StaticJsonBuffer is a class from ArduinoJson 5. Please see https://arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6

Greets
Sören

esp32 compilation steps

what are the differences to compile to esp32?
I get this error

Multiple libraries were found for "WiFi.h"
 Used: C:\Users\ageor\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\libraries\WiFi
 Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
'D1' was not declared in this scope

Use of deleted function

~/.arduino15/packages/esp8266/hardware/esp8266/2.4.1/libraries/ESP8266WebServer/src/ESP8266WebServer.h:69:7: note: 'ESP8266WebServer::ESP8266WebServer(const ESP8266WebServer&)' is implicitly deleted because the default definition would be ill-formed: class ESP8266WebServer

You probably already are aware of this.

changing the line ESP8266WebServer _server = ESP8266WebServer(80); to ESP8266WebServer _server; and disabling webconfig at least does compile.

ESP32 NodeMCU as primary ambilight device

On the README site it says "... 2 instances of hyperion necessary ... first one controls local ambilight and forwards data to the second instance, which then sends data to the Hyperion_LED-Controller..."

My question: Do you know any reasons for not using the ESP32-solution as primary (and only) ambilight?
Is there a significantly larger delay or some other downsites of the transmission of data over the network?

If not, I guess this would be a more flexible way regarding the media-player-location... (I would not need an additional cable from tv to media-player)

Thanks

ESP32 / LOLIN32 - ArduinoThread not working as librariy

The ArduinoThread library seem to have a bug on the ESP32 Platform. Workaround is to copy the lib into the HyperionRGB Project folder or to combine the EnhancedThread.h and EnhancedThread.cpp file.

In file included from sketch\EnhancedThread.cpp:1:0:
EnhancedThread.h:7: error: expected class-name before '{' token
 class EnhancedThread : public Thread {
                                      ^
sketch\EnhancedThread.cpp: In member function 'void EnhancedThread::run()':
EnhancedThread.cpp:4: error: 'Thread' has not been declared
   Thread::run();
   ^
EnhancedThread.cpp:6: error: 'Thread' has not been declared
     Thread::enabled = false;
     ^
sketch\EnhancedThread.cpp: In member function 'void EnhancedThread::runIfNeeded()':
EnhancedThread.cpp:10: error: 'Thread' has not been declared
   if(Thread::shouldRun())
      ^
EnhancedThread.cpp:11: error: 'Thread' has not been declared
     Thread::run();
     ^
sketch\EnhancedThread.cpp: In member function 'void EnhancedThread::reset()':
EnhancedThread.cpp:15: error: 'Thread' has not been declared
   Thread::enabled = true;
   ^
EnhancedThread.cpp:16: error: 'Thread' has not been declared
   Thread::runned();
   ^
sketch\EnhancedThread.cpp: In member function 'long unsigned int EnhancedThread::getInterval()':
EnhancedThread.cpp:23: error: 'interval' was not declared in this scope
   return interval;
          ^

@ivanseidel

request

hi, im not sure if this is the right place but i have a request.

is it possible to implement this webserver inside of your project? or vice versa?
https://github.com/jasoncoon/esp8266-fastled-webserver

im having two diffrent led in my appartment both are controlled from a wemos d1 mini...
i gave both static ips and added a button link in the webserver...
so i controll all of them with ONE SINGLE webserver.

im planning on on doing the same for the ambilight. i want the ambilight controlled over the wemos too..so the ambilightis also is usable as a normal lamp even if the HYPERION service isnt running (or my udoox86 is sleeping) this should be possible if there is way to get the udp signal inside of a pattern coded to show the ambilight..

i know how to create a new pattern called ambilight but it is only empty it has no function i dont know how to code just how to copy paste... if there is a way i could get the ambilight pattern work as a udp receiver shouldnt it work then?

what are the main files for getting the esp act as a udp receiver?
the wrapperjsonserver looks like it is the main file for the udp server...but im not sure :D
there is alot of stuff like logging and esp config wich is cool but its hard for a beginner to see wich one are neccesarry to get just the udp signal from hyperion showing up. so i can implement it into the webserver from the link..

thx

[Question] ESP32 compatible?

Hi
Is it possible to make the software compatible with ESP32? They are more powerful and cost mostly the same^^
I tried compiling it myself, but it got an error in EnhancedThread...

[Question]leds light up white but no change color from hyperion

Hello,

1/led strip is ok (tested on arduino mega with fastled)
2/ wifi connection ok & hyperion_udp connection ok => log_verbose show RGB data (nodemcu is only connected on usb to arduino IDE serial monitor
3/ led strip + nodemcu => leds turn on and light up white

issue: Leds doesnt change color based on hyperion remote or kodi. Stick on white

wired nodemcu D7
board : nodemcu v3 lolin
leds: WS2812B
arduino IDE : 1.8.4
ES8266 : 2.3.0
hyperionRGB: 0.8.4

Thx for helping

/------------------------------------------------/
/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 D7 //Comment out for PWM
//#define CONFIG_LED_CLOCKPIN D2 //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 63

//OFF, HYPERION_UDP, STATIC_COLOR, RAINBOW, FIRE2012
#define CONFIG_LED_STANDARD_MODE STATIC_COLOR
#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 "XXXX"
#define CONFIG_WIFI_PASSWORD "XXXX"

#define CONFIG_WIFI_STATIC_IP 1
const byte CONFIG_WIFI_IP[] = {192, 168, 1, 200};
const byte CONFIG_WIFI_SUBNET[] = {255, 255, 255, 0};
const byte CONFIG_WIFI_DNS[] = {192, 168, 1, 1};

#define CONFIG_WIFI_HOSTNAME "ESP8266"

#define CONFIG_PORT_JSON_SERVER 19444
#define CONFIG_PORT_UDP_LED 19446

RGB 5050 support

Hi. I am looking into your code and i will try to build it.
Is it possible to add a support for single rgb stripe like this one https://github.com/iLLiac4/Adalight_Hyperion/blob/master/Adalight_RGB.ino with config optimized for it https://github.com/iLLiac4/Adalight_Hyperion/blob/master/hyperion.config.json.RGB connection scheme is something like this one http://www.jerome-bernard.com/images/rgb-led-strips-mosfets.png but it is possible to just use premade rgb 1usd controller and wiretap rgb onto it.

It is simple rgb contoller for adalight and works with hyperion.

I saw on internet esp2866 wifi led controller like this one http://www.banggood.com/ARILUX-AL-LC01-Super-Mini-LED-WIFI-Smart-RGB-Controller-For-RGB-LED-Strip-Light-DC-9-12V-p-1058603.html?rmmds=search i think it would be interesting to mod it with your code and if possible add rgb stripe support. https://mobile.twitter.com/electromodule/status/769092596044009473

Possibility to use protocol 2 on hyperion

As stated here [(https://hyperion-project.org/wiki/UDP-Device)] protocol 2 would have some advantage to the raw format. At the moment in serial interface i see a complaint about wrong hashsize. Would it be possible to make that configurable between proto 0, 2 and 3?

Add relay

Can You add a relay that is activated when the LED strip lights up, and goes off 1 minute after the LED strip is off?

flickering?

Hi,

I am currently building a setup with an ESP32 + APA102 + RPI0 w + Pi Camera.
The problem is that the leds are not stable at all. I am using the last version of Hyperion.ng that I have compiled on the RPI0.
At the beginning, I was thinking that it was a hardware problem, so I did multiple tests. At the end, it looks like a software problem.
Here some tests I did: if I turn the RPI0 + Hyperion, the ESP32 is showing a default color:
Here a video:
https://drive.google.com/file/d/1whaHCECnqdubt3Pj-SG7R2H-W-0Eexab/view?usp=sharing

As we can see here, leds are stable. Some this is not a hardware problem, or a esp32 problem.

If I turn on Hyperion.ng, the ESP32 is connected, and I ask Hyperion.ng to show an effect (flag for example). Here a video:
https://drive.google.com/file/d/1rcyTIvgrRD7z7GbB43no97DIXo5S4Ior/view?usp=sharing

As we can see, this is not stable at all, this is flickering. Any idea of why?

Thank you.

RGB 5050 Support pin order Wemos D1

Hi. I have tested your new implementation for RGB stripes.
I am testing on wemos D1 and by default in your code you use pins
//#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

Since pin D3 and D4 on the mini correspond to GPIO0 and GPIO2 on the ESP chip itself. These pins control which state the ESP chip enters at power on or reset. If GPIO0 is connected to ground, on reset, the ESP does not run your code, but waits to be programmed via its serial pins. Since using tapped controller this always happens. and I assume users will have those problems with not booting.
According to schema https://esp8266.ru/forum/attachments/d1-mini-esp8266-pinout-jpg.1541/ there are other pins capable PWM output. It would be better option for Wemos to use pins D5, D6, D7.

Not an issue but need some help with config static mod

Hi scilor,

It's me again lol. Today i tried to mod your config static for my personal use but i have a little problem with variable.

Here you can see my code where i added some more things.

#define WEBCONFIG
#define LOGLEVEL LOG_LEVEL_INFOS

#define CONFIG_WIFI_HOSTNAME "ESP8266" 
#define CONFIG_PORT_JSON_SERVER 19444
#define CONFIG_PORT_UDP_LED 19446
 
#define CONFIG_WIFI_SSID "ssid"
#define CONFIG_WIFI_PASSWORD "password"
#define OTAPASSWORD "AmbiMod"

#define CONFIG_WIFI_STATIC_IP 1
  #ifdef CONFIG_WIFI_STATIC_IP
    const byte CONFIG_WIFI_IP[] = {192, 168, 1, 123};
    const byte CONFIG_WIFI_SUBNET[] = {255, 255, 255, 0};
    const byte CONFIG_WIFI_DNS[] = {192, 168, 1, 1};
  #endif
  
#define TYPE_LED WS2812B
#define PWM_LED

#define CONFIG_LED_COUNT 24
#define CONFIG_LED_COLOR_ORDER RGB
#define CONFIG_LED_DATAPIN 7
#define CONFIG_LED_CLOCKPIN 5

#define FASTLED_ESP8266_RAW_PIN_ORDER
//#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
//#define FASTLED_ESP8266_D1_PIN_ORDER
 
//#define FASTLED_INTERRUPT_RETRY_COUNT 0
//#define FASTLED_ALLOW_INTERRUPTS 0 

//OFF, HYPERION_UDP, STATIC_COLOR, RAINBOW, FIRE2012
#define CONFIG_LED_STANDARD_MODE RAINBOW 
#define CONFIG_LED_HYPERION_AUTOSWITCH true 
#define CONFIG_LED_STANDARD_MODE_TIMEOUT_MS 5000`

#ifdef WEBCONFIG
  #define CONFIG_ENABLE_WEBCONFIG 1
  #define CONFIG_OVERWRITE_WEBCONFIG 1
#endif

I want to change LEDs type definition method by adding PWM_LED and SPI_LED variable.
I change your WrapperLEDControl by this :

#ifdef PWM_LED
  FastLED.addLeds<TYPE_LED, CONFIG_LED_DATAPIN, CONFIG_LED_COLOR_ORDER>(leds, _ledCount);
#else
  FastLED.addLeds<TYPE_LED, CONFIG_LED_DATAPIN, CONFIG_LED_CLOCKPIN, CONFIG_LED_COLOR_ORDER>(leds, _ledCount);
#endif

Compilation was working only if SPI_LED is set and when i indicate PWM_LED i have errors message.
Maybe more modification are needed on WrapperLedControl.h to match my Config.static.

If you can help me to resolve it.

Thanks. AmbiMod.

Compilation error on arduinoIDE

Hello,

Not sure if an issue or wrong configuration but I can't compile on a nodemcu lolin v3
Thank you

arduino IDE logs:
`Les options de compilation ont été modifiées, tout sera recompilé
ATTENTION : la bibliothèque Esplora prétend être exécutable sur la (ou les) architecture(s) (avr) et peut être incompatible avec votre carte actuelle qui s'exécute sur (esp8266).
In file included from sketch\WrapperLedControl.h:6:0,

             from C:\Users\elelay\Downloads\ESP8266_Hyperion_LED-Controller-0.8.4\ESP8266_Hyperion_LED-Controller-0.8.4\HyperionRGB\HyperionRGB.ino:14:

C:\Users\elelay\Documents\Arduino\libraries\FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.003

pragma message "FastLED version 3.001.003"

                 ^

In file included from C:\Users\elelay\Documents\Arduino\libraries\FastLED/FastLED.h:65:0,

             from sketch\WrapperLedControl.h:6,

             from C:\Users\elelay\Downloads\ESP8266_Hyperion_LED-Controller-0.8.4\ESP8266_Hyperion_LED-Controller-0.8.4\HyperionRGB\HyperionRGB.ino:14:

C:\Users\elelay\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                   ^

In file included from sketch\WrapperLedControl.h:6:0,

             from sketch\WrapperLedControl.cpp:1:

C:\Users\elelay\Documents\Arduino\libraries\FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.003

pragma message "FastLED version 3.001.003"

                 ^

In file included from C:\Users\elelay\Documents\Arduino\libraries\FastLED/FastLED.h:65:0,

             from sketch\WrapperLedControl.h:6,

             from sketch\WrapperLedControl.cpp:1:

C:\Users\elelay\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                   ^

C:\Program Files (x86)\Arduino\libraries\Esplora\src\Esplora.cpp:35:36: error: 'A1' was not declared in this scope

const byte MUX_ADDR_PINS[] = { A0, A1, A2, A3 };

                                ^

C:\Program Files (x86)\Arduino\libraries\Esplora\src\Esplora.cpp:35:40: error: 'A2' was not declared in this scope

const byte MUX_ADDR_PINS[] = { A0, A1, A2, A3 };

                                    ^

C:\Program Files (x86)\Arduino\libraries\Esplora\src\Esplora.cpp:35:44: error: 'A3' was not declared in this scope

const byte MUX_ADDR_PINS[] = { A0, A1, A2, A3 };

                                        ^

C:\Program Files (x86)\Arduino\libraries\Esplora\src\Esplora.cpp:36:26: error: 'A4' was not declared in this scope

const byte MUX_COM_PIN = A4;

                      ^

C:\Program Files (x86)\Arduino\libraries\Esplora\src\Esplora.cpp:53:26: error: 'A5' was not declared in this scope

const byte ACCEL_X_PIN = A5;

                      ^

C:\Program Files (x86)\Arduino\libraries\Esplora\src\Esplora.cpp:54:26: error: 'A11' was not declared in this scope

const byte ACCEL_Y_PIN = A11;

                      ^

C:\Program Files (x86)\Arduino\libraries\Esplora\src\Esplora.cpp:55:26: error: 'A6' was not declared in this scope

const byte ACCEL_Z_PIN = A6;

                      ^

exit status 1
Erreur de compilation pour la carte NodeMCU 1.0 (ESP-12E Module)`

For CONFIG_LED_STANDARD_MODE=OFF LEDs may not be initialized upon power on

If CONFIG_LED_STANDARD_MODE is defined to be OFF then upon power-on the leds may remain in random state, not initialized to be really off.

This is because changeMode() compares newMode with activeMode and the latter one is not set to a neutral value on sketch reset, so that changeMode() actions would fire every time on startup.

To fix this simply add a new mode to Mode enum in BaseHeader.h:

enum Mode { NONE, OFF, HYPERION_UDP, STATIC_COLOR, RAINBOW, FIRE2012 };

and initialize activeMode in HyperionRGB.ino:

Mode activeMode = NONE;

Compile error in BaseHeader.h

C:\Users\user\Documents\Arduino\libraries\FastLED/fastspi.h:110:23: note: '#pragma message: No hardware SPI pins defined.  All SPI access will default to bitbanged output'
  110 | #      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output"
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
exit status 1
expected unqualified-id before '(' token 

In BaseHeader.h

WS2812b led strip flicker

WS2812b led strip flicker/flashes towards the end of the strip.

solved by adding:
#define FASTLED_ALLOW_INTERRUPTS 0 to the line immediately before #include <FastLED.h>
in WrapperFastLed.h

reference:
FastLED/FastLED#306

README - Make clear that Logging costs performance - UPD Update Delay

Hey!

So i'm having an issue with my setup. I loaded up the controller to the ESP and configured the settings and the LEDs light up correctly.

I'm running a single instance of Hyperion and when I start it, the boot sequence displays on the LEDs a bit slow. Then when I change the color, it takes about 30 seconds for the LEDs colors to change. I also noticed that when I stop Hyperion, it takes about another 30 seconds for the LEDs to go back to the LED_STANDARD_MODE.

When checking the serial monitor in Arduino IDE, packets are still being received from Hyperion even after its stopped for about 30 seconds. It seems like there is a huge delay but I can't figure out what is causing it.

My setup is:
Raspberry Pi 3 - Wired Cat6 Network Connection
ESP8266 NodeMCU LUA CP2102 ESP-12E
WS2812B
Testing on a strip of 38 LEDs
LED strip connected to Data Pin D1

Hyperion Config
"device" : { "name" : "ESP-LEDs", "type" : "udp", "output" : "192.168.1.118:19446", "rate" : 250000, "maxpacket" : 1450, "protocol" : 0, "colorOrder" : "rgb" },

Hyperion RGB Config
#define CONFIG_LED_CLOCKLESS_CHIPSET WS2812B
#define CONFIG_LED_DATAPIN D1
#define FASTLED_ESP8266_RAW_PIN_ORDER

wifi AP

Hello,
please what happens when I leave blank wifi fields?
#define CONFIG_WIFI_SSID ""
#define CONFIG_WIFI_PASSWORD ""

How can I then access webinterface? Will it behave as standalone wifi AP then?
Because I did not find access point code in sources. Many thanks and sorry if my question is wrong.

ESP32 - BUILTIN_LED Status blinking always on

I noticed that the BUILTIN_LED of the ESP32 is always on, but it should be blinking every 5 seconds like one the esp8266. There seems to be some code that shuts it on again when its of.

Please move message about wrong expected vs actual UDP packet length from debug to info

I had configuration mismatch between definitions in ConfigStatic.h and Hyperion configuration, an off-by-one error in number of LEDs.

This is clearly visible as a difference between expected and actual length of UDP datagram but information about it appears only when debug logging is enabled. There is no other indication of a problem because the LEDs are not updated.

As I think that such error on the user side is not too uncommon, I suggest moving this message from Log.debug to Log.info in WrapperUdpLed.cpp - the default level that someone new to your project will use.

Can hyperion extender be used with alexa..??

Hello @SciLor,

I need some assistance with the project i was thinking to use hyperion extender with alexa so that it can control each standalone device with alexa.I researched about esp with alexa integration and found an project espalexa developed by @aircookie can espalexa be clubbed with the hyperion extender code.

Any help would be appreciated..:)

Thanks,

Readme

Die Versionen von ArduinoThread und ArduinoJson sind vertauscht

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.