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
Waar voor je geld: 5 cirkelzagen voor een goede prijs
© MG | ID.nl
Huis

Waar voor je geld: 5 cirkelzagen voor een goede prijs

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt. Daarom speurt de redactie een aantal keer per week naar zulke deals. Deze keer in de categorie klussen en (ver)bouwen: vijf goede cirkelzagen voor een redelijke prijs.

Een cirkelzaag is bedoeld voor het maken van rechte, snelle sneden in hout, plaatmateriaal, kunststof en soms zelfs metaal. Je gebruikt 'm bijvoorbeeld om planken op maat te zagen, laminaat passend te krijgen of meubels te bouwen. Dankzij het roterende zaagblad kun je nauwkeurig werken, zeker in combinatie met een geleiderail of parallelgeleider. Veel modellen bieden ook de mogelijkheid tot verstekzagen, wat handig is voor hoeken of afwerkingen.

Bosch PKS 55 A

De Bosch PKS 55 A is een eenvoudige cirkelzaag die geschikt is voor standaard klussen in en om het huis. Hij werkt op netstroom en heeft een vermogen van 1200 watt. De zaagdiepte is instelbaar tot maximaal 55 mm bij 90 graden, en 38 mm bij 45 graden, waarmee je houten planken, panelen en plaatmateriaal netjes kunt zagen. De machine is uitgerust met een parallelgeleider voor rechte sneden en een doorzichtige zaaglijnindicator (CutControl), wat helpt om op de lijn te blijven zonder extra hulpmiddelen. Bij het zagen wordt het zaagsel automatisch opgevangen in een geïntegreerde opvangbox, wat het werkvlak redelijk schoon houdt. Deze zaag wordt geleverd met een standaard hardmetalen zaagblad, en het wisselen van het blad gebeurt met een inbussleutel. Voor wie af en toe wil zagen zonder veel poespas, is dit een praktische keuze.

Zaagbladdiameter: 160 mm
Zaagdiepte: 55 mm bij 90°, 38 mm bij 45°
Verstek mogelijk: ja, tot circa 45

Metabo KS 55 FS

De Metabo KS 55 FS is een cirkelzaag die vooral praktisch is voor wie regelmatig nauwkeurig wil zagen in hout. Wat deze zaag onderscheidt, is de meegeleverde geleiderail, die je helpt om rechte sneden te maken zonder losse linialen of hulpstukken. Met een vermogen van 1200 watt en een zaagblad van 160 mm is hij krachtig genoeg voor de meeste klussen rond het huis of op de werkplaats. De maximale zaagdiepte bedraagt 55 mm bij 90 graden en 39 mm bij 45 graden, wat voldoende is voor planken, multiplex of zelfs lichte balken. Je kunt de zaaghoek makkelijk instellen en de machine is voorzien van een aansluiting voor stofafzuiging. Het geheel wordt geleverd in een robuuste kunststof koffer, samen met de geleiderail en toebehoren zoals een parallelaanslag en inbussleutel. Alles bij elkaar een goed uitgeruste zaag voor wie graag strak en gecontroleerd werkt.

Zaagbladdiameter: 160 mm
Zaagdiepte: 55 mm bij 90°, 39 mm bij 45°
Verstek mogelijk: ja, tot 47°

Makita HS7601J

Deze cirkelzaag van Makita is een netstroommodel met een vermogen van 1200 watt. Hij is geschikt voor rechte zaagsneden in hout, multiplex of spaanplaat en biedt een maximale zaagdiepte van 66 mm bij 90 graden en 46 mm bij 45 graden. Het ontwerp is compact en relatief licht, waardoor hij goed hanteerbaar is, ook voor langere zaagklussen. De aluminium zool en beschermkap zijn stevig maar licht, wat bijdraagt aan het gebruiksgemak. Je kunt een stofzuiger aansluiten op de achterzijde voor schoner werken. De machine wordt geleverd in een stevige M‑Box koffer en is standaard voorzien van een zaagblad van 190 mm. De softstartfunctie zorgt ervoor dat de zaag rustig op gang komt, wat veiliger werkt en de kans op wegspringen vermindert.

Zaagbladdiameter: 190 mm
Zaagdiepte: 66 mm bij 90°, 46 mm bij 45°
Verstek mogelijk: ja, tot 45°

Makita DSS501ZJ

