Bygg din egen röstassistent: ESPHome-mikrofon för Home Assistant
Sluta förlita dig på molnbaserade smarta högtalare. Vi visar hur du bygger en lokal, integritetsvänlig röstassistent med ESP32 och ESPHome.
Att ha en röststyrd hemassistent är bekvämt, men många drar sig för att placera molnuppkopplade mikrofoner från stora teknikjättar i sina privata utrymmen. Genom att bygga en egen mikrofon med ESP32 och ESPHome kan du få full lokal kontroll över din röststyrning.
Varför lokal röststyrning?
Den största fördelen med att använda ESPHome för röststyrning är integriteten. All ljudbehandling sker lokalt inom ditt eget nätverk via Home Assistant Assist. Det innebär att ingen data skickas till externa servrar, vilket skyddar din data samtidigt som du slipper beroenden av externa molntjänster.
Varför bygga en egen mikrofon?
Den största fördelen med att använda ESPHome för röststyrning är att all ljudbehandling kan ske lokalt inom ditt eget nätverk via Home Assistant Assist. Det innebär att ingen data skickas till externa servrar, vilket skyddar din integritet samtidigt som svarstiderna ofta blir kortare.
Hårdvara som krävs
För att bygga en stabil röstsatellit behöver du komponenter som stöder I2S (Inter-IC Sound), vilket är standarden för digital ljudöverföring i dessa sammanhang:
- ESP32-utvecklingskort: En modell med stabil strömförsörjning rekommenderas.
- INMP441 eller SPH0645: Digitala I2S-mikrofoner som ger betydligt bättre ljud än analoga alternativ.
- Kopplingskablar: För att ansluta mikrofonen till ESP32-pinnarna.
Kopplingsschema och konfiguration
När du ansluter din I2S-mikrofon är det viktigt att använda rätt GPIO-pinnar. I2S kräver tre huvudsakliga anslutningar: klocka (SCK), ordval (WS) och data (SD).
Optimera för röstupptagning
Placera mikrofonen en bit bort från ESP32-chippets antenn för att minimera elektriska störningar. Använd gärna en 3D-printad låda med ett dedikerat hål för mikrofonmembranet för att fokusera ljudet…
Flashning via webbläsaren
- Anslut din ESP32 till datorns USB-port.
- Öppna web.esphome.io eller din lokala ESPHome-instans i en webbläsare som stöder WebUSB (t.ex. Chrome eller Edge).
- Klicka på Connect och välj din enhet i listan.
- Välj Prepare for first use för att installera grundmjukvaran.
Konfiguration i ESPHome
När enheten är ansluten till ditt Wi-Fi kan du redigera YAML-koden för att aktivera mikrofonen. Här är ett exempel på hur du konfigurerar din voice_assistant:
i2s_audio:
i2s_lrclk_pin: GPIO25
i2s_bclk_pin: GPIO26
microphone:
- platform: i2s_audio
id: board_mic
adc_type: external
data_pin: GPIO33
pdm: false
voice_assistant:
microphone: board_mic
on_listening:
- light.turn_on: led_status
Använd Dashboarden
Om du redan kör Home Assistant är det smidigast att sköta allt via ESPHome-appen. Där kan du enkelt klicka på "Edit" på din nya enhet, klistra in koden ovan och klicka på Install trådlöst (OTA).
Integrering och prestanda
När du har flashat din ESP32 kommer den att dyka upp som en ny enhet i Home Assistant. För att röststyrningen ska fungera optimalt behöver du ha konfigurerat Assist Pipeline under Inställningar.
Lokal Whisper (tal-till-text) kan vara krävande. Om du kör Home Assistant på en äldre Raspberry Pi kan svarstiderna bli lidande. En Mini-PC eller en Raspberry Pi 5 rekommenderas för en sömlös upplevelse.
Genom att använda denna setup kan du nu styra dina Zigbee-enheter eller köra komplexa automationer med enkla röstkommandon – helt utan att en enda byte lämnar ditt hus.