Skip to content

Commit

Permalink
V2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
provalinf committed Feb 28, 2021
1 parent 3635a79 commit 831e5f3
Show file tree
Hide file tree
Showing 293 changed files with 46,289 additions and 2,721 deletions.
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions .idea/.name

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions .idea/HyperionRGB.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions .idea/deployment.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 0 additions & 11 deletions .vscode/settings.json

This file was deleted.

33 changes: 33 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# !!! WARNING !!! AUTO-GENERATED FILE, PLEASE DO NOT MODIFY IT AND USE
# https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
#
# If you need to override existing CMake configuration or add extra,
# please create `CMakeListsUser.txt` in the root of project.
# The `CMakeListsUser.txt` will not be overwritten by PlatformIO.

cmake_minimum_required(VERSION 3.13)
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_C_COMPILER_WORKS 1)
set(CMAKE_CXX_COMPILER_WORKS 1)

project("Hyperion Test" C CXX)

include(CMakeListsPrivate.txt)

if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/CMakeListsUser.txt)
include(CMakeListsUser.txt)
endif()

add_custom_target(
Production ALL
COMMAND platformio -c clion run "$<$<NOT:$<CONFIG:All>>:-e${CMAKE_BUILD_TYPE}>"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)

add_custom_target(
Debug ALL
COMMAND platformio -c clion run --target debug "$<$<NOT:$<CONFIG:All>>:-e${CMAKE_BUILD_TYPE}>"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)

add_executable(Z_DUMMY_TARGET ${SRC_LIST})
547 changes: 547 additions & 0 deletions CMakeListsPrivate.txt

Large diffs are not rendered by default.

100 changes: 13 additions & 87 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,19 @@
# Modified version for ESP32 fixing some problems
I used PlatformIO extension for VScode.
# HyperionRGB
I used PlatformIO extension for Clion (& VScode).

* v2.0
- WifiManager support to choose wireless networks from web interface
- EEPROM modification
- Compatibility web interface with WifiManager
- Add more options on the web interface (Choose Led Chipset, Nb led, etc.)
- Reset EEPROM from static config
- ESP8266 : DATAPIN=D3, CLOCKPIN=D4
- ESP32 : DATAPIN=13, CLOCKPIN=14

* v1.0
- Unstable wireless connection (after several days)
- Added 3x flashing when the ESP is power on (useful when you have unsoldered the power led)

## Hyperion Installation

# Initial readme
## Hyperion LED Controller for ESP8266/ESP32

This code allows you to use a ESP8266/ESP32 with a fitting led strip as extension for [hyperion](https://github.com/hyperion-project) (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/

Tested with following following libraries (other versions may work):
## IDE
a) Arduino IDE 1.8.5

## Board Library
a) esp8266 2.4.1 http://arduino.esp8266.com/stable/package_esp8266com_index.json

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

## Libraries
a) ArduinoThread 2.1.1

b) ArduinoJSON 5.12.0

c) LinkedList 1.2.3

d) FastLED 3.1.6

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
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](https://github.com/FastLED/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

## Configuration of Hyperion
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
},
```

There's a detailed instruction page for [controlling multiple devices](https://hyperion-project.org/wiki/Controlling-Multiple-Devices).

If you like my work spread the word!
Donation: http://www.scilor.com/donate.html
French Tutorial: https://ambimod.jimdofree.com/mettre-en-place-une-installation-ambilight-hyperionng-hyperhdr-pc-µpc-et-divers-elements-lumineux-partie-1-4/
Loading

0 comments on commit 831e5f3

Please sign in to comment.