Handbuch

Einrichtung

Als Erstes lädst du unseren Sourcecode von Github herunter. Da die Uhr eine konstante Internetanbindung erfordert, um die aktuelle Zeit abzufragen und eure MQTT Befehle entgegenzunehmen, muss im Sketch “Wifi.ino” eure WLAN-SSID und das dazugehörige Passwort eingetragen werden.
In der Datei “MQTT.ino” können, für den Fall, dass ihr mehrere Uhren besitzt, den einzelnen Uhren IDs vergeben werden, die in allen MQTT-Topics enthalten ist.
Auch der MQTT-Server, -Port und die -Zugangsdaten müssen hier eingegeben werden.
Damit der Sketch kompiliert ist noch die Veränderung von ein paar Compiler-Einstellungen nach der Bosch BSEC Dokumentation nötig.
Jetzt ladet ihr den Sketch nur noch auf den ESP8266. Dafür muss man gegebenenfalls noch einen Boardverwalter für den ESP8266 in der Arduino IDE installieren und dann “LOLIN(WEMOS) D1 R2 & mini” als Board auswählen.

Benutzung

Während die Uhr sich mit dem WiFi und MQTT wandert auf dem inneren Ring eine rote LED im Kreis. Danach wird die Uhrzeit angezeigt. Dabei steht die weiße LED für die Stunde und die rote LED zeigt die Minuten an.
Die Uhr besitzt zwei Möglichkeiten zum Starten und Stoppen von Pomodoro-Timern: Einen Knopf auf der Oberseite und eine MQTT-Topic. Während der Arbeitszeit nimmt der Ring weiß leuchtend ab und während der Pause schließt sich der Ring in grün.
Außerdem werden die von den Sensoren ausgelesenen Werte farblich im inneren LED Ring dargestellt und per MQTT veröffentlicht. Die Farbe gibt dabei intuitiv Aufschluss über die Werte, so ist eine zu hohe Temperatur rot und zu kalt blau. Bei der Luftfeuchtigkeit ist es genau andersrum, da Feuchtigkeit mit blau assoziiert wird und Trockenheit mit rot. Für die Luftqualität gleicht die Anzeige einer Ampel. In jedes MQTT-Topic muss die, während der Einrichtung definierte, ID eingesetzt werden.

MQTT-Topics

  • Sensoren (Uhr veröffentlicht)
    • “cloc-[id]/sens/lux” Helligkeit in Lux
    • “cloc-[id]/sens/temp” Temperatur in °C
    • “cloc-[id]/sens/hum” Luftfeuchtigkeit in %
    • “cloc-[id]/sens/co2” CO2 Äquivalent in ppm
  • Timer
    • “cloc-[id]/timer” (Uhr empfängt “ON” oder “OFF”) Starten/Stoppen des Timers
    • “cloc-[id]/timer/status” (Uhr veröffentlicht “ON” oder “OFF”) Status des Timers
    • Counter
      • “cloc-[id]/timer/counter/sinceBoot” (Uhr veröffentlicht) Anzahl der abgeschlossenen Timer (inklusive Pause) seit des letzten Boots
      • “cloc-[id]/timer/counter/inRow” (Uhr veröffentlicht) Anzahl der abgeschlossenen Timer (inklusive Pause) in Folge. Wird zurückgesetzt sobald ein Timer gestartet wird, nachdem vorher keiner lief.
    • Dauer
      • “cloc-[id]/timer/duration/work” (Uhr empfängt) Länge des Arbeitstimers in Minuten (>0)
      • “cloc-[id]/timer/duration/work/status” (Uhr veröffentlicht) Länge des Arbeitstimers in Minuten (>0)
      • “cloc-[id]/timer/duration/break” (Uhr empfängt) Länge des Pausetimers in Minuten (>0)
      • “cloc-[id]/timer/duration/break/status” (Uhr veröffentlicht) Länge des Pausetimers in Minuten (>0)
  • Licht
    • “cloc-[id]/light” (Uhr empfängt “ON” oder “OFF”) An-/Ausschalten der LED Ringe
    • “cloc-[id]/light/status“(Uhr veröfffentlicht “ON” oder “OFF) Status der LED Ringe
    • “cloc-[id]/light/brightness” (Uhr empfängt) Steuert die Helligkeit der LED Ringe in % (>0) oder “A” für automatisch
    • “cloc-[id]/light/brightness/status” (Uhr veröffentlicht) Status der Helligkeit in % (>0) oder “A” für automatisch
Unser offizieller Trailer zu unserem Produkt mit Inbetriebnahme

Known Issues & Limitations

  • Die Farbdarstellung für Weiß hat einen violetten Stich.
  • Durch die Verwendung des I2C Protokolls zur Kommunikation mit den Sensoren entstehen Unterbrechungen im Programmablauf, die das Timing der FastLED Bibliothek beeinträchtigen. Dadurch blitzen gelegentlich die LEDs neben den eigentlich leuchtenden LEDs grünlich.
  • Das beworbene Mikrofon wurde leider aus zeitlichen Gründen bisher nicht implementiert, weder Hardware- noch Softwareseitig.