Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Fragen zum Erwerb der Hardware. Welcher Raspberry sollte es sein? Welche externe Hardware lässt sich nutzen?
Antworten
bmmagic
User
User
Beiträge: 7
Registriert: Do 28. Mär 2024, 23:38

Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von bmmagic »

Vorab: Home Assistant auf Pi4-8GB. Mein Handicap: Ich kann nicht Englisch und bin auf Deutsche Anleitungen angewiesen.
Ich habe im Home Assistant einen ZigBee Wasserleck Detektor aufgenommen, der "natürlich" auch bei Bedarf melden soll.
HA benutze ich, damit meine Daten lokal bleiben können.

  • Meine erste Idee: <sirene.mp3>; VLC Media Player; Bluetooth Lautsprecher. Leider ist es mir nicht gelungen einen Bluetooth Lautsprecher zu HA integrieren!
  • Nun habe ich, das BESTE Video über einen lokalen Sprachassistenten gefunden. Leider benötige ich, für den Nachbau mehr Informationen und hoffe,
    das ich sie hier bekommen kann. Habe ein ESP32 Audio Kit schon bekommen...aber...
    a. Mit welcher Spannung arbeitet das Bord?
    b. Welche Lautsprecher kann/darf man anschließen und wie viel Ohm sollen sie haben?
    c. Wie müssen die Schalter auf dem Bord stehen?
    d. Muss man die Pfosten Stecker/Jumper bestücken und falls ja, wie?
    e. Kann man auch die eingebauten Mikrofone (vernünftig) nutzen?
    f. Das Bord hat eine Menge Schalter. Braucht man sie?
    g. Kann/muss man den SD Slot nutzen?
    Und...und...und...

Benutzeravatar
ei23felix
Administrator
Administrator
Beiträge: 306
Registriert: Sa 17. Jul 2021, 10:44
Kontaktdaten:

Re: Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von ei23felix »

a. Mit welcher Spannung arbeitet das Bord?

Das Bord läuft mit 5V / USB der ESP32 Chip mit 3.3V, es ist ein Spannungsregler verbaut.

b. Welche Lautsprecher kann/darf man anschließen und wie viel Ohm sollen sie haben?

Die verbauten Verstärker vertragen kleine Lautsprecher (ich meine 2-3Ohm Impendanz)

c. Wie müssen die Schalter auf dem Bord stehen?
d. Muss man die Pfosten Stecker/Jumper bestücken und falls ja, wie?
f. Das Bord hat eine Menge Schalter. Braucht man sie?

Die Taster und Jumper sind nicht relevant, kann man nutzen, muss man nicht.

g. Kann/muss man den SD Slot nutzen?

nein

e. Kann man auch die eingebauten Mikrofone (vernünftig) nutzen?

Die Mikrofone kann man nur mit ESPHome nutzen.

Es gibt verschiedene Varianten von Boards, mit verschiedenen Audiowandlern (DAC), da muss man austesten welchen man hat. Üblicherweise ist es der ES8388, seltener der AC101.
Mit ChatGPT oder dem Google Übersetzer sollte es möglich sein Übersetzungen zu erstellen.


Ich hefte dir mal meine Linksammlung an:

Mein Video hast du ja vermutlich gesehen:
https://www.youtube.com/watch?v=DwotxrCvHTA

Testen welche Version des AudioKit mit Arduino (AudioKitTest) - Library anpassen
https://github.com/pschatzmann/arduino-audiokit
Ausgabe über Kopfhörerausgang, wenn richtige Version

Squeezelite-ESP32
https://sle118.github.io/squeezelite-esp32-installer/
https://github.com/sle118/squeezelite-esp32

DAC Config für Squeezelite
1x: dac_config: model=AC101,bck=27,ws=26,do=25,di=35,sda=33,scl=32
5x: dac_config: model=ES8388,bck=5,ws=25,do=26,sda=18,scl=23,i2c=16
0x: dac_config: model=ES8388,bck=27,ws=25,do=26,sda=33,scl=32,i2c=16

