📗 Oft gestellte Fragen (FAQ)

Wo finden sich Impressum und DatenschutzerklÀrung?

Diese finden sich hier: Impressum & DatenschutzerklÀrung.

Gibt es ein spezielles Dokument fĂŒr Einsteiger?

Ja, schau am besten mal hier vorbei: 📗 Kleiner Leitfaden fĂŒr Einsteiger.

Wo ist der Quellcode von ESPuino zu finden?

In meinem Repository auf Github. Die Dokumentation dort ist Englisch.

Gibt es einen ESPuino fertig zu kaufen?

Nein. Es ist immer „Handarbeit“ notwendig - das gehört auch einfach zu ESPuino dazu. Aber es existieren eine Reihe von Platinen, die einem das Leben erheblich leichter machen: PCBs - ESPuino :: Rfid-controlled musicplayer. An dieser Stelle sei insbesondere Folgende erwĂ€hnt, da sie mit vergleichsweise wenig Aufwand viel kompakter Bauweise viel bietet: ESPuino-miniD32(pro): Lolin D32/D32 pro mit SD_MMC und Port-Expander (SMD). Letztgenannte kannst du in teilgelötet und komplett fertig gelötet von mir erhalten. Schau dich am besten auf der verlinkten Seite um, dort ist alles beschrieben.

Welches Betriebssystem benötigt der Computer?

GrundsĂ€tzlich benötigt man erstmal Visual Studio Code mit Platformio als Plugin oder auch 📗 Einrichtung von Visual Studio Code mit Platformio. Das gibt es fĂŒr Windows, Linux und Mac OS. Man benötigt jedoch auch git und python, was je nach System, zusĂ€tzlichen Installationsaufwand mit sich bringt.

Wie funktioniert der ESPuino generell? Wo ist das dokumentiert?

Allgemein: Anleitungen - ESPuino :: Rfid-controlled musicplayer
Im Speziellen: 📗 ESPuino im Regelbetrieb und 📗 Die Playmodi des ESPuino.

Was sind die Unterschiede zwischen ESPuino und Tonuino?

Dazu existiert hier ein lÀngerer Artikel.

Die Fehlermeldung „SD could not be mounted“ wird angezeigt. Was mache ich falsch?

Dies ist mit Abstand die meistgestellte Frage. Dies kann mehrere Ursachen haben.

  1. Oft liegt es daran, dass SD_MMC gewĂŒnscht ist, jedoch SPI einkompiliert wurde => Settings-Dateien erneut ĂŒberprĂŒfen!
  2. Sind alle AnschlĂŒsse vorhanden?
  3. Es wurden Jumperwires verwendet. Das ist grundsĂ€tzlich in Ordnung, aber dies kann durch mangelhafte Kontaktierung zu Problemen fĂŒhren. Auf jeden Fall sollte man schauen, dass die Jumperwires möglichst kurz sind. Besser ist es jedoch alles aufzlöten, um eine bessere Kontaktierung zu gewĂ€hrleisten.
  4. Wurde das Flag SD_MMC_1BIT_MODE aktiviert, so ist zu beachten, dass andere GPIOs (2, 14, 15) verwendet werden, die auch nicht Ànderbar/konfigurierbar sind.
  5. Ist der GPIO fĂŒr POWER richtig eingestellt? Muss ggf. INVERT_POWER gesetzt werden?

Es kommt keine Musik aus dem Lautsprecher

Kommt keine Musik aus den Lautsprechern und du hast keine Kopfhörerplatine angeschlossen? Vielleicht hilft das: Lolin32 mit SD (SD_MMC) und PN5180 als RFID-Leser - #10 von jpellenz

Ist es unbedingt notwendig Platformio anstelle der Arduino-IDE zu verwenden?

Theoretisch nicht, aber praktisch ist vermutlich einiges an Arbeit notwendig, damit das in der Arduino-IDE lĂ€uft. Habe ich noch nie getestet und wĂŒrde davon unbedingt abraten, zumal die Arduino-IDE auch reichlich wenig Komfort bietet. Es lohnt sich auf jeden Fall, sich in Visual Studio Code/Platformio einzuarbeiten. Weitere Infos:
📗 Einrichtung von Visual Studio Code mit Platformio.
📗 ESPuino in Platformio anlegen und mit git aktuell halten.

Ich kann den ESP32 nicht mehr flashen. Was kann ich tun?

