very low cost Wallclock based on ESP01 and WS2812B Leds
- get current time from NTP (instead of buying a RTC-Modul)
- use free pixels as Color light (MQTT /Clock/colorRGB/set)
- use Alarm-time (MQTT /Clock/alarm/set)
- Animation-Alarm (MQTT /Clock/effect/set)
you will need an MQTT Broker (I tested with Mosquitto)
Topics are:
- /Uhr/colorRGB/set Use the free frame pixel as Color Light
- /Uhr/effect/set 0..3 will imediatly start Animation
- /Uhr/timer/set Coutdown in seconds for next Timer/Alarm
- /Uhr/alarm/set ISO8601 for next Timer/Alarm
- /Uhr/TimerLimit/set seconds before event the timer is shown
- /Uhr/Rotation/set pixel to rotate the dial to be upright (I found it to be more convinient in the MQTT section than hardcoded.
- /Uhr/Csecond/set RGB of the second hand
- /Uhr/Cminute/set RGB of the minute hand
- /Uhr/Chour/set RGB if the hour hand
- /Uhr/Csegment5/set RGB of the 5-minutes marks (5, 10, 20, 25, 35, 40, 50, 55)
- /Uhr/Csegment15/set RGB of the 15-minutes marks (0, 15, 30, 45)
- /Uhr/Ctimer/set RGB of the timer shown
- /Uhr/NextAnimation/set 1..3 selects the next Timer/Alarm animaion
- /Uhr/AniTime/set time the timer/Alarm animation is shown in seconds
in addition to the WS2812B strip:
when I created this Project it was nessesary to build your own PCB but now you can buy one, that is ready to go (most come with a ESP01 included)
I will keep everything here in case someone wants to solder it himself
- FS / SPIFFS
- WiFiManager
- WiFi / WiFiUDP
- TimeLib (Time)
- ArduinoJson (v6.x)
- NeoPixelBus
- NeoPixelAnimator
- PubSubClient
| Bibliothek |
SPIFFS (File System) |
| Benötigt für: |
Speichern von Konfigurationsdateien und Daten auf dem ESP8266. |
| Installieren: |
Für ESP8266: FS ist standardmäßig enthalten, SPIFFS ebenfalls. |
|
Für ESP32: SPIFFS über Bibliotheksmanager installieren. |
| Bibliothek |
WiFiManager |
| Autor: |
tzapu |
| Benötigt für: |
WLAN-Konfiguration über Captive Portal (falls kein festes WLAN in Code). |
| Arduino IDE Installation: |
|
| Menü: |
Sketch → Bibliothek einbinden → Bibliotheken verwalten → Suche: WiFiManager → Installieren |
| GitHub: |
https://github.com/tzapu/WiFiManager |
| Bibliothek: |
WiFi (inkl. WiFiUDP) |
| Benötigt für: |
WLAN-Verbindung und NTP (UDP) Kommunikation. |
| Hinweis: |
Für ESP8266 ist standardmäßig enthalten. |
|
Für ESP32: WiFi über Bibliotheksmanager. |
| Bibliothek: |
Time (TimeLib) |
| Autor: |
Michael Margolis |
| Benötigt für: |
Zeitfunktionen wie now(), hour(), minute(), etc. |
| Arduino IDE Installation: |
Bibliotheksmanager → Suche: TimeLib → Installieren |
| GitHub: https://github.com/PaulStoffregen/Time |
|
| Bibliothek: |
ArduinoJson |
| Autor: |
Benoit Blanchon |
| Benötigt für: |
JSON-Parsing für MQTT Konfigurationen. |
| Hinweis: |
Version 6.x empfohlen |
| Arduino IDE Installation: |
Bibliotheksmanager → Suche: ArduinoJson → Installieren |
| GitHub: |
https://github.com/bblanchon/ArduinoJson |
| Bibliothek: |
NeoPixelBus |
| Autor: |
Makuna |
| Benötigt für: |
Steuerung der WS2812B LEDs |
| Arduino IDE Installation: |
Bibliotheksmanager → Suche: NeoPixelBus → Installieren |
| GitHub: |
https://github.com/Makuna/NeoPixelBus |
| Bibliothek: |
NeoPixelAnimator |
| Benötigt für: |
Animationen / Fade / Blending der LEDs |
| Hinweis: |
Wird in der Regel automatisch mit NeoPixelBus mitinstalliert, sonst separat installieren |
| Arduino IDE Installation: |
Bibliotheksmanager → Suche: NeoPixelAnimator → Installieren |
| Bibliothek: |
PubSubClient |
| Autor: |
Nick O'Leary |
| Benötigt für: |
MQTT-Kommunikation |
| Arduino IDE Installation: |
Bibliotheksmanager → Suche: PubSubClient → Installieren |
| GitHub: |
https://github.com/knolleary/pubsubclient |