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
arduino audiokit esp32 m5atom matrix-voice mqtt rhasspy speex voice

ESP32 Rhasspy Satellite

The ESP32 Audio Steamer is designed to work as a satellite for Rhasppy (https://rhasspy.readthedocs.io/en/latest/) Please raise an issue if some of the steps do not work or if they are unclear. Support for Snips is dropped.

Features

Getting started

Matrix Voice

M5 Atom Echo

Audio Kit

INMP441

INMP441MAX98357A

ESP32-POE-ISO

INMP441MAX98357AFASTLED

MQTT commands

The ESP32 Satellite is subscribed to various topics. The topic SITEID/led, where SITEID is the name you have given the device in settings.ini, is used for commands concerning the leds on the device. When publishing to this topic, the led colors and brightness can be altered without coding and will be saved to a config file

The message can contain 10 keys:

Example: {"brightness":20,"idle":[240,210,17,0],"hotword":[173,17,240,0]}

The topic SITEID/audio also can receive multiple commands:

Restart the device by publishing {"passwordhash":"yourpasswordhash"} to SITEID/restart

Known issues

Adding devices

It is possible to add a device that has leds, microphones and/or speakers, the statemachine does not have to change for this.

Adding a device is relatively simple: