Based upon doctormord's great mixture, this software is intended to act as a full-featured WiFi-LED-Strip-Controller for WS2812B-LEDs. I added some new effects to doctormord's work and integrated Aaron Liddiment's Matrix and Text-Libs to implement a nice, NTP-driven clock. As a prove of concept I finally build a decent RGB-LED-Lamp (milk glass / 11x8 LEDs) with it:
#define MAX_CURRENT
): Protects your power supply by cutting brightness if current draw exceeds configured value.#define FASTLED_ESP8266_DMA
. You must use pin 3 for your LED stripe!libraries
-folder in this repo to your arduino libraries-folder and make sure your have the other needed libraries added via your Arduino IDE as well.hardware.h
to your desire)./upload
(i.e. 192.168.1.20/upload
). Then upload the files from the folder labeled upload these to ESP8266
from this repo.location.txt
before you upload it. Or edit the file afterwards by typing the IP address of the ESP
followed by /edit
(i.e. 192.168.1.20/edit
) using the integrated ESP Editor (should be used with Google Chrome).After the first flash, you can update the firmware via OTA by typing the IP address of the ESP followed by /update
(i.e. 192.168.1.20/update
).
WiFi config, settings and uploaded files will stay untouched.
/upload
: Upload files to SPIFFS-filesystem (used to upload/update web ui)/update
: Upload new firmware here (web ui and settings will be kept). /edit
: Edit/upload files on the SPIFFS filesystem./graphs.htm
: Some statistic graphs of system ressources./restart
: Reboot the system (make sure to save changed settings before!)./reset_wlan
: Delete the wifi settings (system will come up with the default WiFi configuration ap to connect to)./set_brightness
: Set overall brightness. Possible parameters: Brightness in percent c=(0-100)
or absolute brightness p=(0-255)
./set_clock_brightness
: Set brightness of the clock. Possible parameters: Brightness in percent c=(0-100)
or absolute brightness p=(0-255)
./set_clock
: Show clock. Possible parameters: Turn on s=1
(clock runs immediately) or turn off s=0
./set_text
: Show text. Possible parameters: Turn on s=1
(text runs immediately) or turn off s=0
./set_text_brightness
: Set brightness of the scrolling text. Possible parameters: Brightness in percent c=(0-100)
or absolute brightness p=(0-255)
./update_text
: Updates custom scrolling text and display it once. Parameters: text=(Max. 255 chars of text)
and (optional) color=(0-6)
./get_brightness
: Returns the current overall brightness in percent./get_clock_brightness
: Returns the current brightness of the clock in percent./get_text_brightness
: Returns the current brightness of the scrolling text in percent./get_switch
: Returns 0
if current mode is OFF
, otherwise 1
./get_color
: Returns the current main color in HEX./status
: Returns JSON of current settings./restore_defaults
: Restores default effect settings./load_settings
: Load effect settings from memory./save_settings
: Save current effect settings to memory./off
: OFF (even glitter, clock and text are disabled)/all
: SOLID COLOR (set color via additional parameter: rgb=#COLORHEXVALUE
or r=0-255
, g=0-255
, b=0-255
)/rainbow
: RAINBOW/confetti
: CONFETTI/sinelon
: SINELON/juggle
: JUGGLE/bpm
: BPM/ripple
: RIPPLE/comet
: COMET/wipe
: WIPE/tv
: TV/fire
: FIRE/frainbow
: FIRE RAINBOW/fworks
: FIREWORKS/fwsingle
: FIREWORKS SINGLE/fwrainbow
: FIREWORKS RAINBOW/colorflow
: COLORFLOW/caleidoscope1
: CALEIDOSCOPE 1/caleidoscope2
: CALEIDOSCOPE 2/caleidoscope3
: CALEIDOSCOPE 3/caleidoscope4
: CALEIDOSCOPE 4/blank
: BLANK (same as OFF but with glitter, clock and text enabled)This project is released under the GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007.
Griswold is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.