ESP32 Port inkl. Webinterface


#121

Also Ich habe nicht nachgemessen, habe keine Powerbank/Akku verbaut. Aber laut Datenblatt soll die Spannungsversorgung min. 500mA liefern können, das WLAN selber benötigt davon schon bis zu 100mA.


#122

ESP32 + VS1053 + SD Karte + RFID Leser brauchen bei mir so 120mA ( ohne WLAN ) und ohne Strom sparen.

Masseflächen bringen bei unseren Frequenzen keine Vorteile, sondern sorgen nur dafür das sich die Platine bei der Produktion " krümmt" und deshalb evtl. schlechter zu fertigen ist.


#123

Das stimmt. Als Elektriker, hast du aber völlig andere Grundkenntnisse als ich.
Haus-Elektrik, ist allerdings mittlerweile zu meinem Hobby geworden und ich habe mich ziemlich intensiv mit selbst gebauten SPS-Anlagen ( E2000 ) beschäftigt.

Teilweise mein Haus, die gesamte Außenanlage und die Pool-Steuerung habe ich fertig gestellt.

Programmieren habe ich mehrfach versucht, ich werde mit dem Thema aber nicht warm.


#124

Auch wenn ich mich damit jetzt “oute”:

Ich bin Elektronik Ingenieur im Bereich Forschung und Entwicklung und meine Spezialisierung ist die Entwicklung von Embedded Systeme ( Hard- und Software ) :smiley:


#125

Das passt ja hier wie die Faust aufs auge :grin::+1:


#126

-> Hell year brother of Metal :wink:
Dito


#127

Vor allem ist das meine Ausrede warum ich so etwas nicht fertig kaufen will.

Allerdings habe ich seit ~10 Jahren kein c++ mehr geschrieben und mit einem RTOS hab ich auch noch nicht gearbeitet.
Ich frag mich schon ob ich das nicht als Weiterbildung geltend machen kann


#128

Dito. Ich sag auch immer was ich selber kann brauch ich nicht fertig kaufen zumindest wenn Kosten und Spaß in guter relation stehen😁
Oben drauf kommen noch die ganzen grottigen Firmen die unsere Hausverwaltung hier immer anschleppt, da würde man es lieber selber machen… das vertrauen in so genannte “Meisterbetriebe” ist bei mir derzeit stark geschrumpft.


#129

Kleiner Hinweis am Rande, habe bei der Suche nach den Bauteilen und Eagle .lbr SnapEDA.com entdeckt, das ist ziemlich cool, da gibt es ziemlich alle Bauteile die es derzeit gibt und man kann sich die Symbole footprints und 3d Modelle für ziemlich alle Programme herunterladen, zudem sind die Datenblätter direkt verfügbar und man bekommt Händler und Preise angezeigt.


#130