De DSS501ZJ is een compacte accucirkelzaag van Makita voor lichtere zaagklussen. Hij werkt op het Makita 18 V LXT-platform, dus handig als je al andere Makita-accu’s hebt: die kun je erop gebruiken. De zaag is ontworpen voor kleinere materialen zoals latten, laminaat en dunne planken, en heeft een zaagdiepte van 51 mm bij 90 graden. Door zijn lage gewicht (rond de 2,7 kg zonder accu) is hij goed te hanteren, ook boven schouderhoogte of op lastig bereikbare plekken. De voetplaat is kantelbaar tot 45 graden, wat verstekzagen mogelijk maakt. Hij wordt geleverd in een Makita-koffer (Makpac), maar zonder accu of lader. Dit model is bedoeld voor situaties waarin draagbaarheid en snelheid belangrijker zijn dan kracht of doorzaagcapaciteit.

Zaagbladdiameter: 136 mm
Zaagdiepte: 51 mm bij 90°, 35 mm bij 45°
Verstek mogelijk: ja, tot circa 50°

DeWalt DCS573NT‑XJ

Deze DeWalt cirkelzaag is bedoeld voor wie zonder snoer wil werken en toch kracht nodig heeft. Het apparaat werkt op een 18 V XR-accu (niet meegeleverd), waardoor je flexibel kunt werken zonder beperkt te worden door een kabel. De zaag heeft een zaagdiepte tot 65 mm bij 90 graden en 50 mm bij 45 graden, wat voldoende is voor het meeste standaard timmerwerk. Dankzij de 190 mm zaagbladen kun je er door plaatmateriaal, planken en balken zagen zonder dat je de machine hoeft te forceren. Het magnesium zaagbladdeksel en de basis zorgen voor een lichte maar stevige constructie. De softstart en elektronische motorrem verhogen de veiligheid. De ingebouwde aansluiting voor stofafzuiging helpt het werkoppervlak overzichtelijk te houden, vooral bij binnengebruik.

Zaagbladdiameter: 190 mm
Zaagdiepte: 67 mm bij 90°, 51 mm bij 45°
Verstek mogelijk: ja, tot 57°

▼ Volgende artikel
Van deepfakes tot gekloonde stemmen: zo bescherm je jezelf tegen AI-oplichting
© terovesalainen
Huis

Van deepfakes tot gekloonde stemmen: zo bescherm je jezelf tegen AI-oplichting

Phishing was ooit makkelijk te herkennen: aan het slechte taalgebruik, vreemde afzenders (hallo Nigeriaanse prins!) en wazige logo's kon je meteen zien dat er iets niet klopte. Maar die tijd is voorbij. Dankzij AI kunnen oplichters nu overtuigende voicemails, video's en realtime chatsimulaties genereren die niet van echt te onderscheiden zijn. Dit kun je doen om jezelf te beschermen tegen deze nieuwe vormen van digitale oplichting.

Partnerbijdrage - in samenwerking met Bitdefender

Een nieuwe generatie digitale oplichting

AI verandert fundamenteel hoe cybercriminelen te werk gaan. Met voice-cloning kunnen ze iemands stem nabootsen op basis van een kort fragment. Deepfake-video werkt vergelijkbaar, maar dan met beeld: gezichten, lipbewegingen en mimiek worden digitaal gegenereerd of aangepast om jou te misleiden. Ook phishingmails worden met AI foutloos opgesteld, compleet met correcte opmaak, echte logo's en overtuigende toon. Webshops, bankomgevingen of overheidsportalen worden visueel nagebouwd tot in de kleinste details.

Criminelen zetten deze technieken steeds vaker in voor gerichte oplichting: een 'familielid' dat via WhatsApp om geld vraagt, een oplichter die zich voordoet als recruiter en via een deepfake-video een sollicitatiegesprek voert (om vervolgens geld of persoonlijke gegevens van de sollicitant los te krijgen) of een zogenaamde bekende die op sociale media een link deelt naar een schimmige webshop of crypto-site. Wat je ziet of hoort lijkt echt – en dat maakt het risico groot.

©Mdv Edwards

Waarom klassieke waarschuwingen niet meer werken

Lang was het advies: let op spelfouten, controleer de afzender en klik nooit zomaar op links. Maar in een tijd waarin AI moeiteloos professionele teksten schrijft en complete identiteiten nabootst, is dat niet meer genoeg. Phishingmails zijn strak vormgegeven en afgestemd op de ontvanger, inclusief gepersonaliseerde aanhef en inhoud die aansluit bij je recente activiteiten of interesses.

