Stem geactiveerd automatisch opstarten Pi

Hallo en welkom bij mijn eerste Instructable!

In deze instructable zal ik je laten zien wat ik de eenvoudigste manier vind om een alle zang te installeren, allemaal dansend Google Assistant op je Raspberry Pi. Ze is volledig handenvrij met het OK Google commando en ze start automatisch op wanneer u uw Pi opstart. Ze is super cool en serieus gemakkelijk te installeren!

Wat is allemaal mogelijk?

Kort geleden nog bracht Google een doe-het-zelf AI-kit uit met nummer 57 van The Magpi. Dit maakte het uiterst eenvoudig om je eigen Google assistent te maken, maar het was wat moeilijker om de voice-kit te pakken te krijgen en op veel plaatsen was het binnen enkele uren uitverkocht.

Gelukkig heeft Google alle software online online beschikbaar gesteld, compleet met volledige instructies. Dit betekende dat we geen kopie van The Magpi nodig hadden om van al dat harde werk te profiteren.

Desondanks lijken er geen duidelijke instructies online te zijn over het gebruik van de voicemail zonder kopie van het magazine of zonder de hardware die werd meegeleverd. In plaats daarvan proberen de meeste tutorials alles vanaf nul te installeren, wat vaak resulteert in een rommel van code die voor niet-coders als ik onmogelijk te volgen is.

En dat is waar deze Instructable binnenkomt. Het is het resultaat van 2 dagen hard werken en kijken naar honderden tutorials, video's en posts online. Het resultaat is een stabiele Google Assistant die bij het opstarten draait en spraak geactiveerd is met het' OK Google' -Hotword.

Wat is nodig?

Om deze Instructable met succes te voltooien heeft u het volgende nodig:

Een Raspberry Pi 3 (met de gebruikelijke microSD kaart en netsnoer). Hartelijk dank aan MichaelW142 die heeft bevestigd dat dit ook werkt met Raspberry Pi 2.
Een basisluidspreker met een 3,5 mm aux-aansluiting
Een USB-microfoon
Een muis en toetsenbord

Stap 1: Formatteren van de SD-kaart

Het allereerste wat we moeten doen is het formatteren van onze SD-kaart. Laten we gebruik maken van de SD Association's Formattering Tool die wordt aanbevolen door de officiële Raspberry Pi Foundation.

Na installatie start u de toepassing en klikt u op' Optie'. U moet de optie voor' FORMAT SIZE ADJUSTMENT' wijzigen in' ON'.

Klik nu op' OK' en controleer dubbel of we het juiste station formatteren en klik vervolgens op' Formaat'. Dit mag niet te lang duren, wacht gewoon op de bevestiging dat het station met succes is geformatteerd voordat u verdergaat met de volgende stap.

Stap 2: De SD-kaart voorbereiden

Vervolgens moeten we de Voice Kit microSD kaart afbeelding voor de Framboos Pi downloaden. U kunt de afbeelding downloaden van mijn Google Drive.

Om het beeld dat we net op onze SD-kaart hebben gedownload over te dragen gaan we een programma gebruiken dat Etcher. io heet. Het is gratis, open source en hoeft niet geïnstalleerd te worden.

Zodra je Etcher gedownload hebt, voer je het programma uit en zie je een scherm zoals hierboven. Het kan een minuut of twee duren om te laden, dus als het niet meteen laden geduldig zijn.

Klik op' Afbeelding selecteren' en navigeer naar de zojuist gedownloade spraakkitafbeelding (aiyprojects-2017-05-03. img). Eenmaal geselecteerd dubbel controleren of u de inhoud op de juiste schijf schrijft. Ervan uitgaande dat we de juiste schijf hebben geselecteerd, klik dan op' Flash!'.

Het kan ongeveer 20 minuten of meer duren om het beeld te schrijven naar uw SD kaart dus voel je vrij om te gaan en maak jezelf een leuk kopje thee en ik zal je hier terug te zien in een beetje!

Stap 3: inschakelen die Pi!

Zodra de SD-kaart klaar is kunnen we de microSD kaart in onze Raspberry Pi stoppen. Op dit punt moeten we ook onze voedingskabel, HDMI-kabel, toetsenbord, muis, monitor, luidspreker en USB-microfoon aansluiten. Hopelijk moet je opstelling er zoiets als de mijne uitzien.

Ik gebruik een draadloos toetsenbord en muis, dus maak je niet bang als je een paar extra kabels krijgt met je eigen setup!

Met de stroomkabel aangesloten op het stopcontact kunt u uw Raspberry Pi opstarten en binnenkort krijgt u het standaard Pixel bureaublad gepresenteerd.

Stap 4: Eerste configuratie

Pak uw cursor en navigeer naar het Raspberry Pi logo linksboven in uw scherm. Selecteer in de vervolgkeuzelijst' Voorkeuren' en vervolgens' Frambozenpi-configuratie'.

Ga vervolgens naar' Interfaces' en schakel SSH in.

Klik nu op het WiFi-logo rechtsboven in het scherm en selecteer uw WiFi-netwerk. Als uw WiFi met een wachtwoord is beveiligd, wordt u gevraagd om dat in te voeren. Het groene vinkje bevestigt dat we met succes verbinding hebben gemaakt en we zijn klaar om de volgende stap te zetten.

Stap 5: De installatie bijwerken

Dit is ongeveer zo geavanceerd als deze tutorial krijgt. We gaan de terminal gebruiken om de Google Assistant SDK, Project Kit en afhankelijkheden van Google bij te werken om ervoor te zorgen dat we de nieuwste versies hebben. Geen paniek als dit alles voor u geen zin heeft, maar het is essentieel dat we deze stap niet overslaan. Doe precies zoals deze tutorial zegt dat je voorzichtig moet zijn om geen typos te maken en het zal allemaal prima werken.

Dus, paniek over, laten we beginnen! Dubbelklik op de naam van het bureaubladpictogram' Start dev terminal'.

U moet een eng uitziende dev terminal venster zoals de bovenstaande zien.

Voer vervolgens de volgende commando's precies zoals hieronder weergegeven in de terminal in. Er zijn hier 9 commando's en deze moeten afzonderlijk worden ingevoerd in de volgorde waarin ze verschijnen. Na het typen van elk commando drukt u op' Enter' op uw toetsenbord voordat u naar het volgende toetsenbord gaat. Sommige commando's zullen een paar seconden nodig hebben om te voltooien, dus wacht de patiënt op elk van de commando's om te eindigen voordat hij de volgende uitvoert.

  cd ~/assistant-sdk-python
  git checkout master
  git pull origin master
  cd ~/voice-recognizer-raspi
  git checkout master
  git pull origin master
  cd ~/voice-recognizer-raspi
  rm -rf env
  scripts/install-deps.sh

Stap 6: De configuratiebestanden voorbereiden

Vervolgens moeten we een back-up maken van onze bestaande configuratie-bestanden en de nieuwste versies die net zijn bijgewerkt overzetten. Hier zijn 4 extra commando's voor jou om dat te doen. Deze kunnen worden gedaan in dezelfde dev terminal die we gewoon gebruikten. Nogmaals, ze moeten in deze volgorde worden uitgevoerd en precies zoals ze hieronder staan getypt:

  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 dicht in de buurt, dus hang er binnen.

We moeten nu de trigger voor onze Google AIY-projectkit veranderen zodat deze reageert op onze stem wanneer we de woorden' OK Google' spreken.

Voer de volgende opdracht in op de terminal:

  nano ~/.config/voice-recognizer.ini

Dit zal leiden tot een nog schaarser raam.

Zoek in dit nieuwe venster de volgende code op:

  # Select the trigger: gpio (default), clap, ok-google.
  # trigger = clap

We moeten deze code veranderen in:

  # Select the trigger: gpio (default), clap, ok-google.
  trigger = ok-google

Als u de pijltjestoetsen op uw toetsenbord gebruikt, ziet u een curser verschijnen. Gebruik de pijltjestoetsen om de curser omlaag te brengen naar de tekstregel die we proberen te veranderen. Gebruik de backspace-toets op uw toetsenbord om de tekst die we proberen te wijzigen te verwijderen en opnieuw te typen zoals het voorbeeld hierboven.

Merk op dat ik ook het # symbool verwijderd heb, het is belangrijk dat we de # niet in deze nieuwe tekstlijn opnemen.

Ik heb een voor en na schermafbeelding toegevoegd van hoe dit er allemaal uit zou moeten zien (in het geval dat ik je daar ben kwijtgeraakt).

Ervan uitgaande dat uw venster er precies zo uitziet als de mijne, kunnen we de wijzigingen sluiten en opslaan. Houd' Ctrl' op uw toetsenbord ingedrukt en druk op' X' om het venster te sluiten. We zullen dan gevraagd worden om de wijzigingen op te slaan die we hebben aangebracht, druk op' Y' en druk vervolgens op' Enter' op je toetsenbord. Het venster wordt nu gesloten en de wijzigingen zijn opgeslagen.

Om er zeker van te zijn dat de veranderingen effect hebben gehad, moeten we de service opnieuw opstarten. Typ de volgende opdracht in het klemmenvenster en druk op' Enter':

  sudo systemctl restart voice-recognizer.service

