ESP32-S3-BOX-3

hardware podporující Assist Probouzecí slovo pro hlasové ovládání Home Assistant
Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 2901
Registrován: 30. září 2020, 20:33
Dal poděkování: 152 poděkování
Dostal poděkování: 319 poděkování

ESP32-S3-BOX-3

Příspěvek od Pete30 »

Zatím jen začátek tématu k tomuto boxu.
Byl dlouhou dobu vyprodán, ale na Alli. se teď objevil a kvapem mizí jak sleduji.
https://www.aliexpress.com/item/1005005 ... 1802R6wmFS
Vybral a objednal jsem ho z důvodu že posledních informace od vývojového týmu HA a ESPHome bylo sděleno že na tento konkrétní box se vyloženě budou zaměřovat protože má velký potenciál jako assist.
V současné době tedy čekám na zásilku(ve druhé půlce listopadu) a potom zde proběhne seznámení a jak se vše bude vyvíjet.
Pokud máte nějaké další informace, neváhejte a podělte se :like:
Pokud nejsem přítomen tak jsem na rybách ;)

kiklhorn
Moderátor
Moderátor
Příspěvky: 739
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 84 poděkování
Dostal poděkování: 175 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od kiklhorn »

Espressif když představí novinky tak dává v článku i odkaz kde koupit. Alík bývá většinou mezi prvními. Pokud se náhodou objeví Mouser tak je velmi rychlá (2 až 3 dny) doprava.
Předchozí verze: https://www.espressif.com/en/news/ESP32-S3-BOX_video
Současná: https://www.espressif.com/en/news/ESP32-S3-BOX-3

Takže použijte odkaz z předchozího příspěvku Pete30, je to oficiální prodej. Pokud najdete někde levnější tak v tuto chvíli to s největší pravděpodobností bude předchozí generace, s menší pamětí a bez té spousty příslušenství.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

kiklhorn
Moderátor
Moderátor
Příspěvky: 739
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 84 poděkování
Dostal poděkování: 175 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od kiklhorn »

Zatím jen hlásím že jsou doma.
Přílohy
DSC_1846.JPG
DSC_1845.JPG
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

kiklhorn
Moderátor
Moderátor
Příspěvky: 739
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 84 poděkování
Dostal poděkování: 175 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od kiklhorn »

Začínám si připravovat kód, důležité bude

Kód: Vybrat vše

microphone:
  - platform: esp_adf
Buď to bude sedět s předchozím boxem, nebo by mělo stačit forknout a nadefinovat si aktuální

konkrétně:

https://github.com/esphome/esphome/pull/5230
https://github.com/esphome/esphome/pull/5230/files
https://github.com/esphome/firmware/blo ... 3-box.yaml

Pokračování večer, mohlo by to být rychle hotové.
Možná s tím spojím i s3-korvo-2 což je velmi podobný HW.

Schéma S3-BOX-3

Schéma S3-BOX
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

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

Re: ESP32-S3-BOX-3

Příspěvek od Pete30 »

Budu sledovat, zatím čekám a vypadá to že dorazí příští týden.
Jen co jsem četl tak sice sestavení esp32-s3-box použité pro esp32-s3-box-3 ukáže desku v ESPHome, ale údajně to nic víc nedělá.
Možná je jinak GPIO ?
Pokud nejsem přítomen tak jsem na rybách ;)

kiklhorn
Moderátor
Moderátor
Příspěvky: 739
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 84 poděkování
Dostal poděkování: 175 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od kiklhorn »

Prozkoumám, pokud ano tak předpokládám že půjde podstrčit do ESP-ADF parametr board a přinejhorším si tu desku dodefinovat.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

janchan
Aktivní autor
Aktivní autor
Příspěvky: 66
Registrován: 11. květen 2022, 18:54
Dal poděkování: 61 poděkování
Dostal poděkování: 8 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od janchan »

Od včerejška jeden taky doma.
Zkoušel jsem nahrát "esp32-s3-box.yaml", ale nepovedlo se.
Displej je buď tmavý, nebo ho rzsvítím, ale nic na něm není.
Takže budu muset počkat na zkušenější uživatele ...
ESP32-S3-BOX-3-disp.jpg
ESP32-S3-BOX-3-disp.jpg (23.58 KiB) Zobrazeno 217 x
ESP32-S3-BOX-3-bad.jpg

kiklhorn
Moderátor
Moderátor
Příspěvky: 739
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 84 poděkování
Dostal poděkování: 175 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od kiklhorn »

Takže si otevírám schémata, blokově to vypadá velmi podobně, použity stejné kodeky, dívám se na zapojení a

rozdíly v GPIO (ty podstatné...) jsou následující:

S3-BOX............S3-BOX-3
48 lcdrst.......48 lcdrst(reset je možná obrácené polarity)
45 lcd ctrl.....47 lcdctrl
47 I2S_lrck.....45 lrck


Jdu zkusit upravit yaml a snad se za chvíli zas ozvu.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

kiklhorn
Moderátor
Moderátor
Příspěvky: 739
Registrován: 03. červenec 2021, 18:35
Dal poděkování: 84 poděkování
Dostal poděkování: 175 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od kiklhorn »

To podstatné = mikrofony fungují. LEDka, podsvícení displeje a tlačítka také. Displej snad také, měl by, netestoval jsem. Repro nevím, zvuk jsem z něj na první pokus nevyloudil.

Kód: Vybrat vše

esphome:
  name: s3box3
  friendly_name: S3box3
  platformio_options:
    board_build.flash_mode: dio

esp32:
  board: esp32s3box
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
      CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
      CONFIG_ESP32S3_DATA_CACHE_LINE_64B: "y"

