Du bist neu hier? Herzlich willkommen!
Um mehr über ESPuino zu erfahren schlage ich vor, dass du hier stöberst, denn dort habe ich sämtliche Dokumentation zu ESPuino hinterlegt.
Eine FAQ gibt es hier: đź“— Oft gestellte Fragen (FAQ)
Aber ich verstehe, dass so viel Dokumentation erschlagend ist und du erstmal einen Einstieg brauchst. Daher nachfolgend ein paar einleitende Worte, die dir den Einstieg in ESPuino hoffentlich etwas erleichtern.
Zuerst ist es wichtig zu wissen, aus was ein ESPuino besteht:
- Mikrocontroller ESP32
- SD-Modul samt µSD-Karte
- Digital/Analog-Converter (DAC)
- Verstärker (der ist oft in den DAC schon integriert)
- RFID-Modul (RC522 oder PN5180)
- LED-Ring („Neopixel“)
- Taster (bis zu fĂĽnf)
- Drehencoder (optional, aber zu empfehlen!)
- Ggf. Kopfhöreranschluss (mit eigenem DAC und eigenem Verstärker)
Für ESPuino dekodiert der ESP32 Audiostreams in Software und verwendet hierfür die freie Library ESP32-audioI2S. Als Quellen sind hierbei SD und Webradio zu nennen. Aber auch Bluetooth ist möglich, so dass man z.B. per Handy, Tablet oder Laptop auf den ESPuino streamen kann. Und auch umgekehrt kann man einen BT-Kopfhörer mit ESPuino verbinden.
Nachdem der ESP32 das Ganze verarbeitet hat, gibt er das Signal über den digitalen Bus i2s aus. So kann man natürlich damit noch nichts anfangen, daher braucht man einen Digital/Analog-Converter (DAC) für Audio, damit daraus ein analoges Signal wird. Zum Schluss muss das Signal noch verstärkt werden, so dass die Ausgabe über einen Lautsprecher (oder Kopfhörer) erfolgen kann. Standardmäßig verwendet ESPuino als DAC+Verstärker einen einzigen Baustein, der beides zusammen macht: MAX98357a.
Nun will man das Ganze auch noch steuern können. Das macht man einerseits über RFID-Karten, für die man entsprechend im ESP32 eine Zuordnung über ESPuinos Webinterface anlernt. D.h. jede RFID-Karte besitzt eine fest einprogrammierte interne ID und diese ID wird mit einer Aktion verknpüft, die im Flashspeicher des ESP32 gespeichert wird. Das wird einmalig über das Webinterface gemacht und ist nachträglich natürlich (bei Bedarf) änderbar. Jedes Mal, wenn diese Karte wieder aufgelegt wird, erinnert sich ESPuino an die verknüpfte Aktion und führt sie aus. Und klar: Um eine RFID-Karte lesen zu können, braucht man natürlich einen entsprechenden Kartenleser. ESPuino verwendet RC522 oder (besser) PN5180.
Zusätzlich benötigt man jedoch auch Taster und ggf. einen Drehencoder, über die man z.B. zum nächsten/vorherigen Titel springen kann oder auch lauter und leiser stellen kann. Die Anzahl der Taster kann man von 0 bis 5 frei wählen (der integrierte Taster des Drehencoders kommt noch dazu) und auch zahlreiche Aktionen beliebig über das Webinterface zuweisen.
Zum Schluss gibt es noch einen LED-Ring (Neopixel-Ring), der dem ESPuino-Benutzer ein optisches Feedback gibt. Hier sieht man beispielsweise, wie laut die Audioausgabe ist: D.h. leuchten 50% der LEDs, dann liegt die Lautstärke bei 50% der Maximallautstärke. Oder man sieht, wie weit ein Titel schon gelaufen ist, ob der ESPuino beschäftigt ist oder auch, ob eine angefragte Aktion abgelehnt wurde und VIELES VIELES mehr. Dieser LED-Ring ist zwar grundsätzlich optional, aber da er viele Informationen transportiert, ist er nicht einfach nur Mäusekino, sondern aus meiner Sicht unabdingbar. Übrigens: Es muss kein Ring sein, aber rein optisch macht ein Ring üblicherweise am meisten Sinn. In ausführlich steht das alles hier: 📗 Was zeigt der Neopixel des ESPuino alles an?.
Was macht ESPuino einzigartig?
Das Konzept über RFID-Karten einen Musikplayer zu steuern ist nicht neu. Im Sinne von Open Source gibt es hier z.B. TonUINO - darüber habe ich mal einen Vergleichsartikel geschrieben. Es gibt jedoch auch so etwas wie Phoniebox, das auf einem Raspberry Pi basiert und damit extrem leistungsfähig ist (Spotify etc pp). Nachteil ist hier die vergleichsweise lange Bootzeit und der für Akkuzwecke doch recht hohe Stromverbrauch. In diese Lücke stößt nun ESPuino: Es bringt Netzwerk-Konnektivität in Form von WLAN mit sich, welches Features wie Webradio, Bedienung per Web-Schnittstelle und MQTT ermöglicht - dies jedoch gleichzeitig gepaart mit wenig Strombedarf, kurzer Bootzeit und geringeren Kosten.
Welche Hardware soll ich verwenden?
Das steht dir frei, aber am einfachsten hast du es tendenziell, wenn du die Complete verwendest. Diese kann für LFP- oder LiPo-Akkus verwendet werden (seit rev5.1 einstellbar). An die Complete kann man optional eine Kopfhörerplatine anschließen. Steckt man dort einen Kopfhörer ein, so geht der Lautsprecher automatisch aus (und umgekehrt).
Complete, Kopfhörerplatine, Anschlussleitungen, Neopixelringe und RFID-Reader (nur PN5180) kannst du von mir beziehen; hier ist die Preisliste.
Gibt es eine Preisliste?
Ja, die gibt es hier.
Wer lötet das Ganze zusammen?
Mich erreichen immer wieder Anfragen von Leuten, die gerne nicht (so viel) löten möchten. Kein Problem! Die Complete ist eh immer fertig gelötet. Die Kopfhörerplatine wird einfach angesteckt - gleiches gilt für den Drehencoder, sofern du diesen verwendest: Drehencoder by ESPuino. Folgendes musst du jedoch immer selbst löten:
- JST-Anschlussleitung an den Lautsprecher
- JST-Anschlussleitungen an die Taster
- JST-Anschlussleitung an den RFID-Reader
- JST-Anschlussleitung an den Neopixelring
Die dafĂĽr notwendigen JST-Anschlussleitungen sind in meinen Sets enthalten.
Wie ist so ein PCB aufgebaut?
ESPuino hat einen langen Weg hinter sich. Gestartet mit Breadboard + Jumperwires, weiter mit Lochrasterplatinen, hin zu (recht rudimentären) Carrier-PCBs, die Breadboards miteinander verbinden. Nachdem jahrelang die mini4L samt Develboard „Stand der Technik“ war, sind wir nun endlich dort angekommen, was ich schon seit Jahren versprochen hatte: ESPuino Complete. Eine Platine, zugeschnitten auf ESPuino, die bis auf die Kopfhörerplatine alles beinhaltet. Fertig gelötet, ready-to-use.
Kann ich auch komplett eigene Hardware nutzen?
Klar! Ich will absolut niemand etwas andrehen, was er/sie eigentlich nicht braucht.
📗 Welche Hardware nutzen? (Develboard, RFID, SD, Akku) gibt dir einen grundsätzlichen Überblick über die Möglichkeiten. Ansonsten gibt es auf den Seiten der mini4L oder Complete auch Schaltpläne. Daraus sollte klar werden, was womit verbunden werden muss.
Aber mein dringender Appell: Versuch’s besser nicht in einem Testaufbau mit Jumperwires - das funktioniert einfach nicht zuverlässig.
Wie kommt die Software auf den ESP32?
Inzwischen gibt es fertige Firmwares zum Runterladen: đź“— Fertige ESPuino-Firmwares zum Runterladen.
Möchte man die Firmware (zwecks Anpassungen) selbst kompilieren, muss den Code von meinem Repository auschecken (runterladen) und Visual Studio Code samt Platformio als Plugin installieren. Wie man das alles einrichtet steht hier und hier. Die Arduino-IDE kann auf jeden Fall nicht verwendet werden. Die Konfiguration von ESPuino sieht so aus, dass man zwei Dateien gemäß seinen Anforderungen anpassen muss, wobei man sagen muss, dass alles schon bestmöglich vorkonfiguriert ist. Einerseits ist das die settings.h, in der man globale ESPuino-Eigenschaften konfiguriert. Wobei einiges davon inzwischen auch über das Webinterface konfigurierbar ist. Zudem gibt es noch ein weiteres Configfile, welches abhängig davon ist, welches PCB du verwendest. Ist es z.B. ESPuino Complete, so musst du complete.h verwenden. Ist es ESPuino-mini 4Layer, dann ist settings-lolin_d32_pro_sdmmc_pe.h die für dich maßgebliche Datei.
Startest du hingegen eine Eigenentwicklung, dann wirst du ggf. settings-custom.h verwenden wollen. Allerdings bist du dann auch komplett für die passende Konfiguration selbst verantwortlich. Am Anschluss muss man die Software kompilieren und den ESP32 damit flashen. Läuft ESPuino bereits, so kann man die Firmware auch über das Webinterface (per OTA) flashen.
Gibt’s Bilder von ESPuinos anderer Forenteilnehmer?
Na klar! Zeigt her eure ESPuinos.
Lässt sich ESPuino auch in Smarthome-Systeme integrieren?
Ăśber MQTT sollte das kein Problem sein. FĂĽr Home Assistant geht das inzwischen noch komfortabler: Home Assistant Integration.
Noch Fragen?
Ansonsten stöbere bitte hier um dich mit weiteren Infos zu ESPuino zu versorgen. Insbesondere die FAQ sei hier auch nochmal erwähnt.
Wenn du Fragen hast, dann frag’ hier gerne. Dafür ist das Forum da!