ESP32-A1S v LMS a HA

www
Odpovědět
Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

ESP32-A1S v LMS a HA

Příspěvek od Pete30 »

Je zde rok hlasu v HA tak jen pár projektů na toto téma.
Dostala se mi do rukou zajímavá deska Ai-Thinker ESP32-Audio-Kit, která se dá použít jako hudební přehrávač, oznamovatel HA nebo jako hlasový asistent protože je vybavena mikrofony.
Tato první část je určena k vytvoření přehrávače integrovaného do HA
Pokud někdo má již v provozu server LMS potom celý proces je docela jednoduchý a to použitím projektu:
https://github.com/sle118/squeezelite-e ... rformances
Pro první flesh použijte https://sle118.github.io/squeezelite-esp32-installer/
Deska Ai-Thinker ESP32-Audio-Kit má na sobě esp32 RAM 520KB SRAM+8M PSRAM,
linkový, sluchátkový výstup, piny pro připojení 2 ks repro 4 ohm/3W (deska obsahuje 3W zesilovač) + 6 tlačítek a další ( bat, slot SD, BT přehrávač)
a1s.jpg
Jen pozor na to že deska je prodávána v několika provedeních, která se liší v použití GPIO a některá GPIO jsou sdílena s tlačítky a LED.
Vlastním 2 kousky a to verze 2.2 A247
Výše na obrázku je již deska v provozu jako hudební přehrávač který je po správné konfiguraci nalezen serverem LMS kde se objeví jako další
squeezelite přehrávač a stejně tak ho najde i HA.
Použití jako hudební přehrávač i rádia, oznamovatel pro HA.
Vše se nastavuje v grafickém rozhraní esp32-A1s přes editor NVS
Výhody: stabilní, rozšiřitelné, boot několik skund, žádná SD karta, vše v jednom a v neposlední řadě levnější jak Rpi zero + SD + zesilovač v cca stejné kvalitě zvuku.
Další možností je přidat na GPIO grafický display na rozhraní SPI kde poběží přehrávaná skladba a equalizer + rotační enkodér pro ovládání hlasitosti a přepínání oblíbené, ale to až v další části :o
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od Pete30 »

Dokumentace pro tuto desku je příšerná :oops:
Jako přehrávač funguje skvěle i v HA, ale už si trhám zbytek vlasů při zprovoznění displeje.
Vyzkoušel jsem ILI9341 (SPI) i SSD1306 (I2C) co se mi tu válel a prostě kdybych se po..... nechodí to :!:
Buď dělám něco špatně nebo fakt netuším
Toto jsem našel od desky, ale já mám v 2.2. A247 a netuším jestli je v nich rozdíl.
audiokit.jpg
Výsledkem je vždy jen svítící display nebo deska zamrzne a začínám znovu.
Problémem je že deska má málo GPIO a většina je sdílena s tlačítky, LED, zesilovačem a slotem SD karty.
Ještě objednám enkodér jestli se mi podaří alespoň ten rozchodit.
Pokud má někdo nápad dejte vědět.
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od Pete30 »

Vyhrazeno pro další informace
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od Pete30 »

Část druhá
K ovládání assist jsem použil stejnou desku, ale ve v 2.2 A149.
Pozor na tyto desky protože mají HW chybu a to špatně umístěné kondenzátory pro mikrofony.
Vedle každého mikrofonu je umístěn kondenzátor na poslední pozici a nad ním je pozice volná a přesně tam je potřeba kondenzátory přesunout.
Kupoval jsem je na https://www.laskakit.cz/ai-thinker-esp32-audio-kit/ kde ochotně po upozornění desku opravili a další budou kontrolovat, za mě :like:
Nicméně po kompilaci kódu na esp32-A1s vše proběhlo bez komplikací a deska naběhla v LAN síti a přidělila HA 14 entit.
První test byl spuštění přehrávače, který funguje v pohodě.
Další test byl hlasový příkaz zapnutí světla, který k mému překvapení také fungoval (zapnutí/vypnutí hlas česky) :shock:
web audio_kit.png
Samozřejmě je to začátek a stále musíte stisknout tlačítko, v tomto případě a použití tohoto kódu (KEY6)

Kód: Vybrat vše

esphome:
  name: esp32-audio-kit

esp32:
  board: esp-wrover-kit
  framework:
    type: arduino

