ID.nl logo
Maak je eigen Google Home met een Raspberry Pi
© PXimport
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
Review Motorola Edge 60 Fusion – Betaalbaar en compleet
© Rens Blom
Huis

Review Motorola Edge 60 Fusion – Betaalbaar en compleet

Een 'gewoon prima' smartphone hoeft echt geen vele honderden euro's te kosten, weten we inmiddels. De nieuwe Motorola Edge 60 Fusion is daar een mooi voorbeeld van, lees je in deze review. Voor een adviesprijs van 329 euro krijg je een telefoon die luxe oogt, fijne specificaties heeft en zes jaar updates ontvangt.

Uitstekend
Conclusie

De Motorola Edge 60 Fusion is niet de snelste smartphone in zijn prijsklasse, maar scoort op alle andere belangrijke punten wel (erg) goed. We zijn ook blij met het updatebeleid van zes jaar. Voor iets meer dan 300 euro koop je zo een telefoon waar je veel plezier aan kunt beleven.

Plus- en minpunten
  • Eigen, luxe ontwerp
  • Goed scherm
  • Zes jaar beveiligingsupdates
  • Prijs-kwaliteitverhouding
  • Niet de snelste in zijn klasse
  • Moto AI niet altijd nuttig

De Edge 60 Fusion is het goedkoopste model in Motorola's Edge 60-serie en verkrijgbaar in drie kleuren: blauw, roze en het geteste turquoise. Niet de meeste alledaagse kleuren voor een smartphone, en het veilige grijs, zwart en wit ontbreken. Wij kunnen dat wel waarderen.

Opvallend ontwerp

De Edge 60 Fusion valt lekker op in de saaie massa. Een hoesje kan handig zijn om de telefoon beter te beschermen, maar is niet nodig voor grip. De nepleren achterkant biedt namelijk veel grip. Motorola schermt bovendien met een MIL-STD-810H-certificering, die aangeeft dat de Edge 60 Fusion niet stuk zou moeten gaan door een val van maximaal 1,2 meter hoogte.

©Rens Blom

De Edge 60 Fusion valt lekker op.

De gebruikservaring van de Motorola-smartphone is uitstekend. Met 178 gram is het toestel relatief licht, door de gekromde randen aan de zijkanten heb je het idee dat je een hele dure telefoon in handen hebt en het 6,67 inch-oledscherm ziet ook heel goed uit. De verversingssnelheid is 120 Hz en de resolutie wat hoger dan Full-HD, waardoor het scherm scherp oogt.

Complete smartphone

We zijn ook blij dat Motorola de scherp geprijsde smartphone zo compleet heeft gemaakt. De Edge 60 Fusion is bijvoorbeeld waterbestendig, ondersteunt een e-sim en heeft lekker veel (256 GB) opslagcapaciteit. Ook het werkgeheugen is van gebruikelijke grootte (8 GB) en de gangbare accucapaciteit van 5200 mAh levert een meer dan prima accuduur op. Wij kunnen de smartphone bij redelijk intensief gebruik, ook buiten de deur, zeker een lange dag gebruiken. 's Avonds opladen kan, maar de volgende ochtend redt het toestel ook.

©Rens Blom

Het grote scherm ziet er goed uit

Je dient wel zelf een oplaadadapter te regelen, en het liefst een krachtige. Motorola levert – vanwege nieuwe EU-wetgeving – namelijk alleen een usb-c-kabel in de doos van de Edge 60 Fusion mee. Met de juiste adapter kan de smartphone overigens lekker rap opladen, namelijk met 68 watt. Wat dat zegt? Dat het drie kwartier duurt om de telefoon van 0 naar 100 procent te brengen.

Is de Edge 60 Fusion zonder compromissen? Nee. De gebruikte MediaTek-processor is niet zo snel, waardoor de telefoon ons af en toe niet kan bijhouden. Geen ramp, maar wel een aandachtspunt. Toestellen worden door de jaren heen namelijk wat trager door alle apps en bestanden die je erop hebt gezet, en de Edge 60 Fusion is dus vanaf dag één al niet de snelste in zijn segment.

©Rens Blom

Camera's

De camera's van de smartphone zijn wat verwarrend. Achterop lijken drie cameralenzen te zitten, aangevuld met een flitser. Er zijn echter maar twee camera's: een hoofdcamera en een groothoekcamera. De Edge 60 Fusion kan ook inzoomen, maar gebruikt daar zijn hoofdcamera voor. Hoewel de camera's prima zijn gelet op de prijs, merken we duidelijk dat duurdere smartphones betere kiekjes schieten. Een begrijpelijk compromis, en we zijn blij dat Motorola de groothoeklens voorzien heeft van een macrofunctie, om van heel dichtbij te fotograferen. Dat kunnen lang niet alle telefoons in dit prijssegment.