# Enable logging
logger:
  hardware_uart: USB_SERIAL_JTAG

# Enable Home Assistant API
api:
  encryption:
    key: "jgVfSe0zIPTlfAEeM2zt5k2exvNL+6LK10sqsQ9qS3k="

ota:
  password: "94431478a5e4b99a956cb61f1a9dcda8"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "S3Box3 Fallback Hotspot"
    password: "sDHiUghr0220"

captive_portal:


# dashboard_import:
#   package_import_url: github://esphome/firmware/voice-assistant/esp32-s3-box.yaml@main


binary_sensor:
  - platform: gpio
    pin:
      number: GPIO1
      inverted: true
    name: "Mute"

  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: true
    name: Top Left Button
    disabled_by_default: true
    on_click:
      - if:
          condition:
            switch.is_off: use_wake_word
          then:
            - if:
                condition: voice_assistant.is_running
                then:
                  - voice_assistant.stop:
                  - script.execute: reset_led
                else:
                  - voice_assistant.start:
          else:
            - voice_assistant.stop
            - delay: 1s
            - script.execute: reset_led
            - script.wait: reset_led
            - voice_assistant.start_continuous:
  - platform: status
    id: api_connection
    filters:
      - delayed_on: 1s
    on_press:
      - if:
          condition:
            switch.is_on: use_wake_word
          then:
            - voice_assistant.start_continuous:
    on_release:
      - if:
          condition:
            switch.is_on: use_wake_word
          then:
            - voice_assistant.stop:

output:
  - platform: ledc
    pin: GPIO47
    id: backlight_output

light:
  - platform: monochromatic
    output: backlight_output
    name: LCD Backlight
    id: led
    restore_mode: ALWAYS_OFF
    disabled_by_default: true
    default_transition_length: 0s
    effects:
      - pulse:
          transition_length: 250ms
          update_interval: 250ms
      - pulse:
          name: Fast Pulse
          transition_length: 50ms
          update_interval: 50ms

microphone:
  - platform: esp_adf
    id: box_mic

speaker:
  - platform: esp_adf
    id: box_speaker

voice_assistant:
  id: va
  microphone: box_mic
  speaker: box_speaker
  use_wake_word: true
  noise_suppression_level: 2
  auto_gain: 31dBFS
  volume_multiplier: 2.0
  vad_threshold: 3
  on_listening:
    - light.turn_on:
        id: led
        brightness: 100%
        effect: pulse
  on_tts_start:
    - light.turn_on:
        id: led
        brightness: 75%
        effect: pulse
  on_end:
    - delay: 100ms
    - wait_until:
        not:
          speaker.is_playing:
    - script.execute: reset_led
  on_error:
    - light.turn_on:
        id: led
        brightness: 50%
        effect: fast_pulse
    - delay: 1s
    - script.execute: reset_led
    - script.wait: reset_led
    - lambda: |-
        if (code == "wake-provider-missing" || code == "wake-engine-missing") {
          id(use_wake_word).turn_off();
        }
  on_client_connected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.start_continuous:
          - script.execute: reset_led
  on_client_disconnected:
    - if:
        condition:
          switch.is_on: use_wake_word
        then:
          - voice_assistant.stop:
          - light.turn_off: led  

script:
  - id: reset_led
    then:
      - if:
          condition:
            switch.is_on: use_wake_word
          then:
            - light.turn_on:
                id: led
                brightness: 25%
                effect: none
          else:
            - light.turn_off: led

switch:
  - platform: template
    name: Use wake word
    id: use_wake_word
    optimistic: true
    restore_mode: RESTORE_DEFAULT_ON
    entity_category: config
    on_turn_on:
      - lambda: id(va).set_use_wake_word(true);
      - if:
          condition:
            not:
              - voice_assistant.is_running
          then:
            - voice_assistant.start_continuous
      - script.execute: reset_led
    on_turn_off:
      - voice_assistant.stop
      - lambda: id(va).set_use_wake_word(false);
      - script.execute: reset_led

external_components:
  # - source: github://pr#5230
    source: github://kiklhorn/esphome
    components: esp_adf
    refresh: 0s

esp_adf:
  # board: esp32s3box3
  board: esp32s3box

psram:
  mode: octal
  speed: 80MHz
Marně jsem se snažil nadefinovat nový board, skončím an defaultním audio HAL ESP32 Lyra...
Mám podezření že je to chybějícím boardem v rejstříku, nevím. Děje se moc věcí co přepisují jiné, konfigurují framework atd... Trochu jsem se ztratil a nemám tušení jak na to. Dlouhá noc...

Takže jsem nakonec vzal blob ESP-ADF v2.5 (branche jsou jen 2.4 a master (2.6) který je poněkud rozbitý...) a prohodil v konfiguraci desky pin displeje s pinem I2S u původního ESP32_S3_BOX.
Vše co si přinesu domů je buď Shelly, nebo to skončí buď pod ESPhome nebo pod Zigbee2mqtt.
Ajťák co pamatuje BBS a OS/2 Warp a je mu jedno o jaký systém nebo síťařinu běží.
HA OS jako jedna z Proxmox VM na Odroid H3+/64GB https://github.com/tteck/Proxmox

janchan
Aktivní autor
Aktivní autor
Příspěvky: 66
Registrován: 11. květen 2022, 18:54
Dal poděkování: 61 poděkování
Dostal poděkování: 8 poděkování

Re: ESP32-S3-BOX-3

Příspěvek od janchan »

Nahrál jsem Tvůj yaml, a u mě funkční.
Díky.

Odpovědět

Zpět na „HW pro Probouzecí slovo“