WLAN-Speaker mit ESP32-A1S

Begonnen von romakrau, 16 April 2026, 09:00:01

Vorheriges Thema - Nächstes Thema

romakrau

Hallo zusammen,

nachdem mein WLAN-Speaker mit 8266 Mucken machte fand ich folgendes Projekt:

WLAN-Speaker mit ESP32-A1S

Dieses Projekt vereint viele Vorzüge, die wären:

Verwendung von MQTT
Direkter Aufruf von Google-TTS,
Speichern von Standard-Ansagen möglich,
Abspielen von MP3-Dateien (auf SD-Karte),
Abspielen von Live-Streams,
Zugriff SD-Karte per FTP.

Ferner ist ein Rundruf per MQT auf alle WLAN-Speaker mögleich.

Ich habe folgende Änderung am Soure-Code vorgenommen (War bei mir notwendig):

Die Anpassung von .pio\libdeps\esp32dev\SimpleFTPServer\FtpServerKey.h sollte vor dem Kompilieren erfolgen.

Live-Streams die ssl verwenden sind nicht möglich und sollten vermieden werden.

Viel Spass damit.
Gruß Roman

UPD: Löschung Zeile 22/23 zurück genommen. Läuft auch so.

tomster

Netter Ansatz, aber was spricht gegen die Nutzung eines ESP32 mit Squeezelite?

romakrau

Squeezelite ist ein reiner Streamer. Hiermit ist auch die Anwendung der Sprachausgabe (tts) möglich.

Sind halt komplett unterschiedliche Dinge.

tomster

Servus Roman,
Squeezelite/LMS kann auch TTS. Und Multiroom. Und Spotify. Und...
In Verbindung mit den AMP-Devices von Andriy https://sonocotta.com/esp-products/ - die preislich mit dem A1S locker mithalten können - (oder halt im DIY), finde ich, bekommt man eigentlich "mehr für sein Geld", oder?

romakrau

Jedem das seine.

BTW.: Die Kosten für RPi, Display und Disk schon mal addiert?


tomster

Klar, jeder so wie er will  ;D

Hardwareseitig läuft mein LMS als docker container auf der gleichen Maschine wie FHEM. Die Clients sind ja alles nur headless ESP32.
Und seit dem "Roon Knob"hat sich der WAF dieses Setups quadrillizioniert...
 

Nobbynews

Zitat von: romakrau am 16 April 2026, 09:00:01Ich habe folgende Änderung am Soure-Code vorgenommen (War bei mir notwendig):

Die Anpassung von .pio\libdeps\esp32dev\SimpleFTPServer\FtpServerKey.h sollte vor dem Kompilieren erfolgen.

Wozu war diese Änderung nötig?
Ich habe die Firmware 3.3 von github geflasht und die app.json auf der SD-Karte entsprechend angepasst.
Läuft und ich bin von der Einfachheit begeistert.

romakrau

Sorry, habe deine Antwort erst jetzt gesehen. Die Änderung war in der vorherigen Version notwendig. Die Software hat ein Update erhalten und die Änderung ist nicht mehr notwendig.

Schön das sich noch jemand dafür begeistert.

Nobbynews

Es gibt jetzt eine neue Firmware.
Die v4.1 bietet u.a. auch ein Webinterface.

romakrau

Mir persönlich reicht die Version 3.2.0. Hiermit kann ich die Device Text2Speech ersetzen.
Text mittels tts ausgeben und sich wiederholende Ansagen wie z.B. "Fenster schliessen" ohne Umweg über das Internet als ttm abrufen.

Weitere Anwendungen sind Internetradio, Radiowecker und Einschlafmusik. Letzteres mittels einfachem Ikea TRADFRI on/off switch steuerbar. Ein Webinterface kann man mittels FTUI selber bauen. Meine setList sieht z.B. so aus:

alarm:noArg essz-ls/mp3 /mp3/sirene.mp3
Jazz:noArg essz-ls/ls/mp3 http://stream.srg-ssr.ch/m/rsj/mp3_128
OnLove:noArg essz-ls/ls/mp3 https://0n-love.radionetz.de/0n-love.mp3
WDR-2:noArg essz-ls/ls/mp3 http://wdr-wdr2-rheinland.icecast.wdr.de/wdr/wdr2/rheinland/mp3/128/stream.mp3
WDR-4:noArg essz-ls/ls/mp3 http://wdr-wdr4-live.icecast.wdr.de/wdr/wdr4/live/mp3/128/stream.mp3
say { my $payload = $EVENT;$payload =~ s/$EVTPART0 //g; qq(essz-ls/tts $payload)}
saym { my $payload = $EVENT;$payload =~ s/$EVTPART0 //g; qq(essz-ls/ttm $payload)}
play essz-ls/mp3
stop:noArg essz-ls/stop
vol essz-ls/setVol
ping:noArg essz-ls/ping
live essz-ls/ls/mp3
sleep essz-ls/lpm

Nobbynews

Zitat von: romakrau am 11 Mai 2026, 06:12:59Mir persönlich reicht die Version 3.2.0. Hiermit kann ich die Device Text2Speech ersetzen.
Text mittels tts ausgeben und sich wiederholende Ansagen wie z.B. "Fenster schliessen" ohne Umweg über das Internet als ttm abrufen.

Weitere Anwendungen sind Internetradio, Radiowecker und Einschlafmusik. Letzteres mittels einfachem Ikea TRADFRI on/off switch steuerbar. Ein Webinterface kann man mittels FTUI selber bauen. Meine setList sieht z.B. so aus:
Ich persönlich finde die WEBUI wg. ein paar zusätzlicher angezeigter Information ganz ok. Rest benötige ich auch nicht.
Die Files werden über ttm als MP3-File abgelegt. Da es sich ja sicherlich wie im Beispiel um immer wiederkehrende Ansagen handelt, kann man die jeweilige Datei ja auch nach /mp3 kopieren und sinnvoll umbenennen.