Kann mitunter vorkommen - scheint es ESP32-Bug zu sein. Weitere Infos hier: ESP32 lÀsst sich nicht mehr flashen.

Ich habe den ESPuino geflasht aber finde ihn nicht im WLAN. Was mache ich falsch?

Bitte das hier lesen: 📗 Der erste Start deines ESPuino.

Kann ich auch die GPIO-Konfiguration beliebig auf meine BedĂŒrfnisse anpassen?

Im Prinzip ja. Man muss allerdings aufpassen, denn manche GPIOs haben auch weitere (interne) Zwecke. Weitere Infos: 📗 Die GPIOs des ESP32: Welche eignen sich fĂŒr was?.

Wozu ist der Hostname gut, den man beim Einrichten von ESPuino in der WebGUI konfigurieren kann?

Will man nen ESPuino konfigurieren, so geschieht dies ĂŒber die WebGUI. Menschen sind nicht sonderlich gut darin, sich IP-Adressen zu merken. Deshalb hantieren wir im Alltag beim Webbrowsing auch mit sprechenden Namen. Der Hostname ist so einer. Wurde keim Kompilieren das Flag MDNS_ENABLE aktiviert (was ich empfehlen wĂŒrde!), so ist der ESPuino ĂŒber diesen kĂŒnftig erreichbar. D.h. wurde als Hostname beispielsweise ‚espuino‘ konfiguriert, so ist er kĂŒnftig ĂŒber ‚espuino.local‘ erreichbar. Die Erreichbarkeit ĂŒber die normale IP-Adresse ist natĂŒrlich weiterhin gegeben. Welche IP das ist, wird in der seriellen Konsole angezeigt. Benutzer einer Fritzbox können auch ĂŒber .fritz.box zugreifen; also zum Beispiel ‚espuino.fritz.box‘.

Kann auch eine statische IP vergeben werden?

Normalerweise sorgen Router dafĂŒr, dass GerĂ€ten immer die gleiche IP-Adresse zugewiesen wird. Ein Router macht sich hier zunutze, dass Netzwerk-GerĂ€te eindeutige MAC-Adressen besitzen und diese GerĂ€te so wiedererkannt werden können. Mir wurde berichtet, dass z.B. Speedports, die die Telekom vertreibt, diese IP-Adressen manchmal Ă€ndert. Man kann dies adressieren, indem man sich am besten die Sektion ‚Wozu ist der Hostname gut?‘ durchliest. Oder man kann auch eine statische Konfiguration vornehmen, wobei IP-Adresse, Netzmaske und Gateway zu konfigurieren sind. Der ESPuino bekommt nun keine IP mehr zugewiesen sondern bestimmt selbst eine. Achtung: Kein Mechanismus hindert einen daran, hier falsche Sachen zu konfigurieren. Im Zweifelsfalle ist der ESPuino dann per WLAN nicht erreichbar, obwohl er sich ins WLAN eingebucht hat.

Ist WLAN unbedingt notwendig?

Jein. Benötigt wird es mindestens zum Einrichten der Grundeinstellungen und der RFID-Zuweisungen. ZwangslĂ€ufig benötigt wird es natĂŒrlich auch, wenn man Webradio hören möchte oder man die Steuerung via MQTT nutzen möchte. Abseits dessen kann man das WLAN jedoch auch abschalten (beispielsweise ĂŒber eine Modifikationskarte oder auch ĂŒber eine Button-Konfiguration). Über den gleichen Weg kann man es auch wieder einschalten. Auch ĂŒber den nĂ€chsten Neustart hinaus wird sich der ESPuino das merken.

Welche Möglichkeiten gibt es, Daten auf die SD-Karte zu kriegen?

GrundsĂ€tzlich kann man sie natĂŒrlich in den Rechner stecken und Daten aufspielen - das ist mit Abstand die schnellste Variante und macht insbesondere am Anfang Sinn, wenn man fĂŒr gewöhnlich große Datenmengen aufspielen will. Wenn jedoch mal alles zusammengebaut ist, hat man u.U. wenig Lust, die SD-Karte auszubauen. Man kann dann die Daten ĂŒber FTP-Upload oder HTTP-Upload hochladen. FĂŒr den FTP-Upload muss man zuerst den FTP-Dienst aktivieren. HierfĂŒr muss man einer Taste oder einer Tastenkombination in settings.h die Aktion ENABLE_FTP_SERVER zuweisen. Per Default sind das Pause/Play-Taste + NĂ€chster-Titel-Taste, die man kurz parallel drĂŒcken muss. Hinweis: Paralleles Abspielen von Musik sollte man unterlassen, da es den Upload ziemlich ausbremst. Wie schnell ein Upload ist, hĂ€ngt maßgeblich davon ab, ob die SD-Karte per SPI oder SD_MMC angebunden ist.

