McLighting (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 among other things a 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, ...).
The project is based on the ESP8266 and WD2811/WS2812 LED strips. There are many variations of the ESP chip out there, but for beginners we suggest a NodeMCU dev board, as these are as "plug 'n' play"as it can get. A standalone ESP8266 or an Adafruit Huzzah should work too.
The RGB LED strips are also available in many different flavours (as strips or as standalone LEDs) and can easily be chained.
For a detailed explanation see our wiki: Hardware
You can read how to get started on the software side of this project again in out wiki: Software installation
This project uses libraries and code by different authors:
esp8266 tested with version 2.7.4
WiFiManager by tzapu (tested with version 0.15.0)
WS2812FX by kitesurfer1404 (tested with version 1.3.1) included in code.
WebSockets by Links2004 (tested with version 2.3.0)
Adafruit NeoPixel by adafruit (tested with 1.7.0)
Optional: PubSubClient by knolleary (tested with 2.8.0) Only when you have activated MQTT in definitions.h.
Optional: Brzo I2C by pazko-zh (tested with 1.3.3) Only when you have activated GY33 in definitions.h.
Optional: FastLed by FastLED (tested with 3.3.3) Only when you have activated custom animations in definitions.h.
The sketch also uses the following built-in library:
Parts of the code were taken or inspired by the following sources:
TV simulator logic inspired by BulldogLowell
SPIFFS Webserver by Hristo Gochkov
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.
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.