logger:

api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  ap:
    ssid: "esp32-audio-kit Fallback Hotspot"
    password: "jZJzUPE9Usag"

captive_portal:

web_server:
  port: 80

i2c:
  sda: GPIO33
  scl: GPIO32
 
external_components:
  - source: github://mulcmu/esphome-es8388-a1s@nightdav-patch
    components: [es8388]
    refresh: 0s

  ####Není potřeba, pokud jde o verzi 2023.5.0 nebo novější
  # - source: github://pr#4775
  #   components: [adc, i2s_audio, microphone]
  #  refresh: 0s
 
es8388:
media_player:
  - platform: i2s_audio
    name: "ESPAudioKit"
    id: AudioKit
    i2s_dout_pin: GPIO26
    dac_type: external
    mode: stereo

i2s_audio:
  i2s_lrclk_pin: GPIO25
  i2s_bclk_pin: GPIO27

microphone:
  - platform: i2s_audio
    i2s_din_pin: GPIO35
    id: mic1
    adc_type: external
    pdm: false

switch:
  - platform: gpio
    pin: GPIO21
    name: "AMP Switch"
    restore_mode: ALWAYS_ON

voice_assistant:
  microphone: mic1
    
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO39
      inverted: true
      mode:
        input: true
    name: "Jack Status"

  - platform: gpio
    pin:
      number: GPIO036
      inverted: true
    name: "Key 1"
    filters:
      - delayed_off: 10ms

  - platform: gpio
    pin:
      number: GPIO013
      inverted: true
    name: "Key 2"
    filters:
      - delayed_off: 10ms

  - platform: gpio
    pin:
      number: GPIO019
      inverted: true
    name: "Key 3"
    filters:
      - delayed_off: 10ms
      
  - platform: gpio
    pin:
      number: GPIO023
      inverted: true
      mode:
        input: true
        pullup: true
    name: "Key 4"
    filters:
      - delayed_off: 10ms
      
  - platform: gpio
    pin:
      number: GPIO018
      inverted: true
      mode:
        input: true
        pullup: true
    name: "Key 5"
    filters:
      - delayed_off: 10ms
      
  - platform: gpio
    pin: 
      number: GPIO005
      inverted: true
      mode:
        input: true
        pullup: true
    name: "Key 6"
    filters:
     - delayed_off: 10ms

    on_press:
      - voice_assistant.start:
    on_release:
      - voice_assistant.stop:
    on_click:
      - media_player.toggle: AudioKit  

light:
  - platform: binary
    name: "Test LED 1"
    output: light_output_1
  - platform: binary
    name: "Test LED 2"
    output: light_output_2
 
output:
  - id: light_output_1
    platform: gpio
    pin: GPIO22
    inverted: true
  - id: light_output_2
    platform: gpio
    pin: GPIO19
    inverted: true
Jediný zádrhel je že se mi zatím nepodařilo zprovoznit hlasovou odezvu přes tuto desku i přesto že hlasové příkazy fungují a media player normálně přehrává mediální soubor.
Pokud někdo najde řešení dejte vědět.
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 801
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od tiimsvk »

Ahoj dne smi prišla táto doska z ali vo verzii 2.2 A247. Neviem kedy budem mať čas sa s tym hrať ale použitie ako prehrávač a inteligentný reproduktor s vyhodami esphome kde možem konfigurovať periferie ako chcem ja je super.

Inak ak potrebuješ ďalsie gpio tak buď expander alebo vyhoď tlačitka a použi tie.
Respektive ak potrrebuješ tlačitka tak na expandery a ostatne GPIO použi na čo potrebuješ.

Mám otazky nakoľko som to zatial vobec neštudoval:
- je možné v esphome vytvoriť z tejto dosky bluetooth reproduktor kde sparujem mobil s ňou a prehravam hudbu z mobilu?
- je možné ju použiť ako inteligentny reproduktor zadam prikaz cez mic a odošle do ha? (to asi sa da z toho čo čitam)
- je možné pripojiť sd kartu s hudbou a prehravať? to asi sa neda cez esphome či?
- je možné prehravať priamo z HA servera hudbu do tohto zariadenia?
- je možné pridať online rádio?

Display moze mať problém s i2c zbernicou nahoď tam frequency: 100kHz (napr) alebo skontroluj aké máš pullup resistory stáva sa mi že mi nefunguje i2c ak máš priamo na zariadeniach niekde 1k niekde 10k niekde 4.7k a maš to poprepajane tak sa mu to nepáči väčšinou to odpalim a dam jednotne 10k

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od Pete30 »

tiimsvk píše: 12. červen 2023, 09:28 Ahoj dne smi prišla táto doska z ali vo verzii 2.2 A247

Mám otazky nakoľko som to zatial vobec neštudoval:
- je možné v esphome vytvoriť z tejto dosky bluetooth reproduktor kde sparujem mobil s ňou a prehravam hudbu z mobilu?
- je možné ju použiť ako inteligentny reproduktor zadam prikaz cez mic a odošle do ha? (to asi sa da z toho čo čitam)
- je možné pripojiť sd kartu s hudbou a prehravať? to asi sa neda cez esphome či?
- je možné prehravať priamo z HA servera hudbu do tohto zariadenia?
- je možné pridať online rádio?
Mrkni na tu tvoji desku jestli má dobře napájeny kondenzátory pro mikrofony pokud je chceš používat (předpokládám že budou špatně) budeš je muset přesunout
S tím GPIO to není tak jednoduché, je to hodně sdílené mezi sebou uvidíš sám :o rozchodil jsem encoder (ovládání hlasitosti)
teď čekám na oled display z Číny tak dám vědět
1 jednu desku používám podle části 1 a tam je možné toto, ale nezkoušel jsem
bt esp32.png
bt esp32 šablony.png
2 druhou desku jsem testoval podle části 2 a ano pokud fungují mikrofony (viz HW chyba na desce, kondenzátory) odeslání hlasového příkazu funguje viz log v části 2, ale nejede mi zpětná odezva z repro
3 sd karta asi nepůjde nenašel jsem žádné informace
4 pokud máš server LMS (nedám na něj dopustit funguje super) můžeš přehrávat co chceš( viz část 1) včetně internet rádia z HA (odpověď na poslední otázku). Podle části 2 ESPHome se to chová jako každý jiný přehrávač v HA a přehrávat lze co potřebuješ, internet rádia pojedou také jen konfigurace je trochu jiná.
5 Takže ano ;)
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 801
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od tiimsvk »

Chybny kondenzator:
20230612_101207.jpg
Ktory máš na mysli? Tam kde je logo ?

1. To musim vyskúzšať len nie je čas :D
2. Zatial mam od xiaomi inteligentny reproduktor ale bolo by pekne mať všetko pod jednou strechou, zaz na druhej strane zatial som sa moc nenaučil použivať hlasove prikazy (iba ak pustit hudbu alebo vysavač :D)
3. Myslim, že SD este cakame kedy zacne podporovať esphome (to by bolo super aj pri esp32cam)
4/5 Super stači sa s tym začať hrať

Rád spájam vsetko do jedneho :D takze esp, ktoré by bolo zase mutlimedialne + ovladanie nejakých blizkych zariadení (teplomer/switch/... atď)
Joj milujem esphome :D

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od Pete30 »

Budeš muset přesunout na volnou pozici výše (tato hw chyba je na většině těchto desek)
20230612_101207.jpg
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
tiimsvk
Dárce - Donátor
Dárce - Donátor
Příspěvky: 801
Registrován: 06. květen 2021, 07:03
Dal poděkování: 72 poděkování
Dostal poděkování: 65 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od tiimsvk »

ďakujem to nebude problem

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3332
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: ESP32-A1S v LMS a HA

Příspěvek od Pete30 »

Dnes dokončen projekt z první části.
Nakonec se podařilo rorchodit oled display SPI, který zobrazuje spektrální analyzátor a co právě hraje (lze změnit i na vumetr) a rotační encoder k ovládání hlasitosti včetně grafického běžce na displeji.
Bude použito pravděpodobně jako oznamovatel zpráv pro HA.
Až bude chvilka dám sem nastavení v NVS editoru protože není zrovna jednoduché najít správnou kombinaci GPIO protože jsou sdíleny.
Přehrává rádio
esp32_a1_eq.jpg
Hlasitost
esp32_a1_hlasitost.jpg
Stop
esp32_a1_stop.jpg
Pokud nejsem přítomen tak jsem na rybách ;)

Odpovědět

Zpět na „ESPHome“