Wird Batteriebetrieb unterstĂŒtzt?

Ja. Wie dies im Einzelnen umzusetzen ist, hĂ€ngt jedoch vom eingesetzten Develboard des ESP32 ab. Am einfachsten hat man es, wenn man ein Develboard besitzt, das eine integrierte Ladeschaltung hat. FĂŒr LiPo-Akkus ist das z.B. bei den Boards Lolin32, Lolin D32 und Lolin D32 pro der Fall. Auf jeden Fall unterstĂŒtzt ESPuino den Batteriemodus in verschiedener Hinsicht (Messung der Spannung, Visualisierung per Neopixel und publizieren der Spannung per MQTT). Man kann natĂŒrlich auch einfach extern eine Powerbank anschließen an USB, aber damit habe ich selbst keine Erfahrung. Weiß jedoch, dass die Powerbank abschaltet, wenn die Last (im Deepsleep) zu niedrig ist. Man muss sie dann wieder „aufwecken“, damit der ESPuino starten kann.

Welche Hardware wird unterstĂŒtzt bzw. empfohlen?

Bitte das lesen: 📗 Welche Hardware nutzen? (Develboard, RFID, SD, Akku).

Kann die Änderung der LautstĂ€rke auch ĂŒber Tasten anstelle Drehencoder erfolgen?

Ja. DafĂŒr mĂŒssen in settings.h die Aktionen CMD_VOLUMEUP bzw. CMD_VOLUMEDOWN den gewĂŒnschten Tasten zugewiesen werden. Es ist allerdings aktuell nicht möglich, durch lĂ€ngeren Tastendruck die LautstĂ€rke mit einem DrĂŒcken um mehrere Einheiten zu erhöhen oder zu verringern. An dieser Stelle sei dieser Artikel empfohlen: 📗 Das dynamische Button-Layout.

Mit wievielen Tasten wird ESPuino betrieben?

Das kann man sich im Prinzip aussuchen. Das von mir vorgesehene Standard-Layout hat drei Tasten und einen Drehencoder. Maximal kann man einen Drehencoder und fĂŒnf Tasten verwenden. WĂŒrde man es in die andere Richtung „auf die Spitze treiben“, dann könnte man die Tasten weglassen und deren Aktionen ĂŒber Modifikationskarten bewerkstelligen: Neue Modifikationskartentypen.

Ich habe Probleme mit dem FTP-Dienst

Zuerst mal muss der FTP-Dienst nach jedem neuen Bootvorgang erst aktiviert werden. Grund dafĂŒr ist, dass es Speicher spart, wenn er nicht benötigt wird (was ja normalerweise der Fall ist). Die Zugangsdaten lassen sich ĂŒber die WebGUI konfigurieren. Als FTP-Client wird Filezilla empfohlen (kostenlos und fĂŒr Windows, Mac OS und Linux VerfĂŒgbar). Es ist darauf zu achten, dass nur eine Verbindung gleichzeitig aufgebaut wird!


Und der Zeichnsatz muss CP437 sein:

Kann ich auch zwei Lautsprecher anschließen?

Klar. Beispielsweise der MAX98357a wird per i2s angeschlossen. HĂ€ngt man auf den i2s-Bus noch einen zweiten MAX98357a, so kann man dort ebenfalls einen Lautsprecher anschließen. Die DACs werden also einfach auf den i2s-Bus parallel angeschlossen. Sogar im laufenden Betrieb kann man noch einen dazuhĂ€ngen; das Protokoll scheint recht robust zu sein. Beim MAX98357a muss man jedoch beachten, dass man den SD-Pin jeweils mit passender Spannung versorgen muss, damit ein MAX den linken Kanal und einer den rechten Kanal spielt: Stereo-Ausgabe.

Welche Playmodi werden unterstĂŒtzt?

📗 Die Playmodi des ESPuino.

Wie schnell ist die Übertragung per FTP oder HTTP auf die Karte?

