Inhoudsopgave:

Alexa Voice Assistant op Raspberry Pi Zero Docking Hub - Ajarnpa
Alexa Voice Assistant op Raspberry Pi Zero Docking Hub - Ajarnpa

Video: Alexa Voice Assistant op Raspberry Pi Zero Docking Hub - Ajarnpa

Video: Alexa Voice Assistant op Raspberry Pi Zero Docking Hub - Ajarnpa
Video: Alexa Voice Assistant on Raspberry Pi Zero Docking Hub 2024, November
Anonim
Image
Image
Alexa Voice Assistant op Raspberry Pi Zero Docking Hub
Alexa Voice Assistant op Raspberry Pi Zero Docking Hub

Om een elegante Alexa Voice Assistant te bouwen op een Pi Zero W met minder draden en USB-dongles, gebruik ik de Raspberry Pi Zero Docking Hub van Makerspot. Deze docking-hub heeft een ingebouwde audiocodec die een microfoon en een luidspreker kan hosten via de 3,5 mm audio-aansluiting.

Laten we beginnen.

Stap 1: Verkrijg deze onderdelen

Krijg deze onderdelen
Krijg deze onderdelen

Dit zijn de onderdelen die je nodig hebt:

  1. 1x Raspberry Pi Nul W
  2. 1x Raspberry Pi Zero Docking Hub
  3. 1x HDMI-monitor
  4. 1x HDMI-kabel (let op: Pi Zero W vereist een mini-HDMI-connector)
  5. 1x 5v USB 1 A voedingsadapter
  6. 1x micro-USB-kabel
  7. 1x USB-toetsenbord
  8. 1x USB-muis
  9. 1x mini-microfoon voor mobiele telefoon/tablet (degene die gesplitste luidsprekerpoort ondersteunt)
  10. 1x externe luidspreker met 3,5 mm audio-aansluiting.
  11. 1x 3,5 mm audiokabel (man-naar-man)
  12. 1x 8G micro SD-kaart
  13. PC (voor het flashen van de SD-kaart met Raspbian OS-image)

Stap 2: Bereid de SD-kaart voor met het nieuwste Raspbian-besturingssysteem (Stretch/Jessie)

