Romkabouter / ESP32-Rhasspy-Satellite

The repo has implementing an esp32 standalone MQTT audio streamer. Is is desinged to work as a satellite for Rhasspy (https://rhasspy.readthedocs.io/en/latest/). It supports multiple devices
GNU General Public License v3.0
358 stars 64 forks source link

Developpent of new esp #138

Closed orrionis closed 8 months ago

orrionis commented 8 months ago

Hello, i purchase this

https://www.espressif.com/en/news/ESP32-Korvo

for technical information:

https://github.com/espressif/esp-skainet/blob/master/docs/en/hw-reference/esp32/user-guide-esp32-korvo-v1.1.md

I want to use with rhasspy, i have a just an esphome code:

`esphome: name: ${device_name} min_version: 2023.11.0 platformio_options: board_build.flash_mode: dio on_boot:

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

external_components:

source: github://rpatel3001/esphome@es8311 components: [ es8311 ] source: github://rpatel3001/esphome@es7210 components: [ es7210 ] source: github://pr#5230 components: esp_adf Enable logging logger:

API KEY api: encryption: key: ${apikey}

OTA PASSWORD ota: password: ${wifi_password} safe_mode: true reboot_timeout: 3min num_attempts: 3

text_sensor:

platform: wifi_info ip_address: name: “${device_name} IP Address” time: platform: homeassistant id: homeassistant_time

WIFI PASSWORD wifi: networks:

ap: ssid: ${device_name} password: ${wifi_password}

i2c: sda: GPIO19 scl: GPIO32 scan: true frequency: 400kHz

es8311: address: 0x18

es7210: address: 0x40

output:

platform: gpio id: pa_ctrl pin: GPIO12 i2s_audio:

id: codec i2s_lrclk_pin: GPIO22 i2s_bclk_pin: GPIO25 i2s_mclk_pin: GPIO0 id: mic_adc i2s_lrclk_pin: GPIO26 i2s_bclk_pin: GPIO27 i2s_mclk_pin: GPIO0 speaker:

platform: i2s_audio id: external_speaker dac_type: external i2s_audio_id: codec i2s_dout_pin: GPIO13 mode: mono microphone:

platform: i2s_audio id: external_mic adc_type: external i2s_audio_id: mic_adc i2s_din_pin: GPIO36 pdm: false voice_assistant: id: voice_asst microphone: external_mic speaker: external_speaker noise_suppression_level: 2 auto_gain: 15dBFS volume_multiplier: 0.5 use_wake_word: false on_listening:

script:

id: reset_led then: if: condition: switch.is_on: use_wake_word then:

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(voice_asst).set_use_wake_word(true); if: condition: not:

platform: esp32_rmt_led_strip id: led_ring name: “${device_name} Light” pin: GPIO33 num_leds: 12 rmt_channel: 0 rgb_order: GRB chipset: ws2812 default_transition_length: 0s effects: pulse: name: “Pulse” transition_length: 0.5s update_interval: 0.5s addressable_twinkle: name: “Working” twinkle_probability: 5% progress_interval: 4ms addressable_color_wipe: name: “Wakeword” colors:

platform: template name: “${device_name} Volume Up” id: btn_volume_up platform: template name: “${device_name} Volume Down” id: btn_volume_down platform: template name: “${device_name} Set” id: btn_set platform: template name: “${device_name} Play” id: btn_play platform: template name: “${device_name} Mode” id: btn_mode platform: template name: “${device_name} Record” id: btn_record on_press: output.turn_on: pa_ctrl voice_assistant.start: light.turn_on: id: led_ring brightness: 100% effect: “Wakeword” on_release: voice_assistant.stop: output.turn_off: pa_ctrl light.turn_off: id: led_ring Status de connection platform: status name: “${device_name} Status” sensor:

id: button_adc platform: adc internal: true pin: 39 attenuation: 11db update_interval: 15ms filters: median: window_size: 5 send_every: 5 send_first_at: 1 delta: 0.1 on_value_range: below: 0.55 then: binary_sensor.template.publish: id: btn_volume_up state: ON above: 0.65 below: 0.92 then: binary_sensor.template.publish: id: btn_volume_down state: ON above: 1.02 below: 1.33 then: binary_sensor.template.publish: id: btn_set state: ON above: 1.43 below: 1.77 then: binary_sensor.template.publish: id: btn_play state: ON above: 1.87 below: 2.15 then: binary_sensor.template.publish: id: btn_mode state: ON above: 2.25 below: 2.56 then: binary_sensor.template.publish: id: btn_record state: ON above: 2.8 then: binary_sensor.template.publish: id: btn_volume_up state: OFF binary_sensor.template.publish: id: btn_volume_down state: OFF binary_sensor.template.publish: id: btn_set state: OFF binary_sensor.template.publish: id: btn_play state: OFF binary_sensor.template.publish: id: btn_mode state: OFF binary_sensor.template.publish: id: btn_record state: OFF Wifi signal platform: wifi_signal name: “${device_name} WiFi Signal” update_interval: 60s`

Can you help to adapt this for a full work rhaaspy sattellite.

Thanks

Romkabouter commented 8 months ago

Sorry, this repo is not for ESPHome

orrionis commented 8 months ago

I know. I want to transform this esphome code for use with rhasspy without esphome

I post this code, for hello if needed

⁣Télécharger BlueMail pour Android ​

Le 19 janv. 2024, 17:43, à 17:43, Paul Romkes @.***> a écrit:

Sorry, this repo is not for ESPHome

-- Reply to this email directly or view it on GitHub: https://github.com/Romkabouter/ESP32-Rhasspy-Satellite/issues/138#issuecomment-1900744405 You are receiving this because you authored the thread.

Message ID: @.***>

Romkabouter commented 8 months ago

If you want to use this repo with Rhasspy, you must create a new device and specify the correct GPIO values matching your device. In the readme there is a section about adding new devices. Hope it helps.

But if your device works with Esphome, I would personally go with that :)

orrionis commented 8 months ago

Humm ok . This device inbesphome can work whith rhasppy ? Via home assistant ?

⁣Télécharger BlueMail pour Android ​

Le 19 janv. 2024, 18:46, à 18:46, Paul Romkes @.***> a écrit:

If you want to use this repo with Rhasspy, you must create a new device and specify the correct GPIO values matching your device. In the readme there is a section about adding new devices. Hope it helps.

But if your device works with Esphome, I would personally go with that :)

-- Reply to this email directly or view it on GitHub: https://github.com/Romkabouter/ESP32-Rhasspy-Satellite/issues/138#issuecomment-1900835588 You are receiving this because you authored the thread.

Message ID: @.***>

Romkabouter commented 8 months ago

I don't know, you posted the esphome code so I was assuming yes :)