Stap 8: Audioconfiguratie (Deel 1)

Op dit moment is Google Assistant min of meer levendig en klaar om te dienen... Gefeliciteerd!

Voordat je echter te enthousiast wordt, hoor je elkaar niet meer. Dat komt doordat de Google AIY Project Image is geconfigureerd om te werken met de hardware die met de kit is geleverd. Omdat we een standaard aux luidspreker en usb microfoon gebruiken, moeten we een deel van de configuratie aanpassen.

Nogmaals zullen we hetzelfde terminalvenster gebruiken, dit tijdstype:

  sudo leafpad /boot/config.txt

Dit opent een tekstvenster. Scroll naar de onderkant van het document en verwijder de # vooraan de lijn dtparam=audio=audio=on en plaats een # voor de twee lijnen eronder.

Nadat je deze wijzigingen hebt aangebracht zou het precies zo moeten zijn:

  # Enable audio (loads snd_bcm2835)
  dtparam=audio=on
  #dtoverlay=i2s-mmap
  #dtoverlay=googlevoicehat-soundcard

Ik heb ook een screenshot bijgevoegd om u te laten zien hoe dit er uit 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 weer in, typ:

  sudo leafpad /etc/asound. conf.

Wanneer u op' Enter' klikt, wordt een nieuw tekstdocument geopend. Deze keer verwijdert u ALLEEN de tekst in het document en vervangt u deze door de volgende tekst:

  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"

     }

  }

Opnieuw heb ik een screenshot bijgevoegd waarin ik u laat zien hoe dit er uit zal zien.

Opnieuw opslaan en sluiten van het document.

Nu is het tijd om uw Raspberry Pi opnieuw op te starten. Klik op het Raspberry Pi logo linksboven in uw scherm en klik op' Shutdown' en vervolgens' Reboot'.

Nadat u de Pi opnieuw hebt opgestart hebben we nog een tweak te maken. Dubbelklik nogmaals op het pictogram' Start dev terminal' en typ het volgende in:

  leafpad /home/home/pi/pi/voice-recognizer-raspi/checkpoints/check_audio. py

In dit laatste document moet u de regel met code die leest vinden:

  VOICEHAT_ID_ID = "googlevoicehat".

Wijzig dit in

  VOICEHAT_ID = "bcm2835".
Zodra u deze wijzigingen hebt doorgevoerd, net als voorheen, moet u dit document sluiten.

Stap 10: De audio testen

 

Op het bureaublad bevindt zich een bestand genaamd' Check audio'. Dubbelklik hierop en volg de aanwijzingen om ervoor te zorgen dat zowel de spreker als de microfoon werken.

Als u deze Instructable correct hebt gevolgd, mogen er geen problemen zijn. Als u echter niets kunt horen, controleer dan dubbel of het volume omhoog staat en of uw Raspberry Pi' Analoog' gebruikt voor de geluidsweergave. U kunt dit doen door met de rechtermuisknop op het geluidsymbool bovenaan het scherm te klikken. Analoog' moet net als het voorbeeld in de screenshot worden aangekruist.

Als u de audiocontrole hebt doorstaan, kunnen we verder gaan met de volgende stap.

Stap 11: Aansluiten op de cloud

Voordat Google Assistant ons antwoorden geeft op de brandende vragen van het leven moeten we haar verbinden met de Cloud Services van Google.

Dit is gemakkelijk te doen, maar als je nog niet eerder in de wolk bent geweest kan het in eerste instantie een beetje ontmoedigend lijken.

Hier is wat we moeten doen:

1) Open op de frambozen pi de internetbrowser Chrome en ga naar de Cloud Console: https://console.cloud.google.com/)

2) Meld u aan met een bestaande Google-account of meld u aan als u er geen hebt.

3) Maak een nieuw project en geef het een naam. Ik belde mijn "Google Pi".

4) Via de zoekbalk start u met het typen van' Google Assistant' en ziet u de' Google Assistant API'. Klik erop en klik vervolgens wanneer de volgende pagina wordt geladen op' Inschakelen' om de API te activeren.

5) Ga naar' API Manager' en vervolgens' Geloofsbrieven' en maak een' OAuth 2.0 client'.

6) Klik op' Credentials aanmaken' en selecteer' OAuth client ID'. Als u nog nooit eerder in de cloud geweest bent, wordt u nu gevraagd om uw toestemmingsscherm te configureren. Je zult je app moeten noemen, ik noemde mijn' Raspberry Pi'. Alle andere velden kunnen leeg worden gelaten.

7) In de lijst Geloofsbrieven vindt u uw nieuwe geloofsbrieven en klikt u op het downloadpictogram aan de rechterkant.

8) De chroombrowser downloadt nu een klein JSON-bestand met alle gegevens die u veilig in de browser hebt opgeslagen. Zoek dit bestand op en hernoem het naar' assistant. json' en verplaats het vervolgens naar /home/home/pi/pi/assistant. json.

9) Ga ten slotte naar de pagina Activity Controls: https://myaccount.google.com/activitycontrols en schakel de volgende diensten in: Web- en appactiviteit, Locatiegeschiedenis, Apparaatinformatie, Voice en audioactiviteit. Log in met dezelfde Google-account als voorheen!

Als je in deze fase op een bepaald moment vast komt te zitten, laat je er dan ook geen doekjes om winden, Google heeft uitstekend werk verricht bij het documenteren van dit proces met screenshots voor elke stap over op de Google AIY Kit website.

Stap 12: Slottest

Als alles goed in de cloud is ingesteld zijn we nu klaar om met Google te praten. Typ opnieuw met het opdrachtvenster "Start dev terminal" het volgende in:

  src/main. py

Dit zal onze assistent wakker worden, maar aangezien dit de eerste keer is dat we verbinding maken met Google's Services, zal er een webbrowser geopend worden en moet u inloggen bij Google om toestemming te geven voor de Raspberry Pi om toegang te krijgen tot de Google Assistant API. Nogmaals zorgen ervoor dat u dezelfde Google-account logins gebruikt als voorheen.

Als u met succes ingelogd bent en toestemming heeft gekregen, wordt u gevraagd het venster te sluiten. Het opdrachtvenster ziet er nu uit als de bijgevoegde screenshot die bevestigt dat alles correct is ingesteld.

Ga verder, stel een vraag, ze luistert!

Voordat je echter te enthousiast wordt, zijn we nog niet helemaal klaar. Als u klaar bent met spelen, sluit dan het venster en gebruik hiervoor het witte kruisje rechtsboven in het venster.

Stap 13: Google-assistent instellen bij de inbedrijfstelling

Ik beloofde u dat onze Google Assistant automatisch zou opstarten wanneer we de Raspberry Pi opstarten. Hiervoor opent u een nieuw opdrachtvenster met het pictogram "Start dev terminal" op het bureaublad. Typ de volgende regel code in uw eindvenster en druk op' Enter' op uw toetsenbord:

  sudo systemctl enable voice-recognizer

We hebben net de automatische opstart van onze Google Assistant geconfigureerd met één regel code... Hoe eenvoudig was dat!!

Stap 14: De Finish Line

Nu dat u alle stappen hebt voltooid gaan u verder en herstart uw Raspberry Pi. Als u al deze instructies zorgvuldig hebt opgevolgd, moet Google Assistant op de achtergrond draaien wanneer de Pi wordt geladen. Probeer het eens, zeg OK Google om haar wakker te maken en vraag haar alles wat je wilt!

Ik hoop van harte dat u deze Instructable leuk vond. Het is een resultaat van 2 dagen hard werken en veel online lezen. Ik ben zeker geen coder, dus ik heb geprobeerd de gemakkelijkste en meest logische manier te vinden om een werkende Google Assistant op een frambozen pi te krijgen en ik geloof dat dit het is.

Als u vragen of suggesties heeft met betrekking tot deze Instructable, laat het me dan weten in de onderstaande opmerkingen. Ik zou ook graag willen horen hoe de uwe eruit is gekomen.

Ik las veel tutorials, blogberichten en forumbijdragen, maar mijn grootste doorbraken met dit project kwamen van 2 online berichten die beide soortgelijke taken probeerden uit te voeren: http://eduncan911.com/stem/embedded/aiy-google-assistant-upgrades-may-2017.html en   http://www.androidauthority.com/build-google-assistant-raspberry-pi-770296/. Deze Instructable is het resultaat van het uitzoeken van hoe de twee in elkaar gezet kunnen worden in een eenvoudige en eenvoudige en rechtlijnige Instructable!

Extra Kredieten
De Google Assistant SDK heeft al een groot aantal functies ingebouwd, maar er zijn veel' mods' die je aan de AIY Kit kunt toevoegen om er wat extra functionaliteit aan te geven. Ktinkererer heeft een actueel overzicht van de nieuwste mods beschikbaar, bekijk het uit en bedankt cyberwolves voor het feit dat je hier op wijst:)

Hoe zit het met een luidsprekerbehuizing voor uw piepend nieuwe AI? Checkout deze door adylinn.

Als u nog iets anders kunt bedenken om aan deze Instructable toe te voegen, neem dan contact op met:)

  http://www.instructables.com/id/Hands-Free-Google-Assistant-for-Raspberry-Pi/

Maak jouw eigen website met JouwWeb