Nice, in der Tat! (-:


#131

Hi,
ich werde mich der Fraktion ESP32 + VS1053 anschließen. Letzterer ist noch in der Post der Rest ist schon da.

Was mich noch grundsätzlich nervt ist der Gedanke neue Audiofiles auf die SD Karte spielen zu müssen. Hat schonmal jemand darüber nachgedacht die via WLAN auf das Device zu bringen? Verschiedene Varianten wären denkbar:

  • Vom NAS automatisch synchronisieren:
    ** via HTTP - erfordert aber wohl mindestens ein php script zusätzlich
    ** via FTP, ESP ist Client und synchronisiert sich mit mit dem FTP auf dem NAS - da würde man ohne Scripte auskommen

  • manuell:
    ** ESP ist FTP Server, neue Files werden manuell hochgeladen.


#132

Ist ja schon in planung/arbeit


#133

Mir wäre ein clientseitiger Sync auch lieber aber war abgeschreckt davon das zu implementieren. Wenn Du da Ideen oder schon Code hast, gerne…


#134

Hmmm, das wäre in der Tat etwas dass ich eventuell beisteuern könnte…
Und es ließe sich als eigene Komponente/Klasse entwickeln.

WebDAV habe ich nie verwendet bisher. Da ist mir nicht klar wie groß da die Einstiegs-Hürde ist.
Ich tendiere zu FTP, Client auf dem ESP und Server auf dem NAS - das müsste eigentlich jedes NAS out of the box können.

Andere Gedanken?

Edit: Hab gerade das hier gefunden - wenn das funktioniert wäre das extrem einfach einzubinden…


#135

Das hatte ich auch gefunden und war deshalb in Richtung WEBDav abgebogen.
Ist nur die Frage wie die Performance ist - müssen wir ausprobieren.


#136

Die Performance sollte ausreichen. So viele Daten sind es sicher nicht, man muss ja nichts hochladen während der Player gerade abspielt und das Projekt ist ursprünglich für den ESP8266, der ESP 32 hat auf jeden Fall noch mal mehr Leistung.


#137

@TheSealion Nochmal zu RTOS. Ich habe zum Testen bei mir ja einen KY-040 für die Lautstärke definiert. Nun ist mir aufgefallen, dass die Lautstärkeregelung ziemlich “lagged” wenn ein MP3 File abgespielt wird.
Ich denke, dass liegt am Loop von der vs1053 Library. Die Library liest das File und wartet dann darauf dass der Buffer frei wird und sendet anschließend. Dadurch hängen wir etwas länger im loop und das xQueueReceive vom MP3Player - Task wird verzögert ausgeführt. (Volume Up / Down sende ich in die Queue des MP3Plyers).

Ich habe zum Test einen zusätzlichen Task erstellt, welcher nur den loop vom vs1053 ausführt -> deutlich besser.
Oder aber, man “bedient” den VS1053 über einen Interrupt - das wäre sicher auch gut. (dann kommt aber wieder mein Problem mit Interrupts in Klassen)

Was meinst Du?


#138

Ich denke man müsste die loop Funktion vom VS1053 überarbeiten, damit er beim warten die Controller an das RTOS zurückgibt und somit ein anderer Task ausgeführt werden kann.

Dein zusätzlicher Task hat das Problem, dass dann zwei Tasks ( der Loop Task und der MP3 Player) unsyncronisiert auf die VS1053 Klasse zugreifen. Das gibt garantiert irgendwann Fehler.

Interrupts ist das gleiche Problem (unabhängiger von der C und C++ mischung die für die Interrupts nötig ist)


#139

Na ja, das ist ja ein Task. Im MP3Player Task kommt erst der Loop vom vs1053 und dann prüfen wir die Queue. Ich konnte es etwas verbessern, indem er sofort wieder raussprint wenn der “Buffer-Free-PIN” down ist. Es ist besser aber nicht perfekt. Ich lasse das jetzt erst einmal so. Ich bin inzwischen nicht mehr so sehr von der Lautstärkeregelung über einen Drehregler überzeugt und bei einem Tastendruck wird man die Verzögerung nicht merken…


#140

Ich habe jetzt mal einen FTP Server auf dem ESP ausprobiert.
Basis:


und dann nochmal so modifiziert, dass man auch Verzeichnisse anlegen und löschen kann

Man kann jetzt z.B. mit FileZilla Tracks und Directories rüber schieben.

Geschwindigkeit ist eher gemächlich (wenn man Gigabit gewohnt ist), 160kib/s ist das höchste der Gefühle. Mein Testtracks waren um die 12 MB, Einer mit 12.718.898 Bytes wurde in 72 Sekunden übertragen. Ein Album in der Qualität also eher so 15 Minuten…

Edit:

Nachtrag: Mit 32k Buffer wird es deutlich schneller: “14.787.842 Bytes in 34 Sekunden übertragen”, das sind um die 420kib/s. (Bei 64k Buffer schmiert er ab, das untersuche ich nochmal.)

Edit2:
die 400k sind ohne Schreiben auf die SD Karte :frowning: - Programmierfehler. 200k/s sind das aktuell Maximum. Ich schau mal ob man die SD Karte noch schneller bekommt…