|
1 | 1 | # WiLED
|
2 |
| -Arduino and ESP8266 powered controller for a dimmable LED, controlled over Wi-Fi using MQTT. |
3 | 2 |
|
4 |
| -This is the Arduino code. |
| 3 | +WiLED is a project that aims to create a simple but highly effective control system for home (and commercial) lighting applications. |
| 4 | + |
| 5 | +The main targets are initially stand-alone lamps, i.e. those that connect to a general purpose power outlet. Future goals also include embedded fixed lighting. |
| 6 | + |
| 7 | +The target hardware is (Arduino-powered) ESP8266 modules for the end devices, and a Feather M0 coupled to a Raspberry Pi Zero W for the coordinator. |
| 8 | + |
| 9 | +This repository provides the code for WiLED. See the [WiLED-PCB](https://github.com/seanlano/WiLED-pcb) repository for the circuit schematics. |
5 | 10 |
|
6 | 11 | ## Installation and usage
|
7 | 12 |
|
8 |
| -The code is written for an ATmega328 based Arduino, running at a base clock of 8 MHz - i.e. the 3.3 V versions of the [Arduino Pro Mini](https://www.arduino.cc/en/Main/ArduinoBoardProMini) and similar. It should also work on the 5 V / 16 MHz versions, although level shifting will then be needed on the serial interface with the ESP8266. |
| 13 | +The code is written for Arduino-powered devices - at the moment, the ESP8266 and the Feather M0. |
9 | 14 |
|
10 | 15 | *TODO*
|
11 | 16 |
|
12 | 17 | ## Roadmap
|
13 | 18 |
|
14 | 19 | The overall goal for WiLED is to provide a flexible system for lighting control, powered by MQTT.
|
15 | 20 |
|
16 |
| -The current development progress has an ESP8266 for Wi-Fi networking to support MQTT, but in the future this may use something like an XBee radio with MQTT-SN. |
| 21 | +The current system plan is to use an RFM-69 radio to connect the lighting devices together, and then have a coordinator that interfaces the radio link to an MQTT broker. |
17 | 22 |
|
18 | 23 | ### Goals
|
19 | 24 | - Extensible and open system
|
20 | 25 | - MQTT interface for integration with other systems
|
21 | 26 | - Open source schematics and software
|
22 | 27 | - Ability to control multiple light outputs with a single switch or dial, through groups
|
23 | 28 | - Separation of lighting output device and control input device, to allow for flexible reconfiguration
|
24 |
| - - Option to have hardwired controller so lighting is usable even with failure in MQTT network |
25 |
| -- Tested performance metrics for switching latency |
| 29 | + - Option to have hardwired controller so lighting is usable even with failure in radio network |
| 30 | +- Tested performance metrics for switching latency tm |
26 | 31 | - Bindings for OpenHAB
|
27 | 32 |
|
28 | 33 | ## Contributors and thanks
|
29 | 34 |
|
30 | 35 | The Rotary library for Arduino, by Ben Buxton, has been used and the files `Rotary.h` and `Rotary.cpp` are included in this project. [See here for the original source](https://github.com/brianlow/Rotary). It is GPLv3 licensed.
|
31 | 36 |
|
| 37 | +Additionally, the wonderful RadioHead library from Mike McCauley and AirSpayce has been used via an inclusion through PlatformIO. [See here for the homepage](http://www.airspayce.com/mikem/arduino/RadioHead/index.html). It is GPLv2 licensed (not clear if this is GPLv2 _only_ or GPLv2+). |
| 38 | + |
32 | 39 | ## License
|
33 | 40 |
|
34 | 41 | This project is released under the terms of the GNU GPL version 3 (or later). Please see [LICENSE](LICENSE) for details.
|
0 commit comments