Skip to content

This is just version 0.9. One day a version 2 will come. Hopefully

Notifications You must be signed in to change notification settings

aetel/aetel-lights

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Light Control System

MQTT controled WS2812B leds

Done:

  • Any color can be set with the MQTT command: SetColor. Load consists of 7bytes, 1 byte for each color, 2 bytes for setting the starting point, and 2 bytes for setting the ending point. Should look like this: RGBSsFf (RED, GREEN, BLUE, high side of Starting position int, low side of Starting position int, High side of Ending position int, low side of Ending position int)
  • SetColor commands lets you concatenate loads, like this: RGBSsFfRGBSsFfRGBSsFf (3 colors in one load, each with its starting poing and ending point)
  • An array of different colors can be sent with the MQTT command: rawSetcolor This command lets you send a load that consists of 2 bytes setting the starting point (As shown before in SetColor) then setting the final point, and then sending 3 bytes of color, per pixel.
  • Diferent animations are per default supported. Yet, there are still more to come. Sending the MQTT command animacion and as load the number of animation, triggers the said animation.
  • The MQTT command Fuente, sets the GPIO pin 16 (D0, in Wemos R1 mini), high or low. This is the only command that is trigered by the ASCII byte code for "1". The only reason for this is back-compability
  • MQTT commands can be mixed together to form new animations, like rawSetColor with animation 255 (moves all the pixels in the right direction)
  • OTA capabilities are included, but they are still being tested and debuged. A precompiled file can be uploaded to an existing server, and the esp8266 can upgrade itself.

To do:

  • More animations
  • At some point, Music analisis will be added, so it can follow the rythm of the music
  • Some Methods might be remade again, to use less global variables. Also there are some bugs with the circular buffer
  • Someday, I hope I take this proyect apart and clean the code a bit. Like, making an unique Struct for all animations, hold keys and other data in the EEPROM, making it object based arquitecture (Diferent LED Strips can be controlled in the same network.

Avaliable Commands

Command Funtion Load
SetColor Sets color RGBSsFf
animation starts animation load: 1 Byte with the animation code
rawSetColor sets an array of diferent colors SsFf(RGB)1(RGB)2(RGB)3...
ActualizacionServidor Searches for the last compiled file First byte is the Object definition, second and third bytes are the version
Actualizacion Starts Arduino OTA

About

This is just version 0.9. One day a version 2 will come. Hopefully

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages