đź“— ESPuino im Regelbetrieb

Es ist alles eingerichtet und dein ESPuino läuft? Wunderbar! Hier ein paar Worte, damit du ihn besser verstehst. Hinweis: Die nachfolgende Beschreibung bezieht sich auf die Default-Einstellung, bei der drei Taster und ein Drehenoder verwendet werden. Verwendest du eine abweichende Konfiguration (z.B. mehr/weniger Taster, keinen Drehencoder, andere Aktionen), so passt die nachfolgende Anleitung für dich, mindestens teilweise, nicht.

  • Dass man den ESPuino ĂĽber den Drehencoder lauter und leiser machen kann und dabei vom Neopixel die Lautstärke relativ signalisiert wird, hast du bestimmt schon gesehen. Hinweis: Solltest du der Meinung sein, dass die Drehrichtung nicht passt (lauter und leiser vertauscht), so kannst du dies durch Vertauschen der Anschlussleitungen von DT und CLK am Drehencoder ändern. Man kann es alternativ auch in der Settings-Datei anpassen vor dem Kompilieren, indem man einfach die GPIO-Nummern tauscht. Kurzum: Entweder in Hardware oder in Software tauschen. Fertig.

  • Ist dein ESPuino nach dem Einschalten bereit, so signalisiert er dies durch vier LEDs, die langsam zirkulieren. Welche Farbe diese LEDs haben, hängt vom Betriebsmodus ab: đź“— Die Betriebsmodi des ESPuino.

  • Legst du eine RFID-Karte auf, die bereits einer Aktion zugewiesen ist, so zeigt dir der Neopixel durch schnelles Zirkulieren von LEDs, dass er beschäftigt ist. Hast du z.B. ein Verzeichnis mit 100 Titeln und willst diese abspielen, so wird nun eine Playlist mit 100 Titeln generiert. Kurz gesagt: Je länger diese Playlist ist, desto länger dauert es potentiell. Beschleunigen lässt sich das Ganze jedoch mittels Cached Playlist. Hinweis: Läuft bereits parallel Musik, so dauert die Generierung länger, da der ESP32 parallel noch mit Dekodieren von Audiodateien und SD-Handling beschäftigt ist. Kennt dein ESPuino die RFID-Karte nicht, so blinken kurz alle LEDs rot auf. NatĂĽrlich kann eine bereits angelernte Karte auch später umgelernt (ĂĽberschrieben) werden.

  • Die nachfolgenden Beschreibungen implizieren, dass das standardmäßige Buttonlayout verwendet wird (drei Tasten und Drehencoder - mit entsprechenden Default-Belegungen). Das du das Ganze umkonfiguriert, so passen die Beschreibungen möglicherweise nicht fĂĽr dich.

  • DrĂĽckt man die Tasten vor oder zurĂĽck fĂĽr einen kurzen Moment, so springt man einen Titel vor oder einen Titel zurĂĽck. ZurĂĽck fĂĽhrt im Zweifelsfalle dazu, dass der Titel von neuem anfängt. Will man einen Titel zurĂĽck springen, so muss man kurz hintereinander zweimal drĂĽcken. Dass man einen Titel vor oder zurĂĽck springen kann macht es natĂĽrlich notwendig, dass man in einem Verzeichnis-Playmodus ist und es mehrere Titel gibt. Ist das nicht der Fall, so wird nichts passieren und der Neopixel wird dies mit einer Fehlermeldung (alle LEDs kurz rot) visualisieren. Beispielsweise auch dann, wenn bereits der letzte Titel gespielt wird und man zum nächsten oder letzten Titel springen will.

  • DrĂĽckt man die Tasten vor oder zurĂĽck lange, so springt man in einem Verzeichnismodus zum ersten bzw. letzten Titel. Man so also z.B. problemlos von Titel 2 zur Titel 100 springen. Hinweis: Befindet man sich in einem Verzeichnismodus, in dem Titel zufällig abgespielt werden, so landet man durch die Navigation immer wieder bei den gleichen Titeln. Das heiĂźt: Die Playlist wird nur beim Erstellen gewĂĽrfelt und ist dann statisch. Möchte man sie ändern, so muss die aktuelle Karte nochmal aufgelegt werden, weil dann die Playlist neu „gewĂĽrfelt“ wird.

  • DrĂĽckt man die Pause/Play-Taste, so wechselt man von Play>Pause oder Play>Pause. Ăśbrigens: Im Modus Hörbuch wird bei dieser Aktion die aktuelle Position gespeichert. Dies gilt ĂĽbrigens auch fĂĽr die Tasten vor oder zurĂĽck.

  • Den ESPuino schaltet man ĂĽber einen kurzen Druck auf den Drehencoder an und ĂĽber einen langen Druck wieder aus. Beim Ausschalten mĂĽssen auf dem Neopixel alle LEDs mindestens einmal geleuchtet haben, dann kann man loslassen. DrĂĽckt man im einschalteten Zustand den Drehencoder nur kurz, so wird, sofern MEASURE_BATTERY_VOLTAGE einkompiliert wurde, die aktuelle Spannung angezeigt. Hinweis: Ăśber die WebGUI lassen sich hierbei Spannungsgrenzen festlegen. Also wenn man z.B. einen LiPo-Akku benutzt, dann macht es Sinn, dessen oberen Spannungslevel auf 4.2 V zu legen. Die untere Grenze wĂĽrde ich bei etwa 3.4 V definieren. D.h. liegt die Spannung des Akkus z.B. bei 3.8 V, so leuchtet die Hälfte der LEDs. Bitte beachten, dass der analoge Messeingang des ESP32 nicht super genau ist und es zu leichten Abweichungen kommen kann. In den Settings-Dateien lässt sich zur Not ein Offset einstellen, welches dann Sinn macht, wenn eine systematische Spannungsabweichung vorliegt, die man korrigieren möchte. Wichtig: Die Spannungsanzeige ist nur dann aussagekräftig, wenn dein ESPuino ausschlieĂźlich per Batterie versorgt wird.

  • Fällt die Batteriespannung unter einen gewissen Level, der ebenfalls ĂĽber die WebGUI einstellbar ist, so warnt der Neopixel in zyklischen Abständen. Hinweis: Ist die Spannung zu tief, kann es passieren, dass dein ESPuino plötzlich nicht mehr auf RFID-Karten reagiert oder von SD nicht mehr lesen kann. WICHTIG WICHTIG WICHTIG: Achte darauf, sofern ihr einen LiPo-Akku verwendet, einen solchen zu nehmen, der einen integrierte Tiefentladeschutz besitzt!!! Einen solchen NICHT zu haben, kann böse enden.

  • Den Titelfortschritt visualisiert der Neopixel mit der relativen Anzahl der LEDs in Regenbogenfarben. D.h. ist ein Titel zur Hälfte gespielt, so leuchtet die Hälfte der LEDs.

  • In einem Verzeichnismodus wird zusätzlich zwischen einzelnen Titeln auch noch ein Playlist-Fortschritt angezeigt (blaue LEDs, die sich dynamisch kurz nach dem Titelwechsel aufbauen und wieder einklappen). Leuchten also die Hälfte der LEDs zwischen zwei Titeln kurz blau, so ist die Playlist zur Hälfte bereits gespielt.

  • Im Modus Webradio ist ein Titelfortschritt schlecht darstellbar. Daher werden immer zwei zirkulierende LEDs angezeigt, die ihre Farbe anhand eines Regenbogen-Gradientes mit jeder Bewegung ändern. A propos Webradio: Solltest du Probleme mit Aussetzern haben, macht es ggf. Sinn, auf ein ESP32-Develboard mit einem ESP32-WROVER zu wechseln, da dieser PSRAM besitzt und dieser als Zwischenspeicher benutzt wird. Die meisten ESP32-Develboards verwenden den ESP32-WROOM, der diesen PSRAM nicht besitzt. Solltest du dich fĂĽr einen WROVER entscheiden so achte drauf, dass dieser möglichst 16 MB Flashspeicher besitzt

  • Zum initialen Einrichten des ESPuino ist WLAN notwendig. Man benötigt es auch zur Steuerung via MQTT, wenn man neue RFID-Zuweisungen machen will, Webradio hören möchte oder auch dann, wenn man Dateien per Webtransfer oder FTP auf die SD-Karte bringen möchte. Abseits dessen kann WLAN jedoch auch deaktiviert werden, was sich der ESPuino im Ăśbrigen auch ĂĽber den nächsten Bootvorgang hinweg merkt. Hierzu einfach kurz die Tasten zurĂĽck und vor parallel drĂĽcken. Läuft zu diesem Zeitpunkt ein Webstream, so wird dieser beendet.

  • Du kannst, abseits dessen, was ich hier im Tutorial beschreibe, den Tasten (oder Tastenkombinationen) auf deinem ESPuino auch andere Aktionen zuweisen. Lies dir dazu am besten das durch: đź“— Das dynamische Button-Layout.

  • Lernst du ĂĽber die WebGUI neue RFID-Karten an, so wird diese Zuweisung im NVS des ESP32 gespeichert. Parallel dazu wird eine Datei backup.txt im Hauptverzeichnis auf der SD-Karte abgelegt, die all diese Zuweisungen enthält. Geht der ESP32 kaputt, so ist dies dein Backup! Ein weiterer Vorteil ist: Kommt in deinem Haushalt noch ein weiterer ESPuino hinzu, so kannst du ĂĽber die WebGUI diese Datei dort importieren und musst nicht umständlich alle RFID-Karten auch dort wieder anlernen. Klar: Die Daten auf der SD-Karte mĂĽssen natĂĽrlich in beiden Geräten vorhanden sein. Weitere Infos gibt es hier: đź“— Die Backupfunktion des ESPuino.

  • Im Akkubetrieb habe ich im „normalen Betrieb“ einen Strom von etwa 180 mA bis 200 mA gemessen. Ich persönlich setze LiPo-Akkus mit 2500 mAh ein. D.h. bis zu zehn Stunden sind damit drin. Hinweis an dieser Stelle: LiPo-Akkus bedĂĽrfen sorgfältiger Behandlung und insbesondere ist ein Tiefentladeschutz notwendig, der im Akku integriert sein muss. FĂĽr etwaige Schäden wird keine Haftung von mir ĂĽbernommen!

Noch Fragen? Gerne! Aber bitte auch einen Blick in die FAQ werfen. Und in die Dokumenation der Betriebsmodi.

1 „Gefällt mir“