Inhoudsopgave:
- Stap 1: Dingen die je nodig hebt
- Stap 2: USB-microfoon instellen
- Stap 3: Uw luidsprekeruitgang instellen
- Stap 4: Test de microfoon en luidsprekers
- Stap 5: Download de vereiste pakketten en configureer de Python-omgeving:
- Stap 6: Het Google Assistant Cloud Project inschakelen
- Stap 7: Authenticatie van de Raspberry Pi
- Stap 8: De LED-indicator instellen
- Stap 9: Initialiseren bij opstarten voltooid:
- Stap 10: De Google Assistent starten tijdens het opstarten
- Stap 11: Conclusie
Video: Pi Home, een door Raspberry aangedreven virtuele assistent - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
De Google Home is handig om overal in huis te hebben. Het is een prachtig apparaat met ingebouwde Google Assistant - een ultramoderne digitale persoonlijke assistent van Google. Het kan media afspelen, je herinneringen en notities opslaan, je de lengte van je woon-werkverkeer vertellen, domotica doen. Het kan overal in je huis worden geplaatst en het zal een aantal geweldige dingen voor je doen, maar het is een dure aangelegenheid als je ' weet niet zeker of je het zult gebruiken. Maar goed nieuws, je kunt een volledig functionele maken met een Raspberry Pi.
Aan het einde van deze handleiding heb je een volledig functionerende Google Home die reageert op je spraakopdrachten. Anders is het een Assistent met alle functies van Google Home. Wat betekent dat het eenheidsconversies kan doen, media kan afspelen, scores kan controleren, audioboeken kan voorlezen, het weer kan controleren en nog veel meer. Het werkt ook met een verscheidenheid aan domotica-apparaten zoals slimme gloeilampen, zodat u ze met uw stem kunt bedienen. Net als de echte Google Assistent, kan je doe-het-zelf Google Home worden gekoppeld om meer functies toe te voegen, zoals het toevoegen van taken aan Evernote of om een melding op je telefoon te krijgen wanneer de timer afgaat.
Stap 1: Dingen die je nodig hebt
Je hebt nodig:
- Raspberry Pi 3 of 2 met Raspbian geïnstalleerd en wifi-installatie.
- Voeding en MicroUSB-voedingskabel. (Minimaal 5V, 2A)
- Micro SD kaart. (Minimaal 8 GB)
- Een USB-microfoon. (Je krijgt veel informatie over hoe je via internet kunt instellen, ook hier …)
- Sprekers
- Een toetsenbord en een muis voor installatie
- Een LED en een paar draden om aan te sluiten
Alle dingen verzameld, aangesloten en aangesloten, laten we beginnen.
Stap 2: USB-microfoon instellen
- De Pi heeft geen ingebouwde microfoons. U moet een USB-microfoon aansluiten als u audio wilt opnemen.
- Sluit uw USB-microfoon aan op een van de USB-slots van uw Pi.
- Typ de volgende opdracht in de terminal.
een record -l
Met deze opdracht worden alle beschikbare audio-opnameapparaten weergegeven. Het is leeg als uw USB-microfoon is aangesloten. Je zou de volgende output moeten krijgen
pi@raspberrypi:~ $ arecord -l
**** Lijst met CAPTURE-hardwareapparaten **** kaart 1: apparaat [USB PnP-geluidsapparaat], apparaat 0: USB-audio [USB-audio] Subapparaten: subapparaat #0: subapparaat #0
U kunt zien dat uw USB-apparaat is aangesloten op kaart 1 en de apparaat-id is 0. Raspberry Pi herkent kaart 0 als de interne geluidskaart, dat wil zeggen bcm2835 en andere externe geluidskaarten als externe geluidskaarten met de naam kaart 1, kaart 2 en volgend op…
Nu moeten we de audioconfiguraties wijzigen. Typ de volgende opdracht om het bestand asound.conf te bewerken
sudo nano /etc/asound.conf
Voeg onderstaande regels toe aan het bestand. Druk vervolgens op Ctrl+X en daarna op Y om het bestand op te slaan
pcm.!standaard {
type asym capture.pcm "mic" playback.pcm "speaker" } pcm.mic { type plug slave { pcm "hw:1, 0" } } pcm.speaker { type hw-kaart 0} ctl.!default { type hw-kaart 0 }
Hiermee stelt u uw externe microfoon (pcm.mic) in als het audio-opnameapparaat (pcm!.default) en uw ingebouwde geluidskaart (kaart 0) als het luidsprekerapparaat.
Maak een nieuw bestand met de naam.asoundrc in de thuismap (/home/pi) door het volgende commando uit te voeren en de bovenstaande configuraties (die zijn toegevoegd in het bestand /etc/asound.conf.) in dit bestand te plakken
sudo nano.asoundrc.
Stap 3: Uw luidsprekeruitgang instellen
- Sluit je speaker aan op de 3,5 mm koptelefoonaansluiting van de Raspberry Pi.
- Voer onderstaande opdracht uit om het configuratiescherm van de pi te openen.
sudo raspi-config
Ga naar Geavanceerde opties > Audio en selecteer het uitvoerapparaat. (3,5 mm-aansluiting of HDMI)
Stap 4: Test de microfoon en luidsprekers
Voer de volgende opdracht in de terminal uit om uw luidspreker te testen. Hierdoor wordt een testgeluid afgespeeld. Druk op Ctrl+C om af te sluiten. Als u het testgeluid niet kunt horen, controleer dan uw luidsprekeraansluiting en voeding. De test klinkt als-
Linksvoor, Rechtsvoor
luidsprekertest -t wav
Voer de volgende opdracht uit om uw microfoon te testen. Hiermee wordt een korte audioclip van 5 seconden opgenomen. Als u een fout krijgt, controleert u de vorige stappen opnieuw
arecord --format=S16_LE --duration=5 --rate=16k --file-type=raw out.raw
Speel de opgenomen audio af en bevestig dat alles goed werkt door de volgende opdracht te typen
aplay --format=S16_LE --rate=16k out.raw
Onze hardware is ingesteld
Stap 5: Download de vereiste pakketten en configureer de Python-omgeving:
Werk eerst uw besturingssysteem bij door de opdrachten één voor één in de terminal uit te voeren
sudo apt-get update
sudo apt-get upgrade
Als u de opdrachten één voor één in de terminal uitvoert, wordt een Python 3-omgeving (de Google Assistent-bibliotheek werkt alleen op Python 3) in uw Pi gemaakt en worden de vereiste items geïnstalleerd
sudo apt-get install python3-dev python3-venv
$ python3 -m venv env $ env/bin/python -m pip install --upgrade pip setuptools
Activeer de python-omgeving. Dit zal een " (env)" tekst voor de opdrachtterminal van je Pi brengen
bron env/bin/activeren
Installeer het Google Assistant SDK-pakket, dat alle code bevat die nodig is om de Google Assistant op de Pi uit te voeren. Het zou de Google Assistent-bibliotheek en de betekenis moeten downloaden
python -m pip install --upgrade google-assistant-library
Stap 6: Het Google Assistant Cloud Project inschakelen
- Open de Google Cloud Console en maak een nieuw project aan. (Noem het maar wat.) Het account waarmee u zich aanmeldt, wordt gebruikt om vragen naar de Google Assistent te sturen en uw persoonlijke reactie te krijgen.
- Ga naar API-manager en schakel de Google Assistant API in.
- Zorg ervoor dat u Web- en app-activiteit, Apparaatinformatie en Spraak- en audioactiviteit in Activiteitsbeheer voor het account inschakelt.
- Ga naar "Inloggegevens" en stel het OAuth-inhoudsscherm in.
- Ga naar het tabblad "Inloggegevens" en maak een nieuwe OAuth-client-ID
- Selecteer het toepassingstype als "Overig" en geef de naam van de sleutel op.
- Download het JSON-bestand waarin de OAuth-sleutelgegevens zijn opgeslagen en bewaar het.
Stap 7: Authenticatie van de Raspberry Pi
Installeer de autorisatietool door het onderstaande commando uit te voeren
(env) python -m pip install --upgrade google-auth-oauthlib[tool]
Voer het hulpprogramma uit door de volgende opdracht uit te voeren. Zorg ervoor dat u het juiste pad opgeeft voor het JSON-bestand dat u in stap 6 hebt gedownload
(env) google-oauthlib-tool --client-secrets "JSON_FILE_PATH" --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless
Het zou moeten worden weergegeven zoals hieronder wordt weergegeven. Kopieer de URL en plak deze in een browser. Als in plaats daarvan wordt weergegeven:
OngeldigeGrantFout
dan is er een ongeldige code ingevoerd. Probeer het opnieuw.
Ga naar deze URL:
Vul de autorisatiecode in:
Stap 8: De LED-indicator instellen
- Sluit uw LED aan tussen GPIO pin 25 en aarde.
- We gaan de GPIO-pin 25 instellen als de output-pin.
- Google Assistant SDK biedt een callback EventType. ON_CONVERSATION_TURN_STARTED wanneer de conversie met de Google Assistant begint. Op dat moment gaan we de GPIO 25 instellen om de LED te laten gloeien.
- Wanneer het gesprek wordt beëindigd, wordt EventType. ON_CONVERSATION_TURN_FINISHED teruggebeld. Op dat moment zullen we de GPIO 25 resetten om de LED uit te schakelen.
Stap 9: Initialiseren bij opstarten voltooid:
- Telkens wanneer je Pi klaar is met opstarten, voeren we een python-script uit dat de Google Assistent bij het opstarten zal verifiëren en introduceren.
- Voeg eerst het RPi. GPIO-pakket toe om GPIO-ondersteuning toe te voegen met behulp van de volgende opdracht.
pip installeer RPi. GPIO
Voer de stappen één voor één uit. Ga naar de gebruikersmap. Maak een nieuw python-bestand main.py
cd /home/pi
sudo nano main.py
Schrijf het gekoppelde script en sla het bestand op
Maak nu één shellscript dat de Google Assistent initialiseert en uitvoert
sudo nano google-assistant-init.sh
Plak onderstaande regels in het bestand en sla het bestand op
#!/bin/sh
/home/pi/env/bin/python3 -u /home/pi/main.py
Verleen de uitvoeringsmachtiging
sudo chmod +x google-assistent-init.sh
U kunt google-assistant-init.sh uitvoeren om de Google Assistent op elk moment te starten.
Stap 10: De Google Assistent starten tijdens het opstarten
Er zijn twee manieren om Google Assistant on Boot in te schakelen. Laten we ze allemaal bekijken
1. Autostart met Pixel Desktop bij opstarten:
- Hiermee wordt de Google Assistent gestart zodra de Pixel-desktop opstart. Zorg ervoor dat u "Desktop" -opstart hebt geselecteerd in Raspberry Pi-configuraties.
- Typ onderstaande opdracht.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Voeg het volgende toe na @xscreensaver -no-splash
@lxterminal -e "/home/pi/google-assistant-init.sh"
Opslaan en afsluiten door op "Ctrl + X" en vervolgens op "Y
2. Autostart met CLI bij opstarten: (ik heb dit persoonlijk gebruikt, hoewel autostart prima werkt.)
- Hiermee wordt de Google Assistent gestart als u CLI-opstart hebt ingesteld. Zorg ervoor dat u "CLI" -opstart hebt geselecteerd in Raspberry Pi-configuraties.
- Typ onderstaande opdracht.
sudo nano /etc/profile
Voeg onderstaande regel toe aan het einde van het bestand
sudo /home/pi/google-assistant-init.sh
Opslaan en afsluiten door op "Ctrl+X" en vervolgens op "Y" te drukken
Stap 11: Conclusie
Wat is er precies anders aan deze Home Pi? Niets, behalve onkosten. Het eindresultaat is in principe hetzelfde, je kunt je DIY Google Home activeren door het wake-woord "Ok Google/ Hey Google" te zeggen en het apparaat werkt net als een echte Assistent. Je kunt veel dagelijkse activiteiten doen met je Google Home. Als u uw aangepaste taken wilt uitvoeren, zoals het licht uitdoen, de deur controleren, kunt u dit doen door Google Actions te integreren in uw Google Assistent. Als je problemen hebt met het starten van de Google Assistent, laat dan hieronder een reactie achter. Ik zal proberen ze zo goed mogelijk op te lossen.
Aanbevolen:
Een oud radiocircuit van stroom voorzien (aangedreven door batterijen): 4 stappen
Een oud radiocircuit van stroom voorzien (aangedreven door batterijen): Heb je ooit een oude radio gehad die alleen op wisselstroom werkt en geen batterij heeft? Vandaag laat ik je zien hoe je je oude radio van stroom kunt voorzien met een batterij en handig als er een stroomuitval en het vermogen van uw radio was afhankelijk van de batterij zonder verbinding te maken
Hoe u een USB-modem omleidt naar een VMware ESXi virtuele machine: 14 stappen
Hoe een USB-modem om te leiden naar een VMware ESXi virtuele machine: Hallo allemaal! Vandaag zal ik je vertellen hoe je een USB-modem omleidt naar een virtuele VMware ESXi-machine. Op dezelfde manier kunt u een geheugenstick en sommige andere USB-apparaten omleiden. Deze al lang bestaande VMware-functie heeft zijn voor- en nadelen, dus we
Infigo - (een door kunstmatige intelligentie aangedreven draagbare handschoen): 9 stappen
Infigo - (een door kunstmatige intelligentie aangedreven draagbare handschoen): Infigo is een door AI (kunstmatige intelligentie) aangedreven draagbare handschoen gebaseerd op de principes van ondersteunende technologie (AT) die de productiviteit van de gehandicapte samenleving zal verbeteren. Kunstmatige intelligentie en machinaal leren kunnen een menselijk inte
Hoe maak je een wind aangedreven LED uit een videorecorder: 13 stappen
Hoe maak je een wind aangedreven LED uit een videorecorder: In deze tutorial wordt uitgelegd hoe je een wind aangedreven LED maakt van een oude videorecorder en een pinwheel. U kunt ook een oude cd-rom-drive gebruiken als u geen videorecorder heeft. Als je geïnteresseerd bent in de tutorial over het maken van dit vanaf een cd-rom-station, kun je het vinden op mijn
Een virtuele Drupal-site toevoegen aan een volledig gescheiden Drupal-boerderij: 3 stappen
Een virtuele Drupal-site toevoegen aan een volledig gescheiden Drupal-boerderij: Drupal is een Content Management Systeem (CMS). Een van de onderscheidende kenmerken is het gemak van het beheren van een aantal sites vanuit één codebase - de veel geroemde Drupal Farm. Deze instructable is bedoeld om u te helpen een volledig gescheiden s