ID.nl logo
Maak je eigen Google Home met een Raspberry Pi
© Reshift Digital
Zekerheid & gemak

Maak je eigen Google Home met een Raspberry Pi

De Google Home is een draadloze slimme luidspreker die als je slimme assistent functioneert. Het apparaatje maakt gebruik van spraakherkenning om je opdrachten aan te nemen. Voorlopig is Google Home nog niet in Nederland verkrijgbaar, maar dan bouw je er toch zelf een? In dit artikel creëren we je eigen Google Home met een Raspberry Pi 3.

01 Benodigdheden

Het hart van je eigen slimme luidspreker is de Raspberry Pi 3. Daarop sluit je een luidspreker en een microfoon aan. De luidspreker prikken we in de analoge uitgang van de Pi. De geluidskwaliteit daarvan is niet geweldig, maar voor spraaksynthese is het voldoende. Een analoge ingang heeft de Pi niet, dus we sluiten een usb-microfoon aan. Nu hoef je alleen nog een voedingsadapter aan te sluiten, en je hebt een micro-sd-kaartje nodig om het besturingssysteem op te zetten. We maken gebruik van wifi, dus een ethernetkabel is niet nodig.

02 Raspbian installeren

Download Raspbian Jessie van de website van de Raspberry Pi. Pak het zip-bestand uit. Het img-bestand dat erin zit, moeten we nu naar een micro-sd-kaartje schrijven. Formatteer eerst het kaartje met het programma SD Card Formatter. Start daarna het programma Win32 Disk Imager. Kies de schijfletter van je micro-sd-kaart, selecteer het img-bestand van Raspbian en klik op Write om het besturingssysteem naar je kaart te schrijven. Let bij beide programma’s op dat je de juiste schijfletter kiest, want de inhoud van het kaartje wordt volledig overschreven!

©PXimport

03 Netwerk instellen

Steek het micro-sd-kaartje in je pc, waarna Windows de boot-partitie in de Verkenner opent. Klik op het menu Beeld en vink bij Huidige weergave de optie Bestandsnaamextensies aan. Rechtsklik daarna op een lege plaats in de partitie en klik op Nieuw / Tekstbestand en geef het bestand de naam ssh. Verwijder de extensie .txt. Maak op dezelfde manier een bestand wpa_supplicant.conf aan in de boot-partitie. Verzeker je ervan dat je bestand de extensie .conf heeft, en niet .txt. Open het bestand in Kladblok en voeg de configuratie voor je wifi-netwerk toe met regels network={, ssid="JouwESSID", psk="JouwWifiWachtwoord" en }. Sla het bestand op en haal de micro-sd-kaart uit de pc.

04 Basisconfiguratie

Zoek het ip-adres van je Pi op in de dhcp-leases van je router en log daarop in met het programma PuTTY. Voer als gebruikersnaam pi in en als wachtwoord raspberry. Update allereerst de pakketlijsten met de opdracht sudo apt update en upgrade daarna alle geïnstalleerde programma’s met sudo apt upgrade. Voer daarna het configuratieprogramma uit met sudo raspi-config. Wijzig je wachtwoord, zodat je Pi niet ongewild onderdeel gaat uitmaken van een botnet. En zet je tijdzone correct (in Localisation Options). Sluit het configuratieprogramma daarna af (Finish).

©PXimport

05 Google Cloud Platform

We willen onze Pi met de Google Assistant API laten werken. Open daarvoor eerst de Resource Manager van het Google Cloud Platform (log in met je Google-account) en klik op Project maken. Geef het project een naam (bijvoorbeeld Google Home Pi), bevestig dat je de servicevoorwaarden hebt gelezen en klik op Maken. Wanneer het project is aangemaakt, krijg je rechtsboven een melding. Klik op het icoontje en dan op de projectnaam, waarna je het dashboard van je project te zien krijgt.

Je eigen Amazon Echo

