ESP32 Port inkl. Webinterface


#1

Das sieht doch schon gut aus, wenn es das oberste als einzelne Grafik geben würde, würde ich es glatt für das Webinterface nehmen wenn das OK wäre.


Kurze Frage: würdet ihr ein Logo auf eure Box kleben?
Toshiba FlashAir (Wlan SD-Karte)
#2

Du baust ein Webinterface? ESP8266?


#3

Ja, Ich habe den kompletten Code auf einen ESP32 portiert und entsprechend erweitert. Bin damit fast fertig finde aber gerade nicht die mouse für weitere Nachtschichten. Folgendes habe ich bisher umgesetzt:
-Fernsteuerung (Play, Pause, Prev., Next, Laut, Leise)
-max Lautstärke
-Kopfhörer Erkennung und dann max Lautstärke
-Equalizer einstellen
-Ausschalttimer (einmalig oder wiederholt)
-Einschalttimer (einmalig oder wiederholt)
-Ambientlight einstellen, Farben und Helligkeit (WS2812 LEDs)

Noch offen
-getätigte Einstellungen im eeprom speichern
-Karten neu programmieren
-Sonnenauf- Untergang Stimulation für obige Timer
-Access point Modus um WLAN zu konfigurieren (bisher sind SSID und PW fest im Code)
-Platine in Eagle erstellen

LG Chris


#4

Cool, das hört sich ja sehr vielversprechend an. Der ESP32 hat ja auch ein paar Touch sensitive Pins und somit quasi Touch Tasten onboard.
Der Stromverbrauch ist vermutlich höher, aber andererseits könnte der ESP32 ja auch Deep Sleep machen, solange keine Eingabe kommt und der DFPlayer die Dateien abspielt, zumindest als Stromsparoption, solange es auf Batterie läuft.
Im Netzbetrieb, oder wenn man das Webinterface möchte, kann er natürlich nicht schlafen.


#5

Finde ich auch sehr interessant. Webinterface war für mich bisher kein Thema aber ich habe ebenfalls mit einem ESP32 experimentiert, weil ich MQTT integrieren wollte. Für mich ist die Arduino Programmierung recht neu und der ESP32 ist ja auch noch einmal anders. Ich bin für jeden Code dankbar aus dem ich lernen kann. Wenn Du schon erwas veröffentlichen magst wäre ich Dir sehr dankbar.

@stephan Ein eigenes Topic für die letzten drei Beiträge wären toll.


#6

Benutzt Du den DFPlayer überhaupt noch?


#7

ganz grosses kino!
habe hier noch ne handvoll rumliegen leider bin ich nicht gut im programmieren aber so nen spotify plugin wäre der wahnsinn. karte mit link zu ner playliste verknüpfen und das elendige cd kaufen hätte ein ende!


#8

Ja ich benutze den DFPlayer noch, daher auch kein Onlineradio streaming. MQTT werde ich nicht noch integrieren auch wenn ich das überlegt hatte , das steuern funktioniert über HTML String und die Einbindung in FHEM sollte so möglich sein.


#9

Wieso wolltest du gerade MQTT?

Kenne das beruflich eher als Kommunikationsprotokoll im Industrial IoT Umfeld.


#10

Hatte das auch für IoT Zwecke im Einsatz und daher kam die Überlegung. Aber dann hätte sich jeder zur Fernsteuerung einen mqtt Broker einrichten müssen und evtl. Node Red als Frontend. Da ist der Webserver auf dem ESP komfortabler.


#11

Hatte mir auch schon ein Hardware Update überlegt auf Basis des ESP32.
Zusammen mit einem i2c MP3 decoder, sd Interface und Web interface zum befüllen der sd karte und zum abspeichern von URLs für streams.
Wäre eventuell dabei bei der Entwicklung, sofern ich Zeit finde. Wie wäre es mit einem Partnerprojekt?


#12

Ich kann ja morgen mal den bisherigen Sourcecode irgendwo hochladen, zusammen bekommen wir den hier bestimmt fertig. Aber nicht zu viel erwarten, der ist bisher ziemlich dahin gefriemelt und nicht gut bis gar nicht kommentiert.


#13

