Inhoudsopgave:
- Dus hoe is dit allemaal mogelijk?
- Wat is er nodig?
- Stap 1: De SD-kaart formatteren
- Stap 2: De SD-kaart voorbereiden
- Stap 3: Zet die Pi aan
- Stap 4: Eerste configuratie
- Stap 5: De installatie bijwerken
- Stap 6: De configuratiebestanden voorbereiden
- Stap 7: Het Hotword instellen
- Stap 8: Audioconfiguratie (deel 1)
- Stap 9: Audioconfiguratie (deel 2)
- Stap 10: de audio testen
- Stap 11: Verbinding maken met de cloud
- Stap 12: Laatste testen
- Stap 13: Google Assistent instellen bij opstarten
- Stap 14: de finishlijn
Video: Handsfree Google Assistant voor Raspberry Pi 14 stappen (met afbeeldingen) - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Hallo en welkom bij mijn eerste Instructable!
In deze instructable ga ik je laten zien wat ik beschouw als de gemakkelijkste manier om een alle zingende, dansende Google-assistent op je Raspberry Pi te installeren. Ze is volledig handsfree met het OK Google-commando en ze start automatisch op wanneer je je Pi opstart. Ze is super cool en serieus eenvoudig in te stellen!
Dus hoe is dit allemaal mogelijk?
Kort geleden heeft Google een doe-het-zelf AI-kit uitgebracht met nummer #57 van The Magpi. Dit maakte het extreem eenvoudig om je eigen Google-assistent te maken, maar het was een beetje moeilijker om de voice-kit te bemachtigen en op veel plaatsen was deze binnen enkele uren uitverkocht.
Gelukkig heeft Google alle software online beschikbaar gemaakt, compleet met volledige instructies. Dit betekende dat we geen exemplaar van The Magpi nodig hadden om te profiteren van al dat harde werk.
Desondanks lijken er geen duidelijke instructies online te zijn over het gebruik van de spraakkit zonder een kopie van het tijdschrift of zonder de hardware die ermee is meegeleverd. In plaats daarvan proberen de meeste tutorials om alles helemaal opnieuw te installeren, wat vaak resulteert in een warboel van code die onmogelijk te volgen is voor niet-codeerders zoals ik.
En dat is waar deze Instructable binnenkomt. Het is het resultaat van 2 dagen hard werken door honderden tutorials, video's en berichten online te bekijken. Het resultaat is een stabiele Google Assistant die bij het opstarten draait en spraakgestuurd wordt met het hotword 'OK Google'.
Wat is er nodig?
Om deze Instructable met succes te voltooien, hebt u het volgende nodig:
- Een Raspberry Pi 3 (met de gebruikelijke microSD-kaart en netsnoer). * Bedankt aan MichaelW142 die heeft bevestigd dat dit ook werkt met Raspberry Pi 2.
- Een basisspeaker met een 3,5 mm aux-aansluiting
- Een USB-microfoon
- Een muis en toetsenbord
Stap 1: De SD-kaart formatteren
Het allereerste dat we moeten doen, is onze SD-kaart formatteren. Laten we de formatteringstool van de SD Association gebruiken, die wordt aanbevolen door de officiële Raspberry Pi Foundation.
Eenmaal geïnstalleerd, start u de applicatie en klikt u op 'Optie'. U moet de optie voor 'FORMAT SIZE ADJUSTMENT' wijzigen in 'ON'.
Klik nu op 'OK' en controleer nogmaals of we de juiste schijf formatteren en klik vervolgens op 'Formatteren'. Dit zou niet te lang moeten duren, wacht gewoon op de bevestiging dat de schijf met succes is geformatteerd voordat u naar de volgende stap gaat.
Stap 2: De SD-kaart voorbereiden
Vervolgens moeten we de Voice Kit microSD-kaartafbeelding voor de Raspberry Pi downloaden. Je kunt de afbeelding downloaden van mijn Google Drive.
Om de afbeelding die we zojuist hebben gedownload naar onze SD-kaart over te zetten, gaan we een programma gebruiken met de naam Etcher.io. Het is gratis, open source en vereist geen installatie.
Nadat u Etcher hebt gedownload, voert u het programma uit en ziet u een scherm zoals hierboven. Het kan een minuut of twee duren om te laden, dus als het niet meteen wordt geladen, heb dan geduld.
Klik op 'Afbeelding selecteren' en navigeer naar de afbeelding van de voicekit die we zojuist hebben gedownload (aiyprojects-2017-05-03.img). Eenmaal geselecteerd, controleer nogmaals of u de inhoud naar de juiste schijf schrijft. Ervan uitgaande dat we de juiste schijf hebben geselecteerd, klik dan op 'Flash!'.
Het kan ongeveer 20 minuten of langer duren om de afbeelding naar je SD-kaart te schrijven, dus voel je vrij om een lekker kopje thee voor jezelf te zetten en ik zie je hier zo weer terug!
Stap 3: Zet die Pi aan
Zodra de SD-kaart klaar is, kunnen we de microSD-kaart in onze Raspberry Pi plaatsen. Op dit punt moeten we ook onze stroomkabel, HDMI-kabel, toetsenbord, muis, monitor, luidspreker en USB-microfoon aansluiten. Hopelijk zou jouw setup er ongeveer zo uit moeten zien als de mijne.
Ik gebruik een draadloos toetsenbord en draadloze muis, dus maak je geen zorgen als je een paar extra kabels krijgt met je eigen setup!
Met de voedingskabel aangesloten, laat je je Raspberry Pi opstarten en krijg je binnenkort de standaard Pixel-desktop te zien.
Stap 4: Eerste configuratie
Pak je cursor en navigeer naar het Raspberry Pi-logo linksboven in je scherm. Selecteer in de vervolgkeuzelijst 'Voorkeuren' en vervolgens 'Raspberry Pi-configuratie'.
Ga vervolgens naar 'Interfaces' en schakel 'SSH' in.
Klik nu op het wifi-logo rechtsboven in het scherm en selecteer je wifi-netwerk. Als uw wifi met een wachtwoord is beveiligd, wordt u gevraagd om dat in te voeren. Het groene vinkje bevestigt dat we succesvol verbinding hebben gemaakt en dat we klaar zijn om naar de volgende stap te gaan.
Stap 5: De installatie bijwerken
Dit is ongeveer net zo geavanceerd als deze tutorial. We gaan de dev-terminal gebruiken om de Google Assistant SDK, Project Kit en afhankelijkheden bij te werken om ervoor te zorgen dat we de nieuwste versies hebben. Raak niet in paniek als dit allemaal niet logisch voor u is, maar het is essentieel dat we deze stap niet overslaan. Doe precies wat deze tutorial zegt en pas op dat je geen typefouten maakt en het komt allemaal goed.
Dus, paniek, laten we beginnen! Dubbelklik op de naam van het bureaubladpictogram 'Start dev terminal'.
Je zou een eng uitziend dev-terminalvenster moeten zien zoals hierboven.
Typ vervolgens de volgende opdrachten in de terminal precies zoals ze hieronder worden weergegeven. Er zijn hier 9 commando's en elk moet afzonderlijk worden ingevoerd in de volgorde waarin ze verschijnen. Druk na het typen van elke opdracht op 'Enter' op je toetsenbord voordat je naar de volgende gaat. Sommige commando's duren een paar seconden om te voltooien, dus wacht geduldig tot ze allemaal zijn voltooid voordat je naar de volgende gaat.
cd ~/assistent-sdk-python
git kassa master
git pull oorsprong master
cd ~/spraakherkenning-raspi
git kassa master
git pull oorsprong master
cd ~/spraakherkenning-raspi
rm -rf env
scripts/install-deps.sh
Stap 6: De configuratiebestanden voorbereiden
Vervolgens moeten we een back-up maken van onze bestaande configuratiebestanden en de nieuwste versies overbrengen die zojuist zijn bijgewerkt. Hier zijn nog 4 opdrachten om precies dat te doen. Deze kunnen worden gedaan in dezelfde dev-terminal die we net gebruikten. Nogmaals, ze moeten in deze volgorde worden gedaan en moeten precies worden getypt zoals ze hieronder worden weergegeven:
cp ~/.config/status-led.ini ~/.config/status-led.ini~
cp ~/.config/voice-recognizer.ini ~/.config/voice-recognizer.ini~
cp ~/voice-recognizer-raspi/config/status-led.ini.default ~/.config/status-led.ini
cp ~/voice-recognizer-raspi/config/voice-recognizer.ini.default ~/.config/voice-recognizer.ini
Stap 7: Het Hotword instellen
Geweldig werk tot nu toe! We komen nu heel dichtbij, dus hou vol.
We moeten nu de trigger voor onze Google AIY-projectkit wijzigen, zodat deze op onze stem reageert wanneer we de woorden 'OK Google' uitspreken.
Typ de volgende opdracht in de dev-terminal:
nano ~/.config/voice-recognizer.ini
Dit zal dit nog enger venster opleveren.
Zoek in dit nieuwe venster naar de volgende code:
# Selecteer de trigger: gpio (standaard), klap, ok-google.
# trigger = klap
We moeten deze code wijzigen in:
# Selecteer de trigger: gpio (standaard), klap, ok-google.
trigger = ok-google
Als u de pijltjestoetsen op uw toetsenbord gebruikt, ziet u een cursor verschijnen. Gebruik de pijltoetsen om de cursor omlaag te brengen naar de tekstregel die we proberen te wijzigen. Gebruik de backspace-toets op uw toetsenbord om de tekstregel die we proberen te wijzigen, te verwijderen en typ deze opnieuw, net als in het bovenstaande voorbeeld.
Merk op dat ik ook het # symbool heb verwijderd, het is belangrijk dat we de # niet opnemen in deze nieuwe regel tekst.
Ik heb een screenshot voor en na bijgevoegd van hoe dit er allemaal uit zou moeten zien (encase ik ben je daar kwijtgeraakt).
Ervan uitgaande dat uw venster er precies zo uitziet als het mijne, kunnen we de wijzigingen sluiten en opslaan. Houd 'Ctrl' op uw toetsenbord ingedrukt en druk op 'X' om het venster te sluiten. We worden dan gevraagd om de gemaakte wijzigingen op te slaan, druk op 'Y' en druk vervolgens op 'Enter' op uw toetsenbord. Het venster wordt nu gesloten en de wijzigingen zijn opgeslagen.
Om ervoor te zorgen dat de wijzigingen van kracht zijn, moeten we de service opnieuw starten. Typ de volgende opdracht in het terminalvenster en druk op 'Enter':
sudo systemctl herstart voice-recognizer.service
Stap 8: Audioconfiguratie (deel 1)
Op dit moment is Google Assistant min of meer levend en klaar om te dienen.. Gefeliciteerd!
Voordat je echter te opgewonden raakt, kun je elkaar niet horen. Dat komt omdat de Google AIY Project Image is geconfigureerd om te werken met de hardware die bij de kit is geleverd. Omdat we een standaard aux-luidspreker en usb-microfoon gebruiken, moeten we een deel van de configuratie aanpassen.
We zullen opnieuw hetzelfde dev-terminalvenster gebruiken, dit keer van het type:
sudo leafpad /boot/config.txt
Dit opent een tekstvenster. Scroll helemaal naar beneden in het document en verwijder de # voor de regel dtparam=audio=on en voeg een # in voor de twee regels eronder.
Nadat u deze wijzigingen heeft aangebracht, zou het er precies zo uit moeten zien:
# Audio inschakelen (laadt snd_bcm2835)
dtparam=audio=aan #dtoverlay=i2s-mmap #dtoverlay=googlevoicehat-geluidskaart
Ik heb ook een screenshot bijgevoegd om je te laten zien hoe dit eruit zal zien.
Ga naar 'Bestand' en klik vervolgens op 'Opslaan'. U kunt het document nu sluiten.
Stap 9: Audioconfiguratie (deel 2)
Terug in de dev-terminal typ je:
sudo leafpad /etc/asound.conf
Wanneer u op 'Enter' drukt, wordt een nieuw tekstdocument geopend. Verwijder deze keer ALLE tekst in het document en vervang deze door het volgende:
pcm.!default { type asym capture.pcm "mic" playback.pcm "speaker" } pcm.mic { type plug slave { pcm "hw:1, 0" } } pcm.speaker { type plug slave { pcm "hw: 0, 0" } }
Nogmaals, ik heb een screenshot bijgevoegd die u laat zien hoe dit eruit zal zien.
Sla het document nogmaals op en sluit het.
Nu is het tijd om je Raspberry Pi opnieuw op te starten. Klik op het Raspberry Pi-logo linksboven in je scherm en klik op 'Shutdown' en vervolgens op 'Reboot'.
Nadat je de Pi opnieuw hebt opgestart, hoeven we nog maar één aanpassing te maken. Dubbelklik nogmaals op het pictogram 'Start dev terminal' en typ het volgende:
leafpad /home/pi/voice-recognizer-raspi/checkpoints/check_audio.py
In dit laatste document moet u de coderegel vinden die luidt:
VOICEHAT_ID = 'googlevoicehat'
Verander dit in:
VOICEHAT_ID = 'bcm2835'
Nadat u deze wijzigingen heeft aangebracht, zoals we eerder hebben gedaan, slaat u dit document op en sluit u het.
Stap 10: de audio testen
Op het bureaublad staat een bestand met de naam 'Check audio'. Dubbelklik hierop en volg de aanwijzingen om ervoor te zorgen dat zowel de spraak als de microfoon werken.
Als je deze Instructable correct hebt gevolgd, zouden er geen problemen moeten zijn. Als u echter niets kunt horen, controleer dan nogmaals of het volume hoog staat en of uw Raspberry Pi 'Analoog' gebruikt voor geluidsuitvoer. Dit doet u door met de rechtermuisknop op het geluidspictogram boven in het scherm te klikken. 'Analoog' moet worden aangevinkt, net als in het voorbeeld in de schermafbeelding.
Ervan uitgaande dat u geslaagd bent voor de audiocontrole, kunnen we doorgaan naar de volgende stap.
Stap 11: Verbinding maken met de cloud
Voordat Google Assistant ons antwoorden geeft op de brandende vragen van het leven, moeten we haar verbinden met Google's Cloud Services.
Dit is gemakkelijk te doen, maar als u nog niet eerder in de cloud bent geweest, lijkt het in het begin misschien een beetje ontmoedigend.
Dit is wat we moeten doen:
1) Open op de Raspberry Pi de Chrome internetbrowser en ga naar de Cloud Console:
2) Log in met een bestaand Google-account of meld je aan als je er nog geen hebt.
3) Maak een nieuw project aan en geef het een naam. Ik noemde de mijne 'Google Pi'
4) Gebruik de zoekbalk om 'Google Assistant' te typen en u zou de 'Google Assistant API' moeten zien. Klik erop en wanneer de volgende pagina wordt geladen, klikt u op 'Inschakelen' om de API te activeren.
5) Ga naar 'API Manager' en vervolgens naar 'Inloggegevens' en maak een 'OAuth 2.0-client' aan.
6) Klik op 'Inloggegevens maken' en selecteer 'OAuth-client-ID'. Als u nog nooit in de cloud bent geweest, wordt u nu gevraagd om uw toestemmingsscherm te configureren. Je moet je app een naam geven, ik noemde de mijne 'Raspberry Pi'. Alle andere velden kunnen leeg worden gelaten.
7) Zoek in de lijst met inloggegevens uw nieuwe inloggegevens en klik op het downloadpictogram aan de rechterkant.
8) De Chrome-browser downloadt nu een klein JSON-bestand waarin al uw inloggegevens veilig zijn opgeslagen. Zoek dit bestand en hernoem het naar 'assistant.json' en verplaats het vervolgens naar /home/pi/assistant.json.
9) Ga ten slotte naar de pagina Activiteitsbeheer: https://myaccount.google.com/activitycontrols en schakel de volgende services in: web- en app-activiteit, locatiegeschiedenis, apparaatinformatie, spraak- en audio-activiteit. Zorg ervoor dat u inlogt met hetzelfde Google-account als voorheen!
Als je op enig moment in deze fase vastloopt, raak dan niet in paniek, Google heeft uitstekend werk verricht door dit proces te documenteren met screenshots voor elke stap op de Google AIY Kit-website.
Stap 12: Laatste testen
Als alles correct was ingesteld in de cloud, zijn we nu klaar om met Google te praten. Gebruik het opdrachtvenster 'Start dev terminal' opnieuw en typ het volgende:
src/main.py
Hierdoor wordt onze assistent wakker, maar aangezien dit de eerste keer is dat we verbinding maken met de services van Google, wordt een webbrowser geopend en moet je inloggen bij Google om toestemming te geven voor de Raspberry Pi om toegang te krijgen tot de Google Assistant API. Zorg er opnieuw voor dat u dezelfde aanmeldingen voor uw Google-account gebruikt als voorheen.
Nadat u succesvol bent ingelogd en toestemming hebt gegeven, wordt u gevraagd het venster te sluiten. Het opdrachtvenster ziet er nu uit als de bijgevoegde schermafbeelding die bevestigt dat alles correct is ingesteld.
Ga je gang, stel een vraag, ze luistert!
Voordat je echter te opgewonden raakt, zijn we nog niet helemaal klaar. Als je klaar bent met spelen, sluit je het venster, hiervoor gebruik je het witte kruis rechtsboven in het venster.
Stap 13: Google Assistent instellen bij opstarten
Ik heb je beloofd dat onze Google Assistent automatisch zou opstarten wanneer we de Raspberry Pi opstarten. Open hiervoor een nieuw opdrachtvenster met behulp van het pictogram 'Start dev terminal' op het bureaublad. Typ de volgende regel code in uw terminalvenster en druk op 'Enter' op uw toetsenbord:
sudo systemctl spraakherkenning inschakelen
We hebben zojuist het automatisch opstarten van onze Google Assistent geconfigureerd met één regel code.. Hoe gemakkelijk was dat!!
Stap 14: de finishlijn
Nu je alle stappen hebt voltooid, ga je gang en start je je Raspberry Pi opnieuw op. Als je al deze instructies zorgvuldig hebt gevolgd, zou Google Assistant op de achtergrond moeten draaien wanneer de Pi wordt geladen. Probeer het eens, zeg OK Google om haar wakker te maken en vraag haar wat je maar wilt!
Ik hoop echt dat je dit Instructable leuk vond. Het is het resultaat van 2 dagen hard werken en veel online lezen. Ik ben absoluut geen programmeur, dus ik heb geprobeerd de gemakkelijkste en meest logische manier te vinden om een werkende Google Assistent op een Raspberry Pi te krijgen en ik geloof dat dit het is.
Als je vragen of suggesties hebt met betrekking tot deze Instructable, laat het me dan weten in de reacties hieronder. Ik hoor ook graag hoe die van jou is bevallen.
Ik heb veel tutorials, blogposts en forumberichten gelezen, maar mijn grootste doorbraken met dit project kwamen van 2 online posts die allebei soortgelijke taken probeerden uit te voeren: https://eduncan911.com/stem/embedded/aiy-google-assistant -upgrades-may-2017.html en https://www.androidauthority.com/build-google-assistant-raspberry-pi-770296/. Deze Instructable is het resultaat van het uitzoeken hoe de twee samen te voegen in een eenvoudige en ongecompliceerde Instructable!
Extra tegoeden
- De Google Assistant SDK heeft al een groot aantal ingebouwde functies, maar er zijn veel 'mods' die je aan de AIY Kit kunt toevoegen om hem wat extra functionaliteit te geven. Ktinkerer heeft een up-to-date lijst van de nieuwste beschikbare mods, check it out! Bedankt cyberwolves om ons erop te wijzen:)
- Wat dacht je van een luidsprekerbehuizing voor je piepende nieuwe AI? Bekijk deze van adylinn.
Als je iets anders kunt bedenken om aan deze Instructable toe te voegen, neem dan contact met ons op:)
Tweede plaats in de eerste auteurswedstrijd
Aanbevolen:
Handsfree-tokens: 15 stappen (met afbeeldingen)
Handsfree-tokens: Hey Geeks, Nu studeer ik in +2 wat gelijk is aan 12th Grade. Ik ben erg geïnteresseerd in informatica en ook mijn hoofdvak is dat. Ik heb veel tijd gestoken in het ontwikkelen van Embedded projecten. Ik heb ongeveer 3 jaar ervaring in de embedde
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Google AIY VoiceHAT voor Raspberry Pi Kit (MagPi 57 versie 2017): 6 stappen (met afbeeldingen)
Google AIY VoiceHAT for Raspberry Pi Kit (MagPi 57 Version 2017): Montagetips voor de MagPi voice kit niet gevonden in de tutorials
Uw afbeeldingen opslaan voor uw taak: 4 stappen (met afbeeldingen)
Uw afbeeldingen opslaan voor uw taak: 1. Open een nieuw Google-document en gebruik deze pagina om uw afbeeldingen te beveiligen.2. Gebruik ctrl (control) en de "c" sleutel om te kopiëren.3. Gebruik ctrl (control) en de "v" sleutel om te plakken
Bereid enkele overtollige PIR-sensoren voor robotica voor: 3 stappen (met afbeeldingen)
Bereid wat overtollige PIR-sensoren voor robotica voor: ik vond een aantal PIR-sensoren op eBay. Ze zijn gemonteerd op een print die is gemaakt voor een handsfree set voor mobiele telefoons. Ik beschrijf hier graag hoe je de sensor voorbereidt voor gebruik in robotica-projecten. Als je niet weet wat een PIR-sensor is