Ook de ontwikkelaars van Alexa, de voice-service in de Amazon Echo, hebben code online gezet waarmee je je eigen Echo bouwt. De code komt met stap-voor-stap-instructies om Alexa op je Raspberry Pi te installeren. Je installeert eerst Raspbian en daarna de samples voor de Alexa Voice Service, die gebruikmaken van Node.js, de Java Development Kit 8 en Maven. Ook voor dit project heb je een luidspreker en microfoon nodig.

06 Google Assistant API inschakelen

Klik nu links in het projectdashboard op API-beheer en daarna bovenaan op API inschakelen. Typ in het zoekveld assistant in en klik daarna op Google Assistant API, dat in de zoekresultaten verschijnt. Klik bovenaan op Inschakelen. Je hebt nog inloggegevens nodig om deze API te gebruiken. Klik daarom links op Inloggegevens en dan op het tabblad OAuth-toestemmingsscherm. Vul daar bij productnaam een naam in zoals Google Home Pi, laat de rest van de velden open en klik op Opslaan.

©PXimport

07 OAuth Client ID aanmaken

Klik nu in het tabblad Inloggegevens van het API-beheer op Inloggegevens maken en kies Client-ID OAuth. Kies als applicatietype Overige, geef het een naam en klik op Maken. Je krijgt nu een client-ID en clientgeheim te zien. Klik op OK en daarna op het downloadicoontje rechts van je client-ID. Download het programma pscp van dezelfde website als PuTTY (zie stap 4) en open daarna een opdrachtprompt. Voer de opdracht pscp padnaarjsonbestand pi@IPADRES: in met het juiste pad en ip-adres van je Pi om het bestand naar je Pi te kopiëren. Vergeet de : na het ip-adres niet. Voer het wachtwoord van je Pi in.

08 Audio testen

Nu de clouddiensten van Google die we in ons project gebruiken zijn geconfigureerd, is het tijd om aan de Pi te gaan knutselen. Ga terug naar het PuTTY-venster met de opdrachtprompt van je Pi of log opnieuw op je Pi in. Voer de opdracht speaker-test -t wav uit om een testgeluid af te spelen en druk op Ctrl+C om het afspelen te stoppen. Als je niets hoort, controleer dan of je luidspreker goed is aangesloten. Voer daarna de opdracht arecord --format=S16_LE --duration=5 --rate=16k --file-type=raw out.raw uit en spreek iets in de microfoon in. Controleer of het is opgenomen met aplay --format=S16_LE --rate=16k out.raw.

©PXimport

09 Audio configureren

Als er in de vorige stap iets is misgelopen, dan herkent Raspbian waarschijnlijk standaard (een van) je audioapparaten niet. Bekijk met arecord -l het kaart- en apparaatnummer van je microfoon. Doe hetzelfde voor je luidspreker met aplay -l. Maak daarna een nieuw configuratiebestand voor je audio aan met nano ~/.asoundrc met als inhoud de tekst in de afbeelding bij deze stap en vul de juiste kaart- en apparaatnummers in. Als je luidspreker bijvoorbeeld kaartnummer 1 en apparaatnummer 0 heeft, vul je in de sectie pcm.mic de regel pcm "hw:1,0" in. Sla het bestand op met Ctrl+O en sluit nano af met Ctrl+X. Test je audio daarna opnieuw.

10 Python-omgeving installeren

De code van Google is in de programmeertaal Python geschreven. Daarom installeren we Python 3 en een virtuele Python-omgeving om de code te isoleren van de rest van Raspbian met sudo apt install python3-dev python3-venv. Maak een virtuele omgeving aan met python3 -m venv env en voer env/bin/python -m pip install --upgrade pip setuptools uit en tot slot source env/bin/activate om de virtuele omgeving te activeren.

11 Google Assistant SDK installeren