ESP-Home
https://community.home-assistant.io/t/e ... yer/522245
oder
https://community.home-assistant.io/t/e ... =hareeshmu

Datenblatt
https://www.fambach.net/preview-esp32-audio-kit-esp32/

Multiroom:
https://community.home-assistant.io/t/s ... ant/193788
https://www.peter-shaw.de/2021/07/multi ... ueezelite/
https://registry.hub.docker.com/r/lmsco ... ediaserver

  • Böse Menschen sind selten tatsächlich böse, meistens eher faul oder dumm.
  • Du kannst nur dann sicher sein, wenn du weißt, dass du nie ganz sicher sein kannst.
  • Du kannst nur unabhängig werden, wenn du weißt, dass du nie ganz unabhängig sein wirst.

bmmagic
User
User
Beiträge: 7
Registriert: Do 28. Mär 2024, 23:38

Re: Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von bmmagic »

@ei23felix, Du kannst Dir nicht vorstellen, wie ich mich über Deine schnelle Antwort(en) gefreut habe. Und über die Menge an Informationen, die Du mir mitgeteilt hattest. Und möglichst kannst Du Dir auch vorstellen wie "erschlagen" ich mich NUN fühle...?
Vorab: Mein OS ist Linux Mint 21.3 Cinnamon, der Browser (Standard) Firefox. Manchmal bietet er mir an eine Seite zu übersetzen. Eine weitere übersetzte leider nicht. Ich hatte eine eine gute Erfahrung mit <Deepl> gemacht, leider übersetzte er "letzten Zeit" nur ein kleines Teil eines Dokuments,
und erst nach einem Monat ein weiteres Teil...Schade.

  • Wie ich <ChatGPT> nutzen kann weiß ich leider nicht, ich glaube, das man sich dazu anmelden muss, wo von ich "kein Freund bin".
  • <Google Übersetzer> nutze ich, wenn ich, "ungern" im Windows arbeiten "muss". Die Übersetzungen von technischen Dokumenten waren meistens
    "sehr dürftig" bis unbrauchbar. U.U. hat sich die Qualität, (seit dem <KI> modern geworden ist) gebessert...
    ----------------------------------------------------------------------------------------------------------------------------------------------
  • Natürlich habe ich Dein Video "bewundert". Und die Frage dazu? Kann man einige Teile bei Dir bestellen?
    Ich muss "das Rad nicht neu entdecken!"
  • Nach Deinem Hinweis: Preview-ESP32... lese ich auf der Unterseite ESP32-A1S; B3:8.
    Ich nehme an, das bei mir ES8388 eingebaut ist.
  • Als nächstes hätte ich gern den <Squeezelite> installiert. Habe schon das Bord über USB (UART) mit PC verbunden, die Seite aufgemacht und sehe dort das mein Browser die Installation nicht unterstützt. :-( Aber eine "schlaue" Webseite!
    Also werde nun "notgedrungen" zum Windows wechseln müssen...
    ...und später berichten...

bmmagic
User
User
Beiträge: 7
Registriert: Do 28. Mär 2024, 23:38

Re: Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von bmmagic »

nun bin ich "so weit"...
es hatte "ein bisschen" länger gedauert:

  • Die Seite https://sle118.github.io/squeezelite-esp32-installer/ funktionierte vorbildlich,
    mein Gerät wurde ohne Probleme verbunden. Aber dann:
    als ich den Quadrat für löschen ankreuzte, erschien Anzeige "löschen" und der im Windows üblichen "update" Kreisring...
    ...habe etwa 1/2 Std. gewartet, dann vorsorglich die <BOOT> Taste für 10 Sec gedrückt und etwa 1 Std. wieder gewartet.
  • Dann habe ich den PC heruntergefahren, das Bord entfernt, neu gebootet und das "Spiel" wiederholt, aber ohne ankreuzen.
    Und...es funktionierte sofort. Zu erst wurde das Bord gelöscht. Als nächstes wurde ich gefragt ob ich die "I2S-4MFlash-16 2.1672
    installieren möchte und nach der Auswahl wurde Geräte Dashboard installiert.
  • In der nächsten Auswahl bekam ich die Meldung, das mein Terminal nicht unterstützt wird und etwas von Putty, was ich leider nicht
    verstehe. Anbei die Log:

    Code: Alles auswählen

    ets Jul 29 2019 12:21:46
    
    rst:0x1 (POWERON_RESET),boot:0x1f (SPI_FAST_FLASH_BOOT)
    configsip: 0, SPIWP:0xee
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
    mode:DIO, clock div:1
    load:0x3fff0030,len:6424
    load:0x40078000,len:15632
    load:0x40080400,len:4348
    entry 0x40080688
    I (27) boot: ESP-IDF v4.3.5-dirty 2nd stage bootloader
    I (27) boot: compile time 03:05:16
    I (27) boot: chip revision: v3.1
    I (31) qio_mode: Enabling default flash chip QIO
    I (36) boot.esp32: SPI Speed      : 80MHz
    I (41) boot.esp32: SPI Mode       : QIO
    I (45) boot.esp32: SPI Flash Size : 4MB
    I (50) boot: Enabling RNG early entropy source...
    I (55) boot: Partition Table:
    I (59) boot: ## Label            Usage          Type ST Offset   Length
    I (66) boot:  0 nvs              WiFi data        01 02 00009000 00004000
    I (74) boot:  1 otadata          OTA data         01 00 0000d000 00002000
    I (81) boot:  2 phy_init         RF data          01 01 0000f000 00001000
    I (89) boot:  3 recovery         factory app      00 00 00010000 00140000
    I (96) boot:  4 ota_0            OTA app          00 10 00150000 002a0000
    I (104) boot:  5 settings         WiFi data        01 02 003f0000 00010000
    I (111) boot: End of partition table
    I (115) boot: Defaulting to factory image
    I (120) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=53878h (342136) map
    I (223) esp_image: segment 1: paddr=000638a0 vaddr=3ffbdb60 size=04858h ( 18520) load
    I (229) esp_image: segment 2: paddr=00068100 vaddr=40080000 size=07f18h ( 32536) load
    I (240) esp_image: segment 3: paddr=00070020 vaddr=400d0020 size=d1724h (857892) map
    I (476) esp_image: segment 4: paddr=0014174c vaddr=40087f18 size=0c8b8h ( 51384) load
    I (493) esp_image: segment 5: paddr=0014e00c vaddr=400c0000 size=00068h (   104) load
    I (504) boot: Loaded app from partition at offset 0x10000
    I (504) boot: Disabling RNG early entropy source...
    I (515) psram: This chip is ESP32-D0WD
    I (516) spiram: Found 64MBit SPI RAM device
    I (516) spiram: SPI RAM mode: flash 80m sram 80m
    I (519) spiram: PSRAM initialized, cache is in low/high (2-core) mode.
    I (526) cpu_start: Pro cpu up.
    I (530) cpu_start: Starting app cpu, entry point is 0x40081298
    I (0) cpu_start: App cpu up.
    I (1035) spiram: SPI SRAM memory test OK
    I (1045) cpu_start: Pro cpu start user code
    I (1045) cpu_start: cpu freq: 240000000
    I (1045) cpu_start: Application information:
    I (1048) cpu_start: Project name:     Squeezelite-ESP32
    I (1054) cpu_start: App version:      I2S-4MFlash-1672
    I (1060) cpu_start: Compile time:     Mar 22 2024 03:06:21
    I (1066) cpu_start: ELF file SHA256:  035e94d04f4c2941...
    I (1072) cpu_start: ESP-IDF:          v4.3.5-dirty
    I (1077) cpu_start: Min chip rev:     v1.0
    I (1082) cpu_start: Max chip rev:     v3.99 
    I (1087) cpu_start: Chip rev:         v3.1
    I (1092) heap_init: Initializing. RAM available for dynamic allocation:
    I (1099) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
    I (1105) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
    I (1111) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
    I (1118) heap_init: At 3FFC47F8 len 0001B808 (110 KiB): DRAM
    I (1124) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
    I (1130) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
    I (1137) heap_init: At 400947D0 len 0000B830 (46 KiB): IRAM
    I (1143) spiram: Adding pool of 4059K of external SPI memory to heap allocator
    I (1152) spi_flash: detected chip: generic
    I (1156) spi_flash: flash io: qio
    I (1161) cpu_start: Starting scheduler on PRO CPU.
    I (0) cpu_start: Starting scheduler on APP CPU.
    I (1171) spiram: Reserving pool of 64K of internal memory for DMA/internal allocations
    I (1181) esp_app_main: System is booting from power on.
    I (1191) esp_app_main: Reset reason is: 1
    I (1191) esp_app_main: Recovery Reboot counter=1
    
    I (1191) esp_app_main: Starting app_main
    I (1201) nvs_utilities: Initializing flash nvs 
    I (1211) nvs_utilities: Initializing nvs partition settings
    I (1261) esp_app_main: Setting up telnet.
    I (1261) telnet: Telnet support disabled
    I (1261) esp_app_main: Setting up config subsystem.
    W (1341) nvs_utilities: Configuration memory usage.  Heap internal:262931 (min:262555) (used:15140) external:4152147 (min:4144499) (used:0)
    I (1341) esp_app_main: Registering default values
    I (1341) system_api: Base MAC address is not set
    I (1351) system_api: read default base MAC address from EFUSE
    W (1361) config: Waiting for config commit ...
    I (2341) config: configuration has some uncommitted entries
    I (2341) config: Committing configuration to nvs. Locking config object.
    I (2351) config: Done Committing configuration to nvs.
    I (2351) config: Config committed!
    I (2351) esp_app_main: Configuring services
    I (2351) services: Configuring I2C sda:-1 scl:-1 port:1 speed:400000
    W (2361) services: no I2C configured
    I (2361) services: Configuring SPI mosi:-1 miso:-1 clk:-1 host:1 dc:-1
    W (2371) services: no SPI configured
    W (2381) led: LED GPIO -1 ignored
    W (2381) led: LED GPIO -1 ignored
    I (2381) led: Configuring LEDs green:-1 (on:0 rmt:-1 -1% ), red:-1 (on:0 rmt:-1 -1% )
    I (2391) battery: No battery
    I (2401) monitor: Initializing monitoring
    I (2401) monitor: Heap internal:263419 (min:262527) external:4135811 (min:4135795) dma:217071 (min:216195)
    I (2411) esp_app_main: Initializing display
    I (2421) display: Trying to configure display with N/A
    W (2421) display: No display driver
    I (2431) esp_app_main: Initializing led_vu
    I (2431) led_vu: led_vu configuration invalid
    I (2431) esp_app_main: Checking for update url
    W (2441) config: Value not found for key fwurl
    0;33mW (2461) config: Value not found for key apdelay
    I (2461) uart: queue free spaces: 3
    I (2461) network_handlers: Network manager configuration: polling max 10176, polling min 15000, ap delay 20000, dhcp timeout 8000, eth timeout 8000
    W (2481) network_wifi: No known access point found
    E (2481) nvs_utilities: Could not open the nvs storage.
    W (2491) network_wifi: network manager has no previous configuration. ESP_FAIL
    I (2491) http_server: Initializing HTTP Server
    I (2511) network_handlers: Running recovery. Skipping ethernet, starting WiFi
    I (2521) wifi:wifi driver task: 3ffc952c, prio:23, stack:6656, core=0
    I (2521) wifi:wifi firmware version: 9ec65ef
    I (2521) wifi:wifi certification version: v7.0
    I (2521) wifi:config NVS flash: enabled
    I (2531) wifi:config nano formating: disabled
    I (2531) wifi:Init data frame dynamic rx buffer num: 40
    I (2531) wifi:Init management frame dynamic rx buffer num: 40
    I (2541) wifi:Init management short buffer num: 32
    I (2541) wifi:Init static tx buffer num: 12
    I (2551) wifi:Init tx cache buffer num: 32
    I (2551) wifi:Init static rx buffer size: 1600
    I (2561) wifi:Init static rx buffer num: 12
    I (2571) wifi:Init dynamic rx buffer num: 40
    I (2571) wifi_init: tcpip mbox: 32
    I (2571) wifi_init: udp mbox: 32
    I (2571) wifi_init: tcp mbox: 32
    I (2581) wifi_init: tcp tx win: 8192
    I (2581) wifi_init: tcp rx win: 32768
    I (2591) wifi_init: tcp mss: 1440
    I (2591) wifi_init: WiFi/LWIP prefer SPIRAM
    I (2591) network_wifi: Starting wifi
    I (2601) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
    I (2691) wifi:mode : sta (a0:a3:b3:ed:09:48)
    I (2691) wifi:enable tsf
    
    W (2691) network_handlers: No saved wifi. Starting AP configuration mode.
    I (2691) network_wifi: Configuring Access Point.
    I (2701) network: Stopping DHCP server
    I (2701) network: Starting DHCP server
    I (2711) network_wifi: AP SSID: squeezelite-ed948
    I (2711) network_wifi: AP Password: squeezelite
    I (2731) wifi:mode : sta (a0:a3:b3:ed:09:48) + softAP (a0:a3:b3:ed:09:49)
    I (2731) wifi:Total power save buffer number: 6
    I (2731) wifi:Init max length of beacon: 752/752
    I (2741) wifi:Init max length of beacon: 752/752
    ****************************************************************
    RECOVERY APPLICATION
    This mode is used to flash Squeezelite into the OTA partition
    ****
    
    I (3271) wifi:Total power save buffer number: 6
    I (3281) wifi:Total power save buffer number: 6
    I (3281) wifi:Set ps type: 1
    
    I (3291) network_wifi: Initiating wifi network scan
    I (3291) dns_server: DNS Server listening on 53/udp
    Type 'help' to get the list of commands.
    Use UP/DOWN arrows to navigate through command history.
    Press TAB when typing command name to auto-complete.
    
    
    
    
    ****************************
    Your terminal application does not support escape sequences.
    Line editing and history features are disabled.
    On Windows, try using Putty instead.
    ****************************
    

    Wie geht es...Bitte...weiter?

bmmagic
User
User
Beiträge: 7
Registriert: Do 28. Mär 2024, 23:38

Re: Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von bmmagic »

"auch ein blindes Huhn findet mal ein Korn."
in der Log stehen Zugangsdaten für ein W-Lan...leider hat mein PC kein W-Lan...aber ich konnte mich mit Laptop anmelden.
-Leider sah ich dort nichts. Als ich aber die Beschreibung übersetzt habe, sah ich die anmelde Adresse: 192.168.4.1
Da nach...es funktionierte und ich konnte mich in meinem Netzwerk anmelden. ;-))

  • Das war aber... Du schreibst DAV Config für verschiedene Modelle...aber ich habe die Einstellungen nicht gefunden. :-(
    Habe ein paar Bilder gemacht. Mus ich etwas ändern? Falls nein,(was ich hoffe)...
    Bild

Und nun? Wie melde ich das System und kontrolliere die Funktionen?
a. für den Anfang werde ich Kopfhörer nutzen
b. im zweiten Ausbau möchte ich kleine Lautsprecher "versuchen"
c. ???

Dateianhänge
SPI Parameter
SPI Parameter
I2C Parameter
I2C Parameter
LED Strip Optionen
LED Strip Optionen
SPDIF
SPDIF
Hardware
Hardware
System
System
Audio
Audio
Status
Status

bmmagic
User
User
Beiträge: 7
Registriert: Do 28. Mär 2024, 23:38

Re: Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von bmmagic »

"Wer lesen kann ist im Vorteil."
Aus Verzweiflung habe ich mehrmals Deine Videos angeschaut...und tatsächlich die nötigen Einstellungen "gefunden". Und...es funktioniert :D
DANKE.
Leider bin kein "Held"...und werde Dich und "muss" um weitere Hilfe bitten.
Zum testen ist es mir "irgendwie" gelungen, unten Media <RadioBrowser> zu finden und die Quelle zum einstellen der Parameter zu nutzen.
Das war aber.
Wie ich das Gerät als HA Ausgabe Gerät nutzen kann ist mir "noch" unklar.
Nach Ostern fahre ich, für 14 Tage weg...also hast Du Ruhe von mir, aber dann werde ich es weiter versuchen.
DANKE und frohe Ostern.
Bohu

Dateianhänge
ESP32-A1_Status_IO.png
ESP32-A1_Hardware_01-IO.png
ESP32_A1_Audio_IO.png
HA-o1_IO.png

Benutzeravatar
ei23felix
Administrator
Administrator
Beiträge: 306
Registriert: Sa 17. Jul 2021, 10:44
Kontaktdaten:

Re: Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von ei23felix »

Hast du den Logitech Media Server denn schon installiert?
Die Ansteuerung über Home Assistant geht zwar, aber über den LMS ist die Musikauswahl, Synchronisation etc. natürlich geeignet.
Wenn du die Synchronisation nicht brauchst, kannst du auch einen Mediaplayer mit ESPHome nutzen, da ist die Integration in Home Assistant besser.

  • Böse Menschen sind selten tatsächlich böse, meistens eher faul oder dumm.
  • Du kannst nur dann sicher sein, wenn du weißt, dass du nie ganz sicher sein kannst.
  • Du kannst nur unabhängig werden, wenn du weißt, dass du nie ganz unabhängig sein wirst.

bmmagic
User
User
Beiträge: 7
Registriert: Do 28. Mär 2024, 23:38

Re: Lokale Sprachausgabe mit ESP32 Audio Kit, aber wie?

Beitrag von bmmagic »

@Felix, vielen Dank für die Anfrage...Antwort = Jein...habe ich?
Ich dachte "ja". Ich habe bei der Integration nach Squeezebox eingegeben und Integriert. Es Funktionierte sofort und ich war glücklich.

  • Nach dem Du nun nach LMS fragtest, habe ich zu erst Dein Video "genauer" angeschaut und GESEHEN, das Du zu erst in Minute 6:00
    "Logitech" und erst dann "Sgueezebox" gewählt hast. :oops:
  • Ich bin nicht sicher ob es die gleiche Anwendung ist, die ich habe..?
    Info: Ich habe versucht, genau nach Deinem Video (zusätzlich) den LMS Squeezebox zu installieren und es "schien" zu funktionieren.
    Als ich dann der "ursprünglichen" gelöscht und neu gebootet habe...funktionierte nichts mehr.
    Als Lösung habe ich Backup aufgespielt. Mehr traue ich mich nicht...
    Sende die Bilder von dem ist Zustand.
    Bild
    leider schaltet er selbständig aus.
    leider schaltet er selbständig aus.
    Es funktioniert
    Es funktioniert
    Es ist SlimProto
    Es ist SlimProto
  • Kann ich es so lassen?
  • Falls nicht, wie soll ich BITTE vorgehen?
Dateianhänge
Habe den Namen nach der Anlage vergeben.
Habe den Namen nach der Anlage vergeben.

Antworten