En het blijft niet bij mailtjes alleen. Oplichters gebruiken AI ook voor het genereren van spraakberichten en video. Daarbij zetten ze zoveel mogelijk kanalen in om slachtoffers te maken. Waar ze bij 'traditionele' kanalen als mail, sms en WhatsApp vooral kiezen voor korte berichten die urgent overkomen (Als je je bankrekening niet verifieert wordt je rekening afgesloten of Mam, help! Ik heb nú geld nodig!) kiezen ze op sociale media als Facebook, Instagram en LinkedIn een andere benadering. Daar creëren ze nep-profielen met AI-gegenereerde foto's en content, waarmee ze je vertrouwen proberen te winnen. Is dat gelukt, dan proberen ze daar misbruik van te maken via frauduleuze aanbiedingen of verzoeken om geld. Omdat er op sociale media zoveel persoonlijke informatie te vinden is, kunnen ze hun aanpak nauwkeurig afstemmen op het slachtoffer – met verwijzingen naar interesses, gezamenlijke vrienden of recente gebeurtenissen, waardoor het verhaal extra geloofwaardig lijkt.

Juist door die multichannel-aanpak is het lastiger geworden om alert te blijven. Je krijgt een alarmerend bericht via sms, terwijl op LinkedIn een geloofwaardig profiel je een vriendschapsverzoek stuurt. Of je wordt gebeld door een stem die klinkt als je dochter, vlak nadat je een verdachte e-mail hebt genegeerd. Die combinatie van persoonlijke timing, verschillende kanalen en slimme psychologische trucs maakt dat je sneller meegaat in het verhaal, zonder eerst goed na te denken.

©terovesalainen

Bitdefender Scam Copilot: wapen tegen AI-scams

Om gebruikers te helpen wapenen tegen deze moderne vorm van cybercrime heeft Bitdefender Scam Copilot ontwikkeld. Deze functie, beschikbaar in onder meer Bitdefender Premium Security, analyseert berichten, websites, meldingen en interacties op je apparaten in realtime. Scam Copilot detecteert oplichting niet alleen op basis van bekende patronen, maar gebruikt ook gedragsanalyse en AI om nieuwe, nog onbekende scams te herkennen.

Staat er een verdachte link in een bericht? Wordt een bericht verstuurd vanaf een domein dat sterk lijkt op een vertrouwd adres, maar subtiele afwijkingen bevat? Scam Copilot geeft direct een waarschuwing, nog voordat je klikt of reageert. Dat geldt ook voor verdachte formulieren, foute inlogpagina's en frauduleuze verzoeken die via sociale media of chat-apps worden verstuurd.

Daarnaast helpt Scam Copilot je om alerter te worden. Twijfel je of iets echt is of niet? Je kunt teksten, links of screenshots laten analyseren door de ingebouwde chatbot en krijgt je direct duidelijkheid of het te vertrouwen is – of dat het om een scam gaat.

Zo ontstaat er een slimme beveiligingslaag die zich aanpast aan de nieuwste technieken van criminelen. Scam Copilot werkt bovendien op al je apparaten: van smartphone tot laptop, op Android, iOS, macOS en Windows. 

⚠️ Wat kun je zelf doen om AI-fraude te herkennen?

Hoewel slimme beveiliging veel kan tegenhouden, blijft is het belangrijk dat je ook zelf alert blijft. Bij twijfel is het verstandig om: • Altijd extra kritisch te zijn bij onverwachte verzoeken om geld, zeker als ze via sociale media of chat binnenkomen. • Even telefonisch contact te zoeken met de afzender via een vertrouwd nummer. • Extra goed te letten op kleine afwijkingen in e-mailadressen, webadressen en taalgebruik. Let ook op signalen die net niet kloppen: een stem die onnatuurlijk klinkt, een video waarin lipbewegingen niet helemaal synchroon lopen, of een bericht dat op een vreemd moment komt. Hoe overtuigend AI ook is – het is (nog) niet perfect.

Digitale bescherming op alle fronten

Bitdefender Premium Security biedt uitgebreide bescherming tegen de moderne dreigingen van nu. Naast Scam Copilot krijg je toegang tot een wachtwoordmanager, onbeperkt VPN-verkeer en automatische monitoring van datalekken. Zo voorkom je dat inloggegevens op straat komen te liggen, of dat je ongemerkt verbinding maakt met een nepwebsite.

Cybercrime verandert razendsnel, maar met de juiste tools kun je risico's voorblijven. Scam Copilot is geen overbodige luxe, maar een onmisbare digitale hulp in een tijd waarin je niet altijd meer op alleen je ogen en oren kunt vertrouwen.