Installeer de Google Assistant SDK en autorisatietool in de Python-omgeving met python -m pip install --upgrade google-assistant-library google-auth-oauthlib[tool]. Open nu de pagina Activiteitsopties en controleer of Web- en app-activiteit, Apparaatgegevens en Spraak- en audioactiviteit zijn ingeschakeld. Sta daarna de Google Assistant SDK toe om voor je Google-account Assistant-aanvragen te doen. Dat gebeurt met de opdracht google-oauthlib-tool --client-secrets padnaarjsonbestand --scope https://www.googleapis.com/auth/assistant-sdk-prototype --save --headless, waarbij je de naam van het json-bestand invult dat je eerder naar je Pi hebt gekopieerd. Bezoek de url die je te zien krijgt, sta daar de toegang toe en voer de autorisatiecode die je te zien krijgt in de opdrachtregel in.

©PXimport

12 Demo uittesten

Start de demo van de Google Assistant SDK met google-assistant-demo en stel een vraag. Dat doe je in het Engels, door “Ok Google” of “Hey Google” te zeggen en daarna je vraag te stellen. Stel bijvoorbeeld de vraag “What time is it?”, “How’s the weather?” of “Show me a Thai restaurant”. Google kent je locatie en geeft dan ook heel accuraat antwoord op die vragen. Ondertussen krijg je in het terminalvenster van je Pi een transcriptie te zien van wat het programma van je stem verstaat. Je sluit de demo af met Ctrl+C.

13 IFTTT integreren

Standaard kan Google Assistant op je Pi al heel wat, maar het is ook mogelijk om zelf opdrachten toe te voegen. Bekijk daarvoor de pagina Next Steps in de documentatie van de API. Een eenvoudige manier om je Google-assistent uit te breiden is met IFTTT. Zorg dat je op IFTTT inlogt met hetzelfde Google-account als je voor Google Assistant API gebruikt. Bezoek dan het Google Assistant-kanaal op IFTTT en klik op Connect. Sta IFTTT toegang tot Google Assistant toe.

14 IFTTT-applets inschakelen

Bekijk eens de applets (vroeger ‘recepten’ genoemd) in het Google Assistant-kanaal van IFTTT en probeer er een paar uit. Zo is er een applet om het volgende uur in je Google Agenda te blokkeren, om je Nest-thermostaat in te stellen, om de kleur van je Philips Hue-verlichting te veranderen, om taken aan een lijst toe te voegen die je assistent op het einde van de dag naar je e-mailt en nog vele andere. Op deze manier verbind je je eigen Google-assistent met alle mogelijke internetdiensten en slimme apparatuur.

©PXimport

15 Google Assistant automatisch starten

Open het opstartbestand van Raspbian voor loginsessies met sudo nano /etc/profile. Ga naar het einde van het bestand. Voeg daar de regel /home/pi/google-assistant.sh toe. Sla het bestand op met Ctrl+O en sluit nano af met Ctrl+X. Creëer daarna een nieuw bestand met nano /home/pi/google-assistant.sh met daarin de regels #!/bin/bash, source /home/pi/env/bin/activate en sudo -u pi /home/pi/env/bin/google-assistant-demo &. Sla weer op met Ctrl+O en sluit af met Ctrl+X. Maak het uitvoerbaar met chmod +x /home/pi/google-assistant.sh/. Herstart je Pi met sudo reboot en controleer na een tijdje of de Google Assistant draait door een vraag te stellen.

16 Actions on Google

Wil je nog ingewikkeldere zaken doen met je Google-assistent, bekijk dan Actions on Google. Met deze API breid je Google Assistant uit met je eigen apps. Met deze apps bied je een ‘conversationele interface’, waarbij je kunt laten reageren op je vragen met antwoorden of willekeurige acties. Een soort ‘IFTTT on steroids’ dus, voor pro’s.

Een spraakassistent zonder pottenkijkers

Google en Amazon proberen van hun spraakgestuurde apparaten Home en Echo een centraal punt te maken waarmee je alle apparaten in je huis aanstuurt en al je online zaken regelt. Maar deze bedrijven hebben het niet zo op privacy … Voel je je er goed bij dat zij hun oren altijd open hebben midden in je huis? Niet? Gelukkig is er een opensource alternatief, waarmee je een onafhankelijke spraakassistent opzet: Jasper. Hier vind je hoe je met Jasper een spraakassistent maakt die je privacy respecteert.