Hieronder zie je twee fotoseries met van links naar rechts de hoofdcamera, groothoekcamera en zoomfunctie (2x) aan het werk.

©Rens Blom

©Rens Blom

Zes jaar updates

Prettig aan de Motorola Edge 60 Fusion is dat de telefoon drie Android-upgrades en zes jaar beveiligingsupdates krijgt. Je kunt het toestel dus heel lang veilig gebruiken. Motorola installeert ook heel wat AI-functies op het toestel. Sommige functies zijn nuttig, andere niet. Vertrouwd prettig blijven de gebaren om de smartphone efficiënt te bedienen. Motorola's tijdlijn met artikelen in allerlei categorieën toont ons om onduidelijke redenen alleen Engelstalige content, aangevuld met advertenties. Google's nieuwsfeed blijft dus relevanter.

©Rens Blom

Sommige onderdelen van Motorola's software bevallen goed, andere delen minder.

Conclusie: Motorola Edge 60 Fusion kopen?

De Motorola Edge 60 Fusion is niet de snelste smartphone in zijn prijsklasse, maar scoort op alle andere belangrijke punten wel (erg) goed. We zijn ook blij met het updatebeleid van zes jaar. Voor iets meer dan 300 euro koop je zo een telefoon waar je veel plezier aan kunt beleven.

▼ Volgende artikel
WhatsApp, Google Maps en DigiD populairste apps in Nederland
© ID.nl
Huis

WhatsApp, Google Maps en DigiD populairste apps in Nederland

WhatsApp is de meest geïnstalleerde app op Nederlandse smartphones, gevolgd door Google Maps, DigiD en YouTube. Dat blijkt uit het Mobile App Trends Report 2025 van Framna. Voor dit rapport zijn 600 apps geanalyseerd en 9.000 gebruikers ondervraagd.

Praktisch wint het van nieuws

De Top 20 laat een duidelijke voorkeur zien voor praktische apps, zoals 9292, NS, PostNL en Buienradar. Ook supermarktapps als die van Albert Heijn en Lidl Plus zijn vertegenwoordigd; terwijl ook Marktplaats, Bol en Spotify populair zijn.Nieuwsapps van onder andere NU.nl, NOS en De Telegraaf ontbreken. Daarin verschilt Nederland bijvoorbeeld van Scandinavische landen als Zweden en Denemarken, waarin de categorie nieuwsapps sterker scoort.

Kijken we naar sociale media, dan staan Facebook, Instagram en LinkedIn wel in de Top 20, maar TikTok ontbreekt.

Hoge waardering ≠ (automatisch) vaak geïnstalleerd

Framna keek niet alleen naar hoeveel een app wordt geïnstalleerd, maar ook naar de mate van waardering. De zogeheten "App Pulse-score" is gebaseerd op tevredenheid, gebruikswaarde, relevantie en het imago van de aanbieder. Op basis van die score staan WhatsApp, Spotify en ChatGPT bovenaan. Opvallend: sommige apps met een hoge App Pulse-score – zoals ChatGPT en Teletekst – komen niet voor in de lijst van meest geïnstalleerde apps.

WhatsApp niet weg te denken

WhatsApp is met een gebruikspercentage van 97 procent met afstand de populairste app in Nederland. De app wordt zowel privé als zakelijk gebruikt, onder meer voor klantenservice, groepsgesprekken en afspraakherinneringen. Daarmee speelt WhatsApp een centrale rol in de digitale communicatie van veel Nederlanders.

DigiD en Tikkie onmisbaar geworden

Ook DigiD en Tikkie zijn breed ingeburgerd. DigiD is de standaard geworden voor online toegang tot overheidsdiensten en zorginstanties. Tikkie wordt veel gebruikt voor het eenvoudig terugbetalen van bedragen onderling. Beide apps combineren gebruiksgemak met een duidelijke functie, waardoor ze inmiddels voor veel gebruikers tot de vaste uitrusting van hun telefoon behoren.

Social media dagelijks het meest geopend

In het onderzoek is ook gekeken naar het daadwerkelijke gebruik van apps. Social media worden het vaakst dagelijks geopend (door 62 procent van de ondervraagden), gevolgd door nieuwsapps (61 procent), financiële apps (31 procent) en entertainmentapps (28 procent). Toch halen nieuwsapps de top 20 van meest gebruikte apps niet.

De 20 meest gedownloade apps in Nederland

1: WhatsApp

2: Google Maps

3: DigiD

4: YouTube

5: Facebook

6: Marktplaats

7: Instagram

8: Albert Heijn

9: Spotify

10: Bol

11: PostNL

12: Messenger

13: NS

14: Netflix

15: Buienradar

16: Tikkie

17: Lidl Plus

18: LinkedIn

19: 9292

20: ING