Skip to content
This repository has been archived by the owner on Apr 28, 2022. It is now read-only.

toblum/McLighting

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

McLighting - The ESP8266 based multi-client lighting gadget

Gitter

Mc Lighting (the multi-client lighting gadget) is a very cheap internet-controllable lighting solution based on the famous ESP8266 microcontroller and WS2811/2812 led strips. It features a self-hosted responsive web-interface, a REST-API and a websocket connector.

Because of it's open architecture and APIs it's easy to build new clients for different platforms (iOS, Android, Windows Universal Apps, Siri/Cortana integration, ...).


Update 04.01.2017: Now, there are two forks of McLighting (using the famous FastLED library). I did not notice it first, because I currently do not receive notification e-mails by Github (I have no idea why). Maybe you want to give them also a try, I will definitely do so as soon as I find time.
https://github.com/russp81/LEDLAMP_FASTLEDs
And this one was also forked: https://github.com/jake-b/Griswold-LED-Controller

Update 12.08.2016: There is now a gitter.im chat room for this project.

Update 11.06.2016:
Today I presented the project at Pi and More 9 and got some good feedback, even though my presentation was not perfect and time was too short to present everything I prepared. So I uploaded the slides (german) to this repository for your reference.


Demo video WebClient

Demo video Apple Homekit integration

The Hardware

The project ist based on the famous ESP8266 microcontroller and WD2811/WS2812 LED strips. There are many variations of the ESP chip out there, but I chose the NodeMCU dev board, because it's powered by micro USB and has a voltage converter included to power the ESP which uses 3.3V. A standalone ESP8266 or a Adafruit Huzzah should work too.

The RGB LED strips are also available in many different flavours as strip or as standalone LEDs and can easily be chained.

See wiki Hardware

Software installation

See wiki Software installation

Used Libraries

This project uses libraries and code by different authors:

The sketch also uses the following built-in library:

  • Ticker by @igrr

Parts of the code were taken or inspired by the following sources:

Thank you to all the authors for distributing their software that way. I hope I didn't miss any sources and mentioned every author. In case I forgot someone please let me know and I will fix it.

Todos

  • Fix issue with websockets connection problems
  • Add support for 433MHz wireless socket using the RC switch library.
  • Switch to the NeoPixelBus library
  • Use the led strip for status information in connection phase
  • Enhance the documentation
  • Stability improvements
  • Additional clients

Licence

GNU LGPLv3

Disclaimer

You use this project at your own risk. This is not a solution that should be used in productive environments, but this code and guide could give you a quick start for your own experiments. Please keep also in mind that there are currently some security features missing.

More information will be added as soon as I clean up the code and complete documentation.