Skip to content

Neuroplant/LEDWallclock

Repository files navigation

LEDWallclock

very low cost Wallclock based on ESP01 and WS2812B Leds

Features:

  • 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)

MQTT

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

Parts:

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

Libraries

  • 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

About

very low cost Wallclock based on ESP01 and WS2812B Leds

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages