Heute gibt es eine große Neuerung zu berichten. Es wird ein neuer Prozessor unterstützt: Esp32 Nano.
Dieser ist baugleich mit dem Arduino Nano, so dass er einfach auf auf das Classic Board gesteckt werden kann. Den Rest der HW habe ich (erst mal) nicht verändert. Getestet habe ich das auch mit der Trägerplatine von @Thomas-Lehnert, hier muss man aber zwei kleine Änderungen an der Platine vornehmen. In der nächsten Version der Platine wird das berücksichtigt sein.
Damit hätte man eine weitere Variante, die mehr Speicher für die zusätzlichen Features hat. Bei Ama… kostet es etwa 20 EUR, bei Ali*** etwa 8 EUR.
Und nun kommt der große Vorteil: das Webinterface
Hier sind die Features in Stichpunkten:
Konfiguration des Access Points mittels Konfig-Webinterface. Im Konfigurationsmodus agiert der TonUINO als Access Point. Das geschieht, wenn der TonUINO sich nicht verbinden kann oder wenn man die „UP“ Taste beim Einschalten drückt. Dann kann man sich mit diesem WLAN (heißt „TonUINO_IpConfig“) verbinden und wird automatisch auf die Konfigurationsseite geleitet.
Nach der Konfiguration verbindet sich der TonUINO mit dem eingestellten Access Point und man kann das Webinterface mit „http://tonuino“ erreichen.
Auf der Webseite wird der Status angezeigt und automatisch aktualisiert (State, Abspielmodus, Folder, Track-Queue, Lautstärke, aktive Modifier-Karte)
Alle Tasten (normal oder lang) können gedrückt werden
Das Auflegen einer beliebige Karte kann simuliert werden und diese Karte kann auch geschrieben werden.
Aktivieren und Deaktivieren einer beliebigen Modifier-Karte kann simuliert werden und diese kann auch geschrieben werden.
Alle Einstellungen werden angezeigt und können geändert werden
Das Webinterface ist für das Smartphone optimiert, funktioniert aber auch auf dem Desktop.
Wer die Classic Platine nimmt, kann ja nicht HW Serial verwenden. Hier funktioniert das mit PlatformIO compilierte Binary mit Software Serial bei mir nicht stabil. Mit der Arduino IDE geht es aber. Wer die Trägerplatine nimmt oder eine eigene Platine hat, kann auch HW Serial verwenden (einfach wie Every einstellen) und hier kann man PlatformIO oder Arduino IDE verwenden. Bitte das Readme beachten.
Wer die Änderungen für die Trägerplatine wissen will, einfach eine PM an mich.
Super. Ich habe nun auch die angepasste Traegerplatine V4.0 BT/ESP32 vorgestellt. Die Überarbeitung der Fertigungsdateien ist fast abgeschlossen. Ich schicke sie dir dann zu.
Ich bin mir nicht ganz sicher, ob es eventuell Probleme zwischen dem KCXBluetoothmodul und der Bluetoothfunktion des ESP32 geben könnte. Was meinst du dazu?
Hallo @Boerge1
Ich hab da noch eine Idee. Könnte man für die Bedienung über das Webinterface noch weitere Abspielmodi erzeugen. Ich denke hier zum Beispiel an einen Abspielmodus, der dem Partymodus ähnelt, aber Titel aus verschiedenen Ordnern abspielt. Oder dem gezielten Zugriff auf Ordner und Tracks für die keine Karte oder Shortcut erzeugt wurde. Oder vieeleicht sogar Playlists. Alles Sachen, die mit dem Smartphone vorstellbar sind.
Tracks aus verschiedenen Foldern abspielen ist nicht so einfach. Es gibt ja eine Queue, die besteht aber nur aus Track Nummern. Da ist kein Platz für den Folder. Das kann man leider auch nicht so einfach mit #ifdef hinbekommen, so dass der Speicher nur für die besseren Prozessoren erhöht wird.
Aber vielleicht noch eine bessere Erklärung was es bedeutet, das man über das Webinterface eine beliebige Karte simuliert auflegen kann. Das bedeutet nämlich nicht, dass dafür auch tatsächlich eine Karte oder Shortcut existieren muss. Mann stellt auf dem Interface einfach den Modus ein (Hörspiel, Album, …), gibt den Folder an und evtl. noch ein oder zwei weitere Parameter und drückt „Start“. (Man kann dann auch „Schreiben“ drücken, und der TonUINO forder dich auf, eine Karte aufzulegen)
Kann eigentlich nicht, da ja „nur“ der Mikrocontroller ersetzt wird. Der DF-Player mit all seinen Einschränkungen bleibt „im Spiel“ und ein direkter Zugriff vom Controller auf die Sd-Karte ist nicht möglich.
Dennoch liest es sich, wie ein enormer Komfort- und Funktionsgewinn.
Ich denke, ich werde einem Test nicht widerstehen können.
Wenn die Hardware 1:1 austauschbar ist, werde ich an meinem Versuchsaufbau einen ESP32 anstatt den Nano aufstecken und mal testen.
Muss bezüglich des „HW-Serial“ etwas an der Platine umgepinnt werden? Wenn ja, was genau?
Habe ich noch nicht im Detail überprüft, aber es gibt eine ganz brauchbare Gegenüberstellung.
Schau mal, ob damit deine Frage(n) schon beantwortet werden können.
Wie @NoBl schon geschrieben hat (erstmal) nicht. Ich wollte den Umstieg so einfach wie möglich machen, d.h. einfach Prozessor wechseln. Und vor allem, die Classic Platine kann weiterhin verwendet werden.
Ich werde aber noch darüber nachdenken, den DFPlayer zu ersetzen wie beim EspUINO.
Wie beim Every muss für die Kommunikation mit dem DFPlayer nicht D2/D3 verwendet werden, sondern die Pins 0/1 (TX0/RX0)
Ich habe noch eine Idee bzgl. neuer Abspielmodi. Man könnte eine Karten Queue einbauen. Wenn man eine neue Karte auflegt und die vorherige Karte noch nicht beendet wurde, wird die neue Karte nicht soforrt abgespielt, sondern erst, wenn die andere fertig ist. Das geht dann auch für mehrere Karten hintereinander. Aktiviert wir das über eine Modifikationskarte.
Hallo,
ich verwende immer noch die Arduino IDE, weil mir platformio irgendwie zu unübersichtlich ist.
Da das Kompilieren der issue_259_esp32 (mit Entkommentierung von „#define TonUINO_Esp32 100, #define THREEBUTTONS und #define DFPlayerUsesHardwareSerial“) auf Anhieb nicht funktionierte, probierte ich zuerst die Kompilierung eines normalen Nano mit Grundeinstellung in der „constants.hpp“. Dies funktionierte auf Anhieb.
Ich probierte daraufhin wieder die Einstellungen mit dem Esp32, wobei ich diesmal Board „Arduino Nano ESP32“ Version 2.0.10 von Arduino und nicht von Espressif auswählte.
Mit folgender Fehlermeldung wurde die Kompilierung abgebrochen:
Compilation error: ‚printStatusCode‘ function uses ‚auto‘ type specifier without trailing return type
Danke…
Ja, habe ich…musste ich ja bereits beim normalen Nano ins avr usw. Verzeichnis…
Ich habe vom Board „Arduino Nano Esp32“ von Arduino die Versionen von 2.0.18 bis 2.0.10 alle durchprobiert…ich teste nochmal explizit die 2.0.17 und berichte obs läuft…
Ich sehe gerade von Arduino gibts keine 2.0.17, aber von Expressif…dann teste ich dieses Board mal.
Habe gerade meine Arduino IDE auch ESP32-fit gemacht und kann nach bewußtem Test bestätigen:
Die „platform.local.txt“ muss erneut in das HW-Verzeichnis für die ESP32 Boards kopiert werden.
Hatte zunächst auch gedacht, das sei schon erledigt, da ich schon mehrfach TonUINO FW compiliert hatte. Die Arduino IDE ist da aber wählerisch.
Mit der Platform.local.txt im Verzeichnis wie im Readme angegeben funktioniert es jetzt (auch mit der 2.0.18). Allerdings hat mein altes Notebook (von 2011) ganz schön zu schaffen.
Ich habe noch 2 Ordner bei esp32 in den packages usw. gefunden und dort die „platform.local.txt“ reinkopiert jetzt kompiliert er nach Neustart der Arduino IDE endlich…Yipiih
Wie kommt man eigentlich auf den Inhalt der „platform.local.txt“ ?
Ich bin von espuino abgesprungen, weil ich da nichts mehr mit meiner geliebten Arduino IDE machen konnte, aber wenns da auch nur an so ner „platform.local.txt“ Datei scheitert, dann wäre das vielleicht handlebar…
Andererseits ist mir Espuino schon zu komplex, dann bleib ich weiter hier, um einen Esp32 verwenden zu können.
Danke nochmal für eure Tipps
Stimmt kompilieren dauert, aber es funktioniert endlich
Ich habe noch ein bisschen weiter daran gearbeitet und insbesondere die Konfiguration des AP verbessert.
Das Webinterface ist jetzt identisch ob sich der TonUINO mit dem heimischen AP (Router) verbunden hat oder er einen eigenen AP aufgemacht hat.
Wie gehabt, wenn der TonUINO keine Verbindung zu einem Router aufnehmen kann (es ist noch keiner konfiguriert, der AP (Router) ist nicht erreichbar, beim Start wird die „Up“ Taste gedrückt) dann macht der Tonuino ein eigenes WLAN mit dem Namen „TonUINO“ auf (ohne Passwort). Wenn man sich mit diesem verbunden hat, kann man im Browser mit jeder Adresse (mit einem „.“, also z.B. „tonuino.x“ das Webinterface erreichen und darin den Router konfigurieren.
Oh sorry, muss ich in der Readme noch nachtragen.
Ja, die Jukebox kommt hier natürlich auch rein. Werde ich demnächst mergen, haben ja schon einige getestet.