HĂ€ngt u.a. davon ab, ob die SD-Karte per SPI oder SD_MMC angebunden ist. Hier eine Messung mit einer Datei, die 70,7 MiB groß ist:

SD_MMC:
FTP (up): 3:57min => 298 kiB/s
FTP (down): 3:45 => 314 kiB/s
HTTP: 3:10min => 372 kiB/s

SPI:
FTP (up): 6:38 => 178 kiB/s
FTP (down): 5:38 => 208 kiB/s
HTTP: 6:24min => 184 kiB/s

Braucht man den Neopixel unbedingt?

Nein, aber es ist zu empfehlen, da er sehr viele Informationen visuell darstellt und ohne ihn weitrechende Feedback-Mechanismen fehlen. GrundsĂ€tzlich ist mir die Problematik des Neopixels natĂŒrlich bewusst: Es ist vergleichsweise schwer, ihn in ein GehĂ€use zu integrieren. Zumal man ihn eigentlich auch nicht komplett sehen möchte, da er so hĂŒbsch nun auch wieder nicht ist. Weitere Wege wĂ€ren jedoch, mehrere WS2812b-LEDs als Streifen zu verwenden oder eben nur eine einzelne WS2812b-LED. Bei einem Streifen wĂŒrde ich empfehlen eine LED-Anzahl zu wĂ€hlen, die durch vier teilbar ist, da die Animationen des ESPuino ein StĂŒck weit darauf ausgerichtet sind.
Weitere Infos hier:
https://forum.espuino.de/t/was-zeigt-der-neopixel-des-espuino-alles-an.
Wie einen Neopixel ins GehÀuse integrieren?.

Kann man bei GIT sehen, welche Änderungen am ESPuino-Code wann gemacht wurden?

Aber klar :slight_smile: Am besten mal hier schauen: How To List Commit History with Git Log Command with Examples? – POFTUT.

Es dauert lange, bis die Musik anfÀngt zu spielen. Was kann ich tun?

Nun grundsĂ€tzlich gibt es zwei Faktoren, die das begĂŒnstigen

  • Es befinden sich viele Dateien in einem Ordner und sie gehören alle zur Playlist. Je mehr Dateien zu einer Playlist gehören, desto lĂ€nger dauert es.
  • Der ESPuino spielt parallel bereits etwas ab. Ist das der Fall, so ist der mit dem Dekodieren beschĂ€ftigt, was den Prozess der Playlist-Generierung fĂŒr die neue Playlist verlangsamt.

Es gibt jedoch Abhilfe dafĂŒr, die hier beschrieben ist.

Auch wurde schon berichtet, dass ein spezielles Tool Besserung schaffen soll: Verzögerung nach Auflegen des Tags mit vielen Hörspielen

Mein ESPuino stĂŒrzt ab. Was fange ich mit der Fehlerneldung an?

Wenn ein Mikrocontroller sich aufgrund eines Softwarefehlers neu startet, sieht die Ausgabe oft hinreichend kryptisch aus. Was jedoch mitgeliefert wird ist ein Backtrace. Hieraus kann man einen Stacktrace dekodieren, den man auch lesen kann.
DafĂŒr muss In der platformio.ini folgende Zeile gesetzt werden:

monitor_filters = esp32_exception_decoder

Alternativ den Stacktrace-Dekoder in der Arduino-IDE installieren. Im Anschluss geht man in Platformatio ins Projektverzeichnis von ESPuino und dort in das Unterverzeichnis .pio/build/. Dort findet man eine Datei namens firmware.elf. Diese und auch der Backtrace werden als Eingaben im Stacktrace-Dekoder in der Arduino-IDE benötigt. Zuletzt erhÀlt man einen Stacktrace, mit dem man wesentlich mehr anfangen kann :slight_smile:.

Die Anzahl der GPIOs reicht nicht. Wird ein Port-Expander unterstĂŒtzt?

Ja. Weitere Infos siehe hier: 📗 Einsatz des Port-Expanders PCA9555. Hier wird er z.B. auch verwendet: ESPuino-miniD32(pro): Lolin D32/D32 pro mit SD_MMC und Port-Expander (SMD) oder ESPuino-miniD32(pro): Lolin D32/D32 pro mit SD_MMC und Port-Expander (SMD).

Wo werden die Konfigurationseinstellungen gespeichert?