Ich müsste mir auch erstmal die Teile bestellen, damit ich da anfangen kann.
Muss mir aber auch, wie in meinem vorherigen Post zu sehen, Gedanken um die genaue Peripherie machen.
Der ESP32 hat so viel Leistung, dass man damit viel zu viele schöne Sachen machen kann.


#14

Das würde mich auch interessieren. Ich bin so in Richtung ESP32 gekommen:
Ich möchte gerne im MP3 Titel spulen und einen “resume” der Titel haben.
Das kann der DFPlayer nicht -> VS1053 + Nano. Das klappt ganz gut aber der Nano scheint dabei an seine Grenzen zu kommen und macht nichts anderes mehr als den Buffer des VS1053 zu füllen -> VS1053 + ESP8266 weil der mehr Leistung hat. Der hat allerdings zu wenig IO Ports -> VS1053 + ESP32.
Ich kenne mich mit dem ESP32 aber noch weniger aus als mit dem ESP8266 und bin nun maximal verwirrt. Eigentlich brauche ich den VS1053 nicht mehr aber für mich ist es vermutlich einfacher das Modul weiterhin zu verwenden.
Würde mich also interessieren, wie ihr das realisiert…


#15

Ich habe auch vor einiger Zeit angefangen das Projekt auf einen ESP32 mit VS1053 als Decoder zu übertragen.
Bisher klappt das eigentlich recht gut.

RFID Karten lesen und schreiben funktioniert.
MP3s von der SD Karte lesen und an den VS1053 send klappt auch schon.
Was jetzt noch fehlt ist das Web Interface damit man darüber das erstellen der Karten steuern kann und neue Files auf die SD Karte bekommt. (Und dann fehlt noch ein “haltbarer” Aufbau und ein Gehäuse)!

So sieht bisher mein Testaufbau aus:


#16

Hast Du eine Library für den VS1053 genommen? Ich hatte gehofft, dass ich meinen Arduino Code übernehmen kann, aber so wie es aussieht, muss ich alles neu machen. Magst Du Deinen bisherigen Code veröffentlichen?


#17

Bisher benutze ich eine Library für den VS1053, ich überlege aber die selber zu “überarbeiten” da einige der Funktionen da meiner Meinung nach nicht rein gehören.

Ich hab insgesamt versucht alles in ordentliche cpp Klassen aufzuteilen, damit die einzelnen Teile
problemlos zusammen arbeiten können.
Außerdem benutze ich das vom ESP Framework zur Verfügung gestellte RTOS, so dass z.B.
ein Thread für das “füttern” des VS1053 verantwortlich ist, einer für die Nutzerschnittstelle / RFID Karten und ein dritter für die Weboberfläche.

Geschrieben ist das ganze im Visual Studio Code mit Platformio, wobei ich immer noch das Arduino Framework vom ESP32 nutze, das eigentliche Framework von espiff wollte nicht so wie ich :slight_smile:

Code kann ich die Tage mal veröffentlichen, auch wenn er bisher immer noch viel zusammengebastelt ist.


#18

Das wäre super. Ich glaube, dass hier mehrere an den gleichen Themen arbeiten. Ich würde jetzt ebenfalls anfangen die VS1053 Library (von Adafruit) anzupassen. Diese hier vs1052sdfat bringt alle Funktionen mit die ich benötige. Aber eben nicht mot dem ESP32.
RTOS finde ich ebenfalls spannend, wollte ich aber aufschieben bis die Basics bei mir laufen. D.h. Du benutzt gar keinen IRQ vom VS1053 für das refill?


#19

Ich habe mal den letzen Stand hier abgelegt: https://github.com/CKUL/TonUINO-ESP32
Aber wie gesagt das ist noch ziemlich chaotisch und zusammengebastelt. Habe das Programmieren leider auch nur oberflächlich in der Schule gelernt und auch nicht wie man an einem Code gemeinsam entwickelt, aber Ich denke mit dieser super Community hier bekommen wir das gebacken :smile:


#20

Super. Vielen Dank. Ich bin (auch) weit entfernt von einem Entwickler für Arduino oder ESP32. Der klassische Git-Weg wäre ja über Pullrequests. Vielleicht hat ja noch jemand eine andere Idee. VS hat ja eine Live Share Funktion. Man müsste dann z.B. überlegen wie man DFPlayer und VS1053 in einer Code Basis verbinden könnte.