Skip to content

Commit 17403d7

Browse files
authored
Merge pull request #21 from seanlano/add_arduino_projects
Add Arduino projects to GitHub and convert them to PlatformIO projects. Also, add significant detail to the WiLEDProto implementation.
2 parents 42a09dc + 77923a4 commit 17403d7

25 files changed

+1066
-59
lines changed

.gitignore

+8
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,11 @@
2727
*.exe
2828
*.out
2929
*.app
30+
31+
# PlatformIO things
32+
.pioenvs
33+
.piolibdeps
34+
.clang_complete
35+
.gcc-flags.json
36+
.travis.yml
37+
libraries/readme.txt

README.md

+13-6
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,41 @@
11
# WiLED
2-
Arduino and ESP8266 powered controller for a dimmable LED, controlled over Wi-Fi using MQTT.
32

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.
510

611
## Installation and usage
712

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.
914

1015
*TODO*
1116

1217
## Roadmap
1318

1419
The overall goal for WiLED is to provide a flexible system for lighting control, powered by MQTT.
1520

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.
1722

1823
### Goals
1924
- Extensible and open system
2025
- MQTT interface for integration with other systems
2126
- Open source schematics and software
2227
- Ability to control multiple light outputs with a single switch or dial, through groups
2328
- 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
2631
- Bindings for OpenHAB
2732

2833
## Contributors and thanks
2934

3035
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.
3136

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+
3239
## License
3340

3441
This project is released under the terms of the GNU GPL version 3 (or later). Please see [LICENSE](LICENSE) for details.

docs/WiLEDProto.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ Several Message Type specifications are defined, using an 8 bit number. The Mess
5757

5858
The following list details the hexadecimal code and corresponding message type, and then the value that each byte in the payload will contain:
5959

60-
- **0x00: Beacon**.
60+
- **0x01: Beacon**.
6161
- Broadcast
6262
- _4 bytes_
6363
- `1-4: Device milliseconds uptime (32 bit integer)`
64-
- **0x01: Device Status**.
64+
- **0x02: Device Status**.
6565
- Broadcast
6666
- _5 bytes_
6767
- `1: Output Level`
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

libraries/WiLEDProto.cpp

-23
This file was deleted.

libraries/WiLEDProto.h

-28
This file was deleted.

0 commit comments

Comments
 (0)