Het zou een goed idee zijn om te beginnen met een nieuw Raspbian-besturingssysteem. Er zijn een paar manieren om een nieuw Raspbian OS op een SD-kaart voor te bereiden. Maar ik ontdekte dat het gebruik van Etcher met een volledige Raspbian-afbeelding efficiënt en minder foutgevoelig is.

  1. Download en installeer Etcher (https://etcher.io/) voor uw host-pc.
  2. Download de nieuwste Raspbian-afbeelding van
  3. Plaats de SD in uw pc
  4. Open Etcher, selecteer de Raspbian-afbeelding, vervolgens het SD-kaartstation en druk op Flash!

Zodra de afbeelding is voorbereid, verwijdert u de kaart veilig en maakt u zich klaar voor de volgende stap.

Stap 3: Stel uw Pi en Docking Hub in

Uw Pi en Docking Hub instellen
Uw Pi en Docking Hub instellen
Uw Pi en Docking Hub instellen
Uw Pi en Docking Hub instellen

U moet uw Pi Zero W op de Raspberry Pi Zero Docking Hub installeren. Er zijn 4 sets schroeven en afstandhouders en het duurt minder dan een minuut om te monteren.

Plaats de voorbereide SD-kaart in de Pi Zero W. Sluit uw monitor aan op de HDMI-poort van de Pi Zero W (dit moet worden gedaan voordat u de Pi aanzet), sluit het USB-toetsenbord en de muis aan en sluit tenslotte de microfoon en luidspreker aan. Om op te starten, sluit u de 5v USB-voedingskabel aan op de voedingspoort op de docking-hub (NIET DE PWR-POORT OP DE PI).

Je zou het normale Raspbian-besturingssysteem op de monitor moeten zien verschijnen.

Stap 4: Configureer uw Pi

Configureer uw Pi
Configureer uw Pi
Configureer uw Pi
Configureer uw Pi
Configureer uw Pi
Configureer uw Pi

Wifi instellen

Klik met de linkermuisknop op het wifi-pictogram in de bovenste balk. Kies uw netwerk om verbinding te maken. U hoeft dit maar één keer te doen, tenzij de netwerkinstelling is gewijzigd of moet worden gewijzigd.

Standaard audio instellen

Deze stap is belangrijk om de Raspberry Pi Zero Docking Hub-audio te laten werken met de standaard Alexa-software.

Start een terminal en bewerk /boot/config.txt

sudo nano /boot/config.txt

Schakel de analoge en hdmi-audio uit door '#' in te voegen voor de volgende regel in het bestand:

#dtparam=audio=aan

Druk op ctrl-x, y en enter om op te slaan.

Bewerk in dezelfde terminal ~/.asoundrc

nano ~/.asoundrc

Vervang de inhoud van dat bestand door het volgende:

pcm.!standaard {

type plug slave { pcm "hw:1, 0" } } ctl.!default { type plug kaart 1 }

Druk op ctrl-x, y en enter om op te slaan.

Helaas heb ik nog geen permanente manier gevonden om de standaard in te stellen. In de tussentijd moet je het bij elke startup doen.

SSH/VNC inschakelen (optioneel)

Als u de monitor, het toetsenbord en de muis bij de volgende keer opstarten niet wilt gebruiken, kunt u met deze opties op afstand toegang krijgen tot de Pi. Deze opties staan onder Voorkeur/Raspberry Pi-configuratie, ga dan naar Interfaces en vink de SSH- en VNC-opties aan.

Stap 5: installeer Alexa-software

Ik ga de uitstekende instructies van het Alexa AVS-voorbeeldproject niet herhalen. Ga gewoon naar hun Github-project (link) en volg daar de instructies om de Alexa-software in te stellen.

Hoewel er een paar aandachtspunten zijn:

  1. Je kunt stap 1 overslaan omdat je je Pi al hebt ingesteld.
  2. Kies "1/3,5 mm audio" in een van de bevestigingsvragen die worden gesteld door het script automatic_install.sh.
  3. Ik kan de Sensory wake-word-engine niet starten (onwettige instructie aangetroffen), dus gebruik ik Snowboy (kitt_ai).

Stap 6: Alexa, High Five

Gefeliciteerd! Zeg "High Five" tegen Alexa.

Als je SSH (of VNC-server) hebt ingeschakeld, kun je de Pi opnieuw opstarten en Alexa-software headless uitvoeren (zonder monitor/toetsenbord/muis). Voer in uw pc drie SSH-terminals uit en maak verbinding met de Pi. Gebruik die terminals om de uitvoerbare bestanden van Alexa te starten (d.w.z. "npm start", "mvn exec:exec" en "wakeWordAgent -e kitt_ai"). Een ander voordeel van headless draaien is dat het Alexa java programma (mvn exec:exec) wat soepeler loopt.

Over het algemeen ben ik onder de indruk van de prestaties van de Alexa-sample die op Pi draait - de spraakopname is behoorlijk responsief, nauwkeurig en betrouwbaar. Er is zeker een prestatiekloof tussen de native Echo (Dot) en deze opstelling, maar de kloof is niet zo groot. Een ding waar ik echter niet blij mee ben, is dat ik Amazon Prime Music niet op deze opstelling kan laten spelen, hoewel iemand zei dat Prime Music wordt ondersteund. Misschien is er een verschil wat Amazon toestaat tussen Canada en de VS of iets dat ik niet goed heb ingesteld. Als je weet hoe je Prime Music kunt krijgen met het Alexa-voorbeeld, laat het me dan weten.

Aanbevolen: