Code Monkey home page Code Monkey logo

espixelboard's People

Contributors

asavartsov avatar cinoan avatar forkineye avatar gitter-badger avatar graysonlough avatar labrat3k avatar madsci1016 avatar materdaddy avatar moonbase59 avatar penfold42 avatar xfablex avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

espixelboard's Issues

ESPixelStick, ESP8266 (NodeMCU) and Hyperion (Kodi)?

I am looking to have my Kodi/SPMC setup on my Nvidia Shield control LEDs connected to an ESP8266. I currently use a Raspberry Pi (running Hyperion) & arduino nano elsewhere in the house.

After hours of searching for a clear answer on the hyperion forums I ended up flashing the ESPixelStick firmware to my NodeMCU and I have connected 300 WS2812b LEDS to it. I can access the webserver on the NodeMCUand run the "Testing" colours through my LED strip but how do I get Kodi to control the LEDs? I have read that this firmware allows UDP control but I have not seen any instructions how to get the control up and running.

Any help would be greatly appreciated!

Add Simple LED strip Control?

I was wondering if there was an "easy" way to add support for a new type of LEDs. I made a short video of the LED string and it's different lighting effects. I made some notes in the video description of how this strip is working.

It seems relatively easy to make these effects (or others) with code and directly connecting the LED string to an ESP8266 running the ESPixel firmware. I'd like to integrate these into my Xlights show. I just don't know how to take e1.31 and convert that to something that could drive the LEDs. Driving the LEDs is just simple PWM and switching the polarity using an H-Bridge. I know that this strip can't perform most of the effects but it would be nice to just include them with the other lights and have them do something.

PWM todo

Implement global enable
Hide webUI if PWM not compiled in
Implement gamma in webUI
warn about some GPIOs conflicting

  • serial
  • pixel
  • some modules tie gpios hard
    PWM frequency option
    Separate gamma table for shared conditional use

Q: Will this run on a H801?