©PXimport

▼ Volgende artikel
CashbackXL: zo haal je het maximale uit je online aankopen!
© Mymemo - stock.adobe.com
Huis

CashbackXL: zo haal je het maximale uit je online aankopen!

Steeds meer consumenten maken gebruik van cashbackplatforms om geld terug te krijgen op hun online aankopen. CashbackXL is een van de bekendste Nederlandse aanbieders en werkt volgens een eenvoudig principe: wie via het platform naar een webshop gaat en daar iets koopt, krijgt achteraf een deel van het aankoopbedrag terug. In dit artikel lees je hoe dat precies werkt, welke voordelen het biedt en waar je op moet letten om optimaal te profiteren.

In dit artikel lees je onder meer:
  • Hoe CashbackXL werkt en waarom je geld terugkrijgt op je aankopen

  • Stap-voor-stap uitleg om cashback te activeren

  • Extra voordeel via waardebonnen met directe cashback

  • Uitleg over uitbetaling en Instant Payout

  • Wat te doen als je cashback niet wordt geregistreerd

  • De belangrijkste voor- en nadelen van CashbackXL

CashbackXL (of kortweg CBXL) is een van de bekendste cashbackplatforms in Nederland. Het concept is eenvoudig maar slim: je gaat via CashbackXL naar een webshop, doet daar een aankoop en ontvangt achteraf een deel van je aankoopbedrag terug. Dat geld komt uit de commissie die de webshop aan CashbackXL betaalt omdat jij via het platform binnenkwam. Met andere woorden: de winkel bedankt CBXL voor jouw aankoop en CBXL deelt die beloning met jou.

In de praktijk betekent dit dat elke online bestelling via het platform een kans is om geld te besparen, zonder kortingscodes te zoeken of ingewikkelde acties te volgen. Zolang je via de juiste link doorklikt en de regels volgt, verdien je automatisch aan je eigen aankopen.

Wil jij ook altijd de beste deals?

Schrijf je dan snel in via CashbackXL!

Stap voor stap: zo verdien je cashback via CBXL

Om te beginnen maak je gratis een account aan op CashbackXL.nl. Alleen geregistreerde en ingelogde gebruikers kunnen een cashback ontvangen. Zodra je bent ingelogd, kun je via de zoekbalk of de categorieën jouw favoriete webshop vinden. Denk aan bekende namen als Bol.com, Coolblue, HEMA of Zalando. Klik vervolgens op de knop Shop & ontvang cashback. Dat doorklikmoment is essentieel, want op dat moment plaatst CBXL een cookie waarmee de aankoop aan jouw account wordt gekoppeld.

Daarna winkel je precies zoals je dat gewend bent. Je plaatst producten in je winkelmandje, rekent af via de website van de winkel en rondt alles volledig online af. Belangrijk is dat je pas begint met shoppen nadat je via CBXL op de betreffende aanbieding hebt geklikt, en dat je geen kortingscodes gebruikt die niet op CBXL zelf vermeld staan. Zulke codes kunnen de cashback namelijk ongeldig maken.

Na je aankoop verschijnt de cashback vaak binnen tien minuten als 'in behandeling' in je account, maar het kan ook tot 24 uur duren. De definitieve goedkeuring volgt zodra de webshop jouw aankoop bevestigt. Let op: bij sommige winkels is dat al binnen een paar dagen geregeld, bij andere kan het enkele weken duren.

Hoe voorkom je dat je een cashback misloopt?

Een cashback werkt alleen als de tracking ongestoord verloopt. Daarom raadt CBXL aan om altijd alle cookies te accepteren, adblockers uit te schakelen en bij voorkeur de browser Chrome te gebruiken. Klik direct na het inloggen op de gewenste webshop en koop zonder omwegen, dus zonder tussendoor andere websites te bezoeken of vergelijkingssites te gebruiken.

