2016-05-09 18:03:39 +02:00
# McLighting - The ESP8266 based multi-client lighting gadget
> 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, ...).
2016-05-21 21:42:57 +02:00
[![Demo video WebClient ](https://j.gifs.com/kRPrzN.gif )](https://youtu.be/rc6QVHKAXBs)
2016-05-22 00:47:19 +02:00
[![Demo video Apple Homekit integration ](https://j.gifs.com/gJP2o6.gif )](https://youtu.be/4JnGXZaPnrw)
2016-05-09 18:03:39 +02:00
## The Hardware
2016-05-21 22:15:34 +02:00
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.
2016-05-12 23:05:38 +02:00
2016-05-21 22:15:34 +02:00
The RGB LED strips are also available in many different flavours as strip or as standalone LEDs and can easily be chained.
2016-05-12 23:05:38 +02:00
2016-05-21 22:15:34 +02:00
See wiki [Hardware ](wiki/Hardware )
2016-05-12 23:05:38 +02:00
2016-05-21 22:15:34 +02:00
## Software installation
See wiki [Software installation ](wiki/Software-installation )
2016-05-12 23:05:38 +02:00
### Used Libraries
2016-05-21 22:15:34 +02:00
This project uses libraries and code by different authors:
2016-05-12 23:05:38 +02:00
- WiFiManager by @tzapu (tested with version 0.11.0)
https://github.com/tzapu/WiFiManager
- WebSockets by @Links2004 (tested with version 2.0.2)
https://github.com/Links2004/arduinoWebSockets
- Adafruit NeoPixel by @adafruit (tested with 1.0.5)
https://github.com/adafruit/Adafruit_NeoPixel
The sketch also uses the following built-in library:
- Ticker by @igrr
Parts of the code were taken or inspired by the following sources:
- HSB3RGB conversion
https://blog.adafruit.com/2012/03/14/constant-brightness-hsb-to-rgb-algorithm/
- TV simulator logic inspired by @BulldogLowell
https://github.com/BulldogLowell/PhoneyTV
- SPIFS Webserver by Hristo Gochkov
https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer/examples/FSBrowser
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.
2016-05-10 08:42:50 +02:00
## Todos
- [x] Fix issue with websockets connection problems
2016-05-21 22:15:34 +02:00
- [ ] Add support for 433MHz wireless socket using the [RC switch ](https://github.com/sui77/rc-switch ) library.
2016-05-10 08:54:02 +02:00
- [ ] Switch to the [NeoPixelBus library ](https://github.com/Makuna/NeoPixelBus/wiki )
2016-05-10 08:42:50 +02:00
- [ ] Use the led strip for status information in connection phase
- [ ] Enhance the documentation
- [ ] Stability improvements
- [ ] Additional clients
2016-05-09 18:03:39 +02:00
## Licence
2016-05-10 08:54:02 +02:00
[GNU LGPLv3 ](http://www.gnu.org/licenses/lgpl-3.0.txt )
2016-05-09 18:03:39 +02:00
2016-05-12 23:05:38 +02:00
*More information will be added as soon as I clean up the code and complete documentation.*