I got a few cheap ESP8266-based H801 RGB2W light controllers (https://www.aliexpress.com/item/rgbww-strip-WiFi-controller-1-port-control-200-lights-communicate-with-Android-phone-via-WLAN-to/32301423622.html) for my "dumb" RGB LED strips and was wondering if I could use these with both MQTT and DMX (E1.31).

For some reason, PWM support seems to have been in forkineye’s ESPixelStick but is now gone.

Questions:

  1. Would your code run on a H801 device?
  2. Would you find the heart to merge forkineye’s latest master branch into yours (after the weekend, because I made a PR with some changes)?

N.B.: The H801 uses the following pin layout (Arduino numbering):

  • red: 12

  • green: 13

  • blue: 15

  • white 1: 14

  • white 2: 4

  • onboard LED D1: 5

  • onboard LED D2: 1

  • TX GPIO2

  • RX GPIO3

GPIO PWM todo

DONE
Use pwm_valid_gpio_mask
Refactor to support websocket
Dynamic HTML for GPIO table
User configurable descriptions
Drop down for output type - normal, inverted, digital, I+D

TODO
expand pwm GUI for GPIO
Drop downs for mode - disabled, dmx, input, output, high, low
Configurable toggle speed

master is not compiling

The master branch is not compiling, raising error 'RotaryEncoder.h: No such file or directory' in button.cpp.
Are you missing the inclusion of this lib in documentation (readme.md).

Tried to add https://github.com/mathertel/RotaryEncoder but then getting other errors:

Arduino: 1.8.7 (Mac OS X), Board: "WeMos D1 R1, 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

In file included from /Users/priyank/myWorkSpace/ChristmasLights/penfold42/ESPixelStick/ESPixelStick.ino:45:0:
sketch/wshandler.h: In function 'void procX(uint8_t*, AsyncWebSocketClient*)':
wshandler.h:134:45: error: 'struct e131_stats_t' has no member named 'last_seen'
e131J["last_seen"] = e131.stats.last_seen ? (String) (millis() - e131.stats.last_seen) : "never";
^
wshandler.h:134:89: error: 'struct e131_stats_t' has no member named 'last_seen'
e131J["last_seen"] = e131.stats.last_seen ? (String) (millis() - e131.stats.last_seen) : "never";
^
exit status 1
'struct e131_stats_t' has no member named 'last_seen'

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Error Compiling in "Serial Mode"

Hi,
sorry I'm new to Arduino and programming. Compiliong the sketch in "Pixel mode" everything goes fine but when compiling in "Serial mode" I've got this:

Arduino:1.8.8 (Windows Store 1.8.19.0) (Windows 10), Scheda:"LOLIN(WEMOS) D1 R2 & mini, 160 MHz, Flash, Disabled, 4M (3M SPIFFS), v2 Lower Memory, Disabled, None, All Flash Contents, 115200"

In file included from C:\Users\Ufficio\Desktop\Nuova cartella\Nuovo_da_zero\ESPixelBoard-master\ESPixelStick\ESPixelStick.ino:37:0:

C:\Users\Ufficio\AppData\Local\Temp\arduino_build_689225\sketch\wshandler.h: In function 'void procG(uint8_t*, AsyncWebSocketClient*)':

wshandler.h:278:27: error: 'GAMMA_TABLE' was not declared in this scope

             gamma.add(GAMMA_TABLE[i] >> 8);

                       ^

Uso la libreria ESPAsyncE131-master alla versione 1.0.1 nella cartella: E:\Privato\Documenti\Arduino\libraries\ESPAsyncE131-master
Uso la libreria ESPAsyncUDP-master alla versione 1.0.0 nella cartella: E:\Privato\Documenti\Arduino\libraries\ESPAsyncUDP-master
Uso la libreria ESP8266WiFi alla versione 1.0 nella cartella: E:\Privato\Documenti\ArduinoData\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi
Uso la libreria Hash alla versione 1.0 nella cartella: E:\Privato\Documenti\ArduinoData\packages\esp8266\hardware\esp8266\2.5.0\libraries\Hash
Uso la libreria SPI alla versione 1.0 nella cartella: E:\Privato\Documenti\ArduinoData\packages\esp8266\hardware\esp8266\2.5.0\libraries\SPI
Uso la libreria Ticker alla versione 1.0 nella cartella: E:\Privato\Documenti\ArduinoData\packages\esp8266\hardware\esp8266\2.5.0\libraries\Ticker
Uso la libreria async-mqtt-client-master alla versione 0.8.2 nella cartella: E:\Privato\Documenti\Arduino\libraries\async-mqtt-client-master
Uso la libreria ESPAsyncTCP-master alla versione 1.2.0 nella cartella: E:\Privato\Documenti\Arduino\libraries\ESPAsyncTCP-master
Uso la libreria ESP8266mDNS alla versione 1.2 nella cartella: E:\Privato\Documenti\ArduinoData\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266mDNS
Uso la libreria ESPAsyncWebServer-master alla versione 1.2.0 nella cartella: E:\Privato\Documenti\Arduino\libraries\ESPAsyncWebServer-master
Uso la libreria ArduinoJson alla versione 5.13.5 nella cartella: E:\Privato\Documenti\Arduino\libraries\ArduinoJson
Uso la libreria RotaryEncoder-master alla versione 1.1.0 nella cartella: E:\Privato\Documenti\Arduino\libraries\RotaryEncoder-master
exit status 1
'GAMMA_TABLE' was not declared in this scope

Any idea?

ESPixelBoard on Tuya devices?

Hi, I was hunting for a way to use cheap chinese plugs that use Tuya cloud stuff with DMX. Has anybody else requested that? The devices use an ESP8266 chip, and there's a tool called Tuya-Convert which is (usually?) able to flash them over the air. Making one of these into ESPixelBoard relays would be awesome.

Disable Effect also starts with DataSource Web.

Select some Effect, Check Enable Startup effect, save, Select Effect = Disable save.

When restarted, the ESP starts with DataSource Web, it should be E131. The better option is to uncheck and disable "Enable startup effect' checkbox on Effect = 'Disable'

Document additional features in espixelboard

This fork includes support for many things that espixelstick can’t or won’t support.
Already done but not documented:

  • PWM support on gpios including inverted logic and digital output for relays
  • Gpio twiddling via http get and websocket
  • Rotary encoder support for manual on device control of RGB and HSV
  • 16 bit gamma tables (only useful for pwm)
  • UDP raw packet protocol (with stats on main page and config - enable, port number)
  • Config backup and restore
  • old style MQTT (as well as the newer json based MQTT)
  • reworked admin page
  • effectengine can send led data to other sticks

DONE and merged upstream:

  • live updates to gamma changes
  • Auto enable effect after n seconds of no data
  • Separated stream view in web UI

TODO

  • basic source IP based ACLs
  • integrate rotary encoder and effect engine
  • oled display support ?
  • GPIO reading in WebUI and PWM config

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.