Alle Dinge, die ĂŒber die WebGUI konfiguriert werden (WLAN-Zugangsdaten, Hostname, LautstĂ€rke, Passwörter etc pp) werden im sog. NVS des ESP32 gespeichert. Das NVS ist ein Teil des Flash-Speichers, der je nach verwendetem ESP32-Chip (WROOM, WROVER, ESP32-A1S) 4 oder 16 MB groß ist. Dieser Speicher wird in Partitionen unterteilt - die NVS-Partition ist eine solche. Welches Partitions-Layout verwendet wird, wird in platformio.ini ĂŒber den Parameter board_build.partitions konfiguriert. Wichtig an der Stelle zu wissen: Wird das Konfigurations-Profil hier geĂ€ndert, so wird dadurch der Inhalt des NVS ĂŒberschrieben. D.h. alle Konfigurationen sind neu vorzunehmen - inklusive WLAN. FĂŒr die Zuweisungen zwischen RFID und HörbĂŒchern/Musik gibt es jedoch einen Backup/Restore-Mechanismus: 📗 Die Backupfunktion des ESPuino.

Funktionieren bei Webradio auch https-Streams?

GrundsÀtzlich ja. Aber bitte Folgendes bedenken.

mDNS funktioniert auf einem Android-Handy nicht. Was kann ich tun?

Bitte das hier beachten: mDNS Problem

Ich kann nicht löten. Wie lerne ich das?

Hier gibt es zahlreiche Infos: 📗 (SMD-)Löten. Ansonsten gibt es auf YouTube Videos dazu in HĂŒlle und FĂŒlle. Man muss allerdings kein SMD löten können, um einen ESPuino zu betreiben. „Normales“ Löten reicht :slight_smile:.

Werden auch Speicherkarten mit 64 GB unterstĂŒtzt?

Ja, werden sie. Allerdings mĂŒssen diese mit dem Dateisystem FAT32 formatiert sein und das sind sie ĂŒblicherweise ab Werk nicht. Man muss diese Karten also umformatieren. Diskussion dazu: Werden 64 Gb SD Karten unterstĂŒtzt? - #5 von biologist.

Was mache ich, wenn gar nichts mehr geht?

Möglicherweise hilft es, ein Flash Erase mittels Platformio durchzufĂŒhren. Hinweis dazu: SĂ€mtliche Einstellungen (WLAN-Zugangsdaten z.B.) sind danach weg und es mĂŒssen auch alle RFID-Karten neu angelernt werden. Letztgenanntes kann man jedoch „beschleunigen“, wenn man backup.txt aus dem Hauptverzeichnis der SD-Karte importiert.
Einem anderen Benutzer hat das Löschen auf jeden Fall geholfen.

Wie kann ich die Drehrichtung des Drehencoders umkehren?

Dies ist hier beschrieben: 📗 Drehrichtung des Drehencoders umkehren.

Kann man die Audio-PuffergrĂ¶ĂŸe beeinflussen?

Ja, kann man: Buffersize kann nun konfiguriert werden.

Was ist LPCD?

LPCD steht fĂŒr „Low-power card detection“ und ist ein Feature, das der RFID-Reader PN5180 anbietet. Hierbei ist es möglich, den ESP32 aus dem Deepsleep durch Auflegen einer Karte zu holen. Handelt es sich um einen „Falschalarm“, so geht der ESP32 im Anschluss wieder schlafen. Bei einer passenden Karte wird jedoch die zugehörige Kartenaktion ausgefĂŒhrt.

Hinweise:

  • Um das Feature nutzen zu können, muss die Firmware 4.1 auf den PN5180 aufgespielt werden. Ist nicht ganz einfach; wie es geht steht hier: GitHub - abidxraihan/PN5180_Updater_ESP32: PN5180 Firmware Updater Using ESP32.
  • Es werden nur Karten nach ISO-14443 unterstĂŒtzt. Normalerweise ist das jedoch keine EinschrĂ€nkung, da dieser Kartentyp eh vorrangig benutzt wird.
  • Damit der PN5180 dieses Feature nutzen kann, muss er dauerhaft mit 3.3 V versorgt werden. Der „Normalzustand“ ist jedoch, dass die Peripherie wenn ESPuino „schlĂ€ft“ spannungslos geschaltet wird. Das hat zur Folge, dass der Stromverbrauch etwas steigt.
4 „GefĂ€llt mir“