Code Monkey home page Code Monkey logo

mclighting's Introduction

McLighting v2 - The ESP8266 based multi-client lighting gadget

Gitter Build Status License: MIT version

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, ...).


Hello, folks,
the McLighting project is currently paused. Unfortunately, for personal reasons, I don't have enough time to support it in the usual way. However, the project is still available and I will help if I can find the time. Meanwhile there is also a large community of users who are happy to help you with any problems, thanks for your effort at this point.
But there won't be any major enhancements at the moment. If you're looking for more features, please have a look at the great fork https://github.com/FabLab-Luenen/McLighting which offers support for RGBW LEDs and an extended UI.
Please also have a look at the great WLED project, if you want to have the latest and greatest features and interfaces for blinking LEDs you want to have today.
If there is anyone of you who would like to help continue the project. Just get in touch with me.


Demo video WebClient

Demo video Apple Homekit integration


The Hardware

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

Software installation

You can read how to get started on the software side of this project again in out wiki: Software installation


Used Libraries

This project uses libraries and code by different authors:

  • WiFiManager by tzapu (tested with version 0.12.0)

  • WS2812FX by kitesurfer1404 (tested with version downloaded 2017-02-05)

  • WebSockets by Links2004 (tested with version 2.0.6)

  • Adafruit NeoPixel by adafruit (tested with 1.1.2)

  • Optional: PubSubClient by knolleary (tested with 2.6.0) Only when you have activated MQTT in definitions.h.

The sketch also uses the following built-in library:

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

  • Support multiple strips and control them separately or together Issue
  • Remove old / wrong EEPROM settings completely [Issue]
  • Customer profile to define segments of (in)active areas on the strip Issue
  • Additional clients
  • If no wifi, at least enable button mode.
  • Also enable McLighting in Wifi AP mode.
  • Multiple buttons/GPIO Inputs. Issue
  • IR remote support issue
  • Make number of pixels, MQTT and PIN configurable via front end Issue and Issue
  • Make switching between methods: Adafruit NeoPixel, NeoPixelBus's DMA, NeoPixelBus's UART1 and NeoPixelBus's UART2 via REST API
  • Add Espalexa library support Issue
  • Make number of pixels, RGB Order and PIN configurable via REST API
  • Bundle webpages instead of SPIFFS Issue
  • Music visualizer / Bring back ArtNet Issue
  • Display version and parameters (Number of LEDs, definition settings, ..) in the web UI Issue
  • MQTT support
  • Save favourite effects? Issue(toblum#101)
  • OTA update Issue
  • Fix issue with websockets connection problems
  • Switch to the NeoPixelBus library
  • Use the led strip for status information in connection phase
  • Enhance the documentation
  • Stability improvements
  • RGBW mode Issue
  • Add called command to response Issue
  • Button control Issue
  • Retain last state Issue
  • Make a set of NodeRed nodes.

Licence

MIT

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.

mclighting's People

Contributors

debsahu avatar toblum avatar metahertz avatar dale3h avatar dermalikmann avatar techonlygamer avatar ghwc2015 avatar aidbish avatar zewelor avatar ryancasler avatar r3ddi avatar carstenpi avatar szepnorbee avatar maditnerd avatar rschaten avatar codmpm avatar mordyovits avatar moose4lord avatar

Watchers

James Cloos avatar

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.