Gebruik bij voorkeur je eigen wifi-netwerk; aankopen via een bedrijfsnetwerk of hotelverbinding kunnen soms niet goed geregistreerd worden. En tot slot: gebruik alleen kortingscodes die expliciet op CBXL vermeld staan. Andere codes kunnen ertoe leiden dat de webshop geen commissie uitkeert, waardoor je ook geen cashback ontvangt.

Extra voordeel met giftcards en directe cashback

Naast reguliere aankopen biedt CBXL een tweede manier om te besparen: waardebonnen met directe cashback. Dat werkt eenvoudig. Je logt in op je account, kiest een giftcard van bijvoorbeeld Bol.com, Wehkamp, Zalando, Intertoys of Douglas, en betaalt via iDeal. Binnen één minuut staat de code (en eventueel een pincode) in je account. De cashback wordt meteen goedgekeurd en aan je saldo toegevoegd.

De waardebonnen zijn minimaal twee jaar geldig, kunnen in delen worden besteed en zijn ook in fysieke winkels te gebruiken via de barcode in de CBXL-app. Daarmee kun je dus ook offline profiteren van cashback.

Een concreet voorbeeld: stel dat je voor 200 euro schoenen wilt kopen bij Zalando. In plaats van direct op Zalando te betalen, koop je via CBXL Zalando-waardebonnen ter waarde van 200 euro. Die bonnen ontvang je vrijwel direct, en zodra je ermee betaalt, ontvang je 12 euro cashback (6 procent) die direct op 'goedgekeurd' komt te staan. Zo krijg je direct voordeel zonder wachttijd.

Je saldo uitbetalen: van punten naar euro’s

Wanneer jouw cashback door de webshop is goedgekeurd, kun je het laten uitbetalen. Dat kan op verschillende manieren. De meeste gebruikers kiezen voor een gewone bankoverschrijving, die maandelijks rond de 25ste plaatsvindt (in december rond de 20ste van de maand). Er geldt geen minimum- of maximumbedrag en het geld staat meestal binnen één werkdag op je rekening.

Wie sneller over zijn saldo wil beschikken, kan gebruikmaken van de Instant Payout-optie. Dan staat het bedrag binnen 2 seconden op je rekening, maar geldt er wel een vergoeding van 2 procent van het uitbetalingsbedrag (met een minimum van 0,50 euro). Een derde optie is uitbetaling in giftcards, waarmee je minimaal 4 procent extra voordeel krijgt. Dat is vooral aantrekkelijk voor wie regelmatig bij dezelfde winkel koopt.

©Cashback XL

Wat te doen als je cashback niet wordt geregistreerd?

Soms verschijnt je cashback niet in je account. Dat kan gebeuren als de tracking is onderbroken of als cookies niet goed zijn opgeslagen. In dat geval kun je binnen drie weken na je aankoop een claim indienen via je account. CashbackXL beoordeelt de claim en stuurt deze indien nodig door naar de webshop. De verwerking duurt gemiddeld vier maanden, en niet elke claim wordt toegekend (volgens CBXL wordt ongeveer 60 procent van de claims goedgekeurd).

Om teleurstelling te voorkomen is het sowieso verstandig om van elke aankoop een screenshot van de bestelbevestiging te bewaren. Die kun je meesturen bij een eventuele claim.

De voor- en nadelen op een rij

Het grote voordeel van CashbackXL is dat het platform hoge cashback-percentages biedt, vaak hoger dan bij concurrenten als EuroClix. Het aantal aangesloten webshops is daarnaast indrukwekkend, en de combinatie met directe cashback op giftcards maakt het aanbod extra aantrekkelijk. De app en browser-extensie zijn gebruiksvriendelijk en zorgen ervoor dat je geen kans op een cashback mist.

Daar staat tegenover dat het systeem nauw luistert. Een kleine fout (een ad-blocker, een vergeten cookie of een niet-goedgekeurde kortingscode) kan ervoor zorgen dat je helemaal geen korting of cashback ontvangt. Daarnaast vraagt het soms geduld: sommige winkels doen er weken over om aankopen definitief goed te keuren. Houd daar dus rekening mee.

Slim omgaan met cashback: tips uit de praktijk

Wie structureel voordeel wil halen uit CashbackXL, doet er goed aan om de app of browser-extensie te installeren. Die herinnert je automatisch aan cashback-mogelijkheden als je een webshop bezoekt. Shop altijd via de directe link, sla bewijs van je bestelling op en gebruik giftcards alleen als je zeker weet dat je ze binnenkort gebruikt, want digitale bonnen kunnen niet worden geretourneerd.

Het voordeel van CBXL is dat je euro's verdient in plaats van punten, waardoor je precies weet wat je terugkrijgt. De Instant Payout is vooral handig voor wie snel over zijn geld wil beschikken, maar wie geen haast heeft, kan beter wachten op de gratis maandelijkse uitbetaling.

Nog even in het kort

CashbackXL is een volwassen en transparant platform dat het principe van cashback toegankelijk maakt voor iedereen. Het combineert gebruiksgemak met hoge percentages en directe beloning via giftcards. De regels zijn strikt, maar wie ze volgt, krijgt structureel geld terug op zijn aankopen.

Kort gezegd: wie online koopt via CashbackXL, laat geld liggen als hij geen cashback activeert. En in tijden van stijgende prijzen voelt dat extra goed: niet omdat je minder uitgeeft, maar omdat je slimmer uitgeeft!

Wil jij ook altijd de beste deals?

Schrijf je dan snel in via CashbackXL!
▼ Volgende artikel
Sony Bravia Theatre U: nekbandspeaker die samen tv-kijken prettiger maakt
© Sony
Huis

Sony Bravia Theatre U: nekbandspeaker die samen tv-kijken prettiger maakt

Samen tv-kijken terwijl één van de twee wat slechter hoort? Dat leidt vaak tot gedoe over het volume. Wat voor de één te zacht is, is voor de ander te hard. Moet een van de twee dan maar een koptelefoon op? Da's ook weer zo ongezellig. Met de Bravia Theatre U wil Sony dat probleem verhelpen. Deze draadloze nekbandspeaker stuurt het tv-geluid direct naar de oren, terwijl omgevingsgeluiden hoorbaar blijven.

De Bravia Theatre U (adviesprijs 284 euro) rust losjes op de schouders en richt het geluid direct op de oren. Zo klinken stemmen en muziek helder, terwijl de drager gewoon hoort wat er om hem heen gebeurt. Tijdens het tv-kijken blijven dialogen goed verstaanbaar, ook als het volume voor de rest van het gezin op normaal niveau staat – geen discussie meer over standje 'burenruzie'. Tv-kijken, bellen of luisteren naar een podcast kan zo comfortabel, zonder dat anderen daar last van hebben.

©Sony

De speaker is voorzien van Voice Clarity-technologie, die stemmen extra duidelijk weergeeft. Dankzij de lage vertraging tussen beeld en geluid blijft alles synchroon, wat prettig is bij films en games. De Bravia Theatre U is licht, spatwaterbestendig (IPX4) en geschikt voor gebruik met hoortoestellen. De accu is via USB-C snel op te laden en schakelt automatisch uit wanneer de speaker niet wordt gebruikt.

Via bluetooth kan de nekband aan meerdere apparaten tegelijk worden gekoppeld, bijvoorbeeld aan een tv en smartphone. Met de 360 Spatial Sound Personalizer is het geluid verder aan te passen aan persoonlijke voorkeuren.

©Sony


Wat is een nekbandspeaker?

Een nekbandspeaker is een lichte luidspreker die om de schouders rust. Het geluid wordt richting de oren gestuurd, zodat de drager helder geluid hoort zonder afgesloten te zijn van de omgeving. Dat maakt het een alternatief voor koptelefoons, vooral voor wie moeite heeft met verstaanbaarheid of comfort.