ID.nl logo
Zo maak je een YouTube-audiospeler
© Reshift Digital
Huis

Zo maak je een YouTube-audiospeler

Muziekstreamingdiensten hebben ten opzichte van traditionele muziekdragers zoals cassettes en cd’s natuurlijk een aantal voordelen. Daarentegen hebben de grote drukknoppen, een verlicht lcd-scherm en de fysieke handeling van het verwisselen van een cd of cassettebandje zo ook wel zijn charme. In dit artikel bouwen we een Raspberry Pi om tot een retroapparaat dat de audio van YouTube-video’s kan afspelen. In plaats van cd’s of cassettebandjes gebruiken we rfid-tags om een specifieke YouTube-playlist te kiezen.

Boodschappenlijstje

  • Raspberry Pi Zero W met sd-kaart en adapter (€ 30,- bij Kiwi Electronics);
  • Adafruit Speaker Bonnet (€ 15,50 bij Kiwi Electronics);
  • 2 speakers, bijvoorbeeld 4 ohm 3 watt (€ 1,95 per stuk bij Kiwi Electronics);
  • PN532 NFC/RFID Breakout Board (€ 17,95 bij Kiwi Electronics);
  • 16x2 LCD Display met I²C-backpack (€ 7,- bij Tiny Tronics);
  • 5 (arcade-)drukknoppen, één eventueel met verlichting (€ 2,50 tot € 7,- bij Kiwi Electronics);
  • (Dupont-)draad in verschillende kleuren (€ 1,25 per 2 meter bij Kiwi Electronics);
  • Een behuizing of kistje waar je alles kunt inbouwen. Dit heb je misschien gewoon in huis. Totale kosten: ca. € 100,-

Het hart van de muziekspeler wordt gevormd door een Raspberry Pi Zero W: een van de meest compacte en goedkope, maar minst krachtige telgen van de Raspberry-familie. Hij heeft gelukkig wel nog voldoende capaciteit om alles te doen wat we willen. We beginnen met het uitlezen van een rfid-tag en het afspelen van een YouTube-playlist die met die specifieke tag wordt geassocieerd. We sluiten ook een lcd-scherm aan. Hierop wordt de titel van de video en het volgnummer uit de playlist getoond. De knoppen dienen voor het starten en pauzeren van de muziek, het kiezen van de vorige en volgende track en het regelen van het geluidsvolume. Omdat een Pi Zero W geen ingebouwde speaker of audio-uitgang heeft, gebruiken we een Adafruit Speaker Bonnet: een 3watt-stereoversterker waar je kleine luidsprekers op kunt aansluiten.

Een Python-script stuurt de elektronica aan. Omdat zoveel verschillende onderdelen een complex geheel vormen, wordt elke functie en elk onderdeel eerst apart getest. Pas als het voor elk onderdeel duidelijk is hoe dit los van de rest functioneert, wordt alles samengevoegd.

©PXimport

Software

We gaan ervan uit dat je een geüpdatete installatie van de meest recente versie van Raspberry Pi OS hebt en dat de Raspberry Pi een werkende wifi-verbinding heeft. Let op: in dit artikel gebruiken we de Lite-versie, want een grafische interface hebben we niet nodig en vertraagt de boel in dit geval alleen maar.

Als je nog nooit eerder een sd-kaartje voor een Raspberry Pi hebt geïnstalleerd, dan verwijzen we je naar de officiële site, waar bij het helpgedeelte een duidelijke handleiding te vinden is.

Vervolgens kun je de software, inclusief kortere scriptjes om afzonderlijke onderdelen te testen, binnenhalen vanaf GitHub. Installeer eerst Git met de commandline-opdracht:

sudo apt install git

Daarna download je de benodigde bestanden met dit commando:

git clone https://github.com/ralphcrutzen/YouTube-audio-player.git

De bestanden worden nu in een map genaamd YouTube-audio-player gezet. Het is handig als ze allemaal naar de home-map worden gekopieerd, dus gebruik het volgende commando nadat de bestanden zijn gedownload:

cp YouTube-audio-player/* ~

Heb je ervaring met Git en ga je daadwerkelijk aan de slag met dit project, dan zijn pull requests natuurlijk van harte welkom!

©PXimport

Geluid via de Adafruit Speaker Bonnet

Voordat je de Adafruit Speaker Bonnet op de Raspberry Pi kunt prikken, zul je eerst zelf de pinnen erop moeten solderen. Eerst de dubbele rij aan de onderkant: dit is de verbinding tussen de Speaker Bonnet en de Raspberry Pi. Daarna een enkele rij aan de bovenkant: deze pinnen zorgen ervoor dat de gpio-aansluitingen van de Raspberry Pi beschikbaar komen zodat we alle onderdelen voor de muziekspeler kunnen aansluiten. Verbind ook de speakers met de Speaker Bonnet.

Als dat klusje is geklaard, is het tijd om software-ondersteuning voor I²S te installeren. De volgende commandline-opdracht downloadt daar een script voor en voert het automatisch uit:

curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash

Op de vraag Activate ‘/dev/zero’ playback in background? antwoord je met N. Daarna moet je de Raspberry Pi opnieuw opstarten en het script voor een tweede keer uitvoeren met behulp van de bovengenoemde commandline-opdracht. Je krijgt nu ook de vraag of je de speakers wilt testen, waarop je uiteraard het antwoord Y geeft.

Als je bij deze test geen geluid hoort, verwijzen we je naar de uitgebreide en duidelijke handleiding op de site van Adafruit. Daar kun je ook terecht als je het hele installatieproces nog eens in wat meer detail wilt teruglezen.

©PXimport

Over I²S en I²C

I²S staat voor inter-IC sound en wordt gebruikt om audiosignalen tussen apparaten te versturen. I²S maakt gebruik van drie verbindingen: word select (WS), clock (SCL) en data (SDA). In het geval van de Adafruit Speaker Bonnet is het alleen van belang dat je weet dat hiervoor de pinnen met de nummers 18, 19 en 21 van de Raspberry Pi worden gebruikt. Die zijn dus niet meer voor andere aansluitingen beschikbaar. I²C is de afkorting van inter-IC bus. Het is een veelgebruikt protocol om elektronica met elkaar te laten communiceren. Zowel het lcd-scherm als de rfid-lezer die we gebruiken zijn I²C-componenten. Een voordeel is dat het slechts twee lijntjes (SDA en SCL) nodig heeft om signalen te versturen. Zonder I²C zouden we 16 verbindingen nodig hebben om het lcd-scherm op de Raspberry Pi aan te sluiten! Een ander voordeel is dat er meerdere I²C-componenten op dezelfde twee SDA- en SCL-pinnen van de Raspberry Pi kunnen worden aangesloten. Elke component heeft zijn eigen unieke I²C-adres.

Zonder I²C zouden we voor het lcd-scherm 16 verbindingen nodig hebben

-

Audio van YouTube afspelen

Nu de Raspberry Pi Zero via de Speaker Bonnet geluid kan afspelen, is het tijd om een Python-script te maken waarmee we naar een YouTube-playlist kunnen luisteren. Daarvoor moet eerst een aantal Python-library’s worden geïnstalleerd: pafy, vlc en youtube-dl.

Met pafy is het mogelijk om een directe link naar de audiostream van een YouTube-video op te halen. Met vlc (dat behalve als python-library vooral bekend is als mediaspeler-software) is het mogelijk om de door pafy verkregen audiostream af te spelen, te pauzeren en het volume aan te passen. Youtube-dl stelt pafy in staat om de audio van YouTube-video’s te streamen.

Om bovenstaande software te installeren, gebruik je de volgende vijf opdrachten op de commandline:

sudo apt install python3-pipsudo pip3 install pafysudo pip3 install python-vlcsudo apt install vlcsudo pip3 install youtube_dl

Je kunt testen of het werkt door het script met de bestandsnaam testpafyvlc.py uit te voeren:

python3 testpafyvlc.py

Het script is te stoppen via Ctrl+C. Eventueel kun je in de programmacode de url vervangen door die van een andere playlist.

©PXimport

Python-scripts uitvoeren

We geven kort uitleg over het bewerken en uitvoeren van een Python-script via de commandline. Python-scripts zijn tekstbestanden met daarin commando’s in de programmeertaal Python. Met het volgende commando start je de teksteditor nano waarbij een leeg bestand met de naam test.py gemaakt en geopend wordt: nano test.py In dit bestand voeg je de volgende twee coderegels toe: *for i in range(10):*print("Hello world!") Daarbij is het belangrijk dat je de tweede regel laat inspringen met vier spaties. Sla het bestand vervolgens op met Ctrl+W en sluit nano af met Ctrl+Q. Om het script uit te voeren gebruik je: python3 test.py Als het goed is, wordt er tien keer de tekst ‘Hello world!’ getoond. Om het script te bewerken, gebruik je weer nano test.py. Extra functies die niet standaard in Python aanwezig zijn, kun je toevoegen met behulp van library’s. Daarvoor wordt het programma pip gebruikt. In dit artikel gebeurt dat bijvoorbeeld bij het installeren van de vlc- en pafy-library’s.

Lcd-scherm aansluiten

Het lcd-scherm is niet alleen handig om het volgnummer in de afspeellijst weer te geven, maar ook om de naam van de video en andere statusinformatie zoals het volume te tonen. Het lcd-scherm dat we gebruiken, maakt gebruik van een I²C-backpack.

Zoals je in het schema kunt zien, heb je vier kabeltjes nodig. De manier waarop je het scherm op de Pi aansluit ligt voor de hand: SDA naar SDA, SCL naar SCL, VCC naar 5V en natuurlijk ook GND naar GND. Op zowel het schermpje als de Speaker Bonnet staan deze aansluitingen duidelijk aangegeven. Het is wel aan te raden om eerst de Pi uit te schakelen met het commando sudo shutdown now en vervolgens de stroom eraf te halen wanneer je dingen gaat aansluiten.

©PXimport

I²C installeren

Om I²C op een Raspberry Pi te kunnen gebruiken en het lcd-scherm aan de praat te krijgen, is aanvullende software nodig. Deze download en installeer je als volgt:

git clone https://github.com/the-raspberry-pi-guy/lcd.gitcd lcdsudo sh install.sh

Aan het einde van het installatiescript wordt de Raspberry Pi vanzelf opnieuw opgestart. Daarna installeren we met de volgende commando’s eerst ondersteuning voor I²C voor versie 3 van Python en een hulpprogramma om te testen of het scherm door de Raspberry Pi wordt herkend.

sudo apt install python3-smbussudo apt install i2c-tools

Voer nu het commando sudo raspi-config uit. Ga naar Interfacing Options / I2C en kies vervolgens Yes om I²C in te schakelen. Keer via Finish terug naar de commandline.

Lcd-scherm testen

Je kunt nu testen of het lcd-scherm wordt herkend met het commando:

sudo i2cdetect -y 1

In de tabel die getoond wordt, kun je het I²C-adres van het lcd-scherm aflezen, in ons geval is dat 27. Dit adres kun je ook terug vinden op regel 25 in het Python-script met de naam lcddriver.py.

Om ons testscript uit te voeren, moet je eerst twee bestanden van de lcd-directory naar de home-directory kopiëren:

cp lcd/lcddriver.py lcd/i2c_lib.py ~

Het lcd-scherm test je met het commando python3 testlcd.py, dat je in het begin van dit artikel bij GitHub hebt gedownload. Stop het script met Ctrl+C.

Als er bij het uitvoeren van het testscript geen tekst op het lcd-scherm komt te staan, kijk dan of het juiste I²C-adres in lcddriver.py staat. Ook moet je ervoor zorgen dat de bestanden lcddriver.py en i2c_lib.py in dezelfde directory als het testscript staan.

©PXimport

Bedieningsknoppen gebruiken

We kijken nu naar hoe je met een Python-script kunt reageren op een druk op een knop. Het voorbeeldscript heet testbutton.py en is een onderdeel van de bestanden die je eerder van GitHub hebt gedownload. Om de gpio-pinnen in een Python-script te kunnen gebruiken, moet er eerst weer een library worden geïnstalleerd:

sudo apt install python3-rpi.gpio

In het testscript gebruiken we de knop met het ingebouwde ledje als schakelaar om het lampje aan en uit te doen. De knop heeft vier aansluitingen: de + en de – voor het lampje en nog twee aansluitingen voor de knop zelf. Sluit de + van het lampje aan op GPIO4 en de – op een GND-pin. De aansluitingen van de knop komen op GPIO27 en een andere GND-pin. Bij knoppen zonder lampje werkt het script trouwens ook, want de status van de lamp wordt tevens op je monitor weergegeven.

©PXimport

Knoppen-jargon: debouncing en interrupts

Door de knop in te drukken wordt er een verbinding tussen de twee pinnen gemaakt, waardoor de spanning tussen de pinnen van 0 naar 3,3 V gaat. Dat gebeurt echter niet netjes en geleidelijk. Integendeel, de spanning springt een zeer korte tijd een aantal keer op en neer. Dat kan tot gevolg hebben dat de knop te gevoelig reageert. Om dit probleem op te lossen, maken we gebruik van een programmeertechniek die ‘debouncing’ heet: als binnen een aantal milliseconden na het moment dat de knop werd gebruikt opnieuw een spanningswisseling wordt waargenomen, dan wordt deze door het programma genegeerd. Op het moment dat je de knop indrukt, wordt in het voorbeeldscript een zogenoemde interrupt geactiveerd. Dat wil zeggen dat er direct op een gebeurtenis (het indrukken) wordt gereageerd, zelfs als het programma nog met andere taken bezig is. Op dat moment wordt er een callback-functie uitgevoerd. Dat is een stukje programmacode dat ervoor zorgt dat er een bepaalde actie wordt uitgevoerd: het lampje gaat aan. In button.py wordt dit alles nog eens toegelicht in de vorm van commentaarregels, beginnend met een #, tussen de programmacode.

Rfid-kaartlezer aansluiten

De rfid-lezer communiceert, net als het lcd-scherm, ook via I²C met de Raspberry Pi. Het handige van I²C is dat je meerdere apparaten op dezelfde pinnen van de Raspberry Pi kunt aansluiten. De aansluitingen die gelijk zijn, worden eerst naar één punt op een breadboard of printplaatje geleid en van daaruit gaan ze naar de Raspberry Pi toe.

Wanneer je beide onderdelen hebt aangesloten, kun je weer met de opdracht sudo i2cdetect -y 1 controleren welk I²C-adres elk apparaat heeft. Bij ons krijgt de rfid-lezer het adres 24 toegewezen. Dit adres hebben we deze keer niet nodig, omdat de software die we in de volgende stap gaan installeren dit automatisch detecteert.

©PXimport

Met I²C kun je meerdere apparaatjes op dezelfde pinnen aansluiten

-

Rfid-tags lezen

Om daadwerkelijk tags te kunnen lezen, hebben we natuurlijk weer een extra library nodig. Installeer deze met:

sudo pip3 install pn532pi

Met het script testrfid.py kun je voor elke tag die je tegen de lezer houdt het unieke ID zien. Noteer deze ID’s, want je hebt ze nodig in de definitieve versie van het script voor de muziekspeler.

©PXimport

Alle hardware samenvoegen

Wanneer je alles in een mooie behuizing (een houten schatkistje bijvoorbeeld) gaat inbouwen, wil je dat alle kabels stevig vast blijven zitten. Het is dan verstandig om geen breadboard te gebruiken, maar alles op een printplaatje te solderen. Deze kun je ook gebruiken voor de GND-aansluitingen van de vijf knoppen en het ledje. Op de foto zie je dat we eerst diverse pinnetjes op een pcb hebben gesoldeerd; hierop worden dan de kabeltjes met Dupont-stekkers aangesloten. Wanneer alles is aangesloten, is het verstandig om de testscrips voor het geluid (testpafyvlc.py), het scherm (testlcd.py), de knop (testbutton.py) en de tag-lezer (testrfid.py) nog eens uit te voeren, zodat je zeker weet dat alles ook nu nog steeds werkt. Want het belangrijkste gaat nu komen: het script dat alles bij elkaar brengt.

©PXimport

Het alles-in-1 Python-script

Het uiteindelijke script dat ervoor zorgt dat alle onderdelen samenwerken heet ytplayer.py. Het gaat te ver om in dit artikel alle programmode in dit bestand toe te lichten. Daarom staan er commentaarregels in de code, beginnend met een hekje #. Daarmee wordt hopelijk duidelijk genoeg uitgelegd hoe het script werkt. Ook vind je rond regel 80 de plek waar je zelf de ID’s van de rfid-tags en de links naar de bijbehorende YouTube-playlists moet invullen. 

©PXimport

Automatisch opstarten

Om ervoor te zorgen dat het script automatisch wordt uitgevoerd zodra de Raspberry Pi is opgestart, moet je het bestand /etc/rc.local bewerken. Gebruik een teksteditor (nano bijvoorbeeld) om dit bestand te doen:

sudo nano /etc/rc.local

Voeg daarna de volgende regel toe aan het einde, maar let er op dat je exit 0 op de allerlaatste regel laat staan.

python3 /home/pi/ytplayer.py &

De ampersand (&) op het einde is belangrijk, want deze zorgt ervoor dat het programma gelijktijdig met de overige opstartprocessen wordt uitgevoerd. Wanneer je dit teken weg laat, zal de Pi niet volledig opstarten.

Gebruik Ctrl+X, dan Y en dan Enter om het bestand op te slaan, en vervolgens sudo reboot om de Pi opnieuw op te starten om te testen of het werkt.

©PXimport

Tot slot

Het is niet lastig om elk onderdeel los van de rest werkend te krijgen, want er zijn veel duidelijke handleidingen op internet te vinden. Maar op het moment dat je meerdere onderdelen wil laten samenwerken, ben je vaak op je eigen creativiteit en vindingrijkheid aangewezen om oplossingen voor problemen te vinden. Vaak lukt dat, maar helaas niet altijd. Het is bijvoorbeeld niet gelukt om te achterhalen waarom het lcd-scherm soms vreemde tekens vertoont. En bij het afspelen van een track zijn de eerste paar seconden nog wat haperingen in het geluid te horen. Maar omdat alle programmacode op GitHub beschikbaar is, zouden die problemen op het moment dat je dit leest misschien al lang door iemand opgelost kunnen zijn.

▼ Volgende artikel
Waar voor je geld: 5 betaalbare pizzarettes voor minder dan 100 euro
© ID.nl
Huis

Waar voor je geld: 5 betaalbare pizzarettes voor minder dan 100 euro

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Gek op Italiaans eten? Kijk dan eens naar een pizzarette: een elektrische tafeloven waarbij iedereen aan tafel zijn eigen mini-pizza's kan beleggen en bakken. Wij vonden er vijf voor je.

Een pizzarette is een elektrische tafeloven met een terracotta koepel, vergelijkbaar met gourmetten. Iedereen aan tafel belegt zijn eigen mini-pizza en schuift deze via openingen in de oven. Binnen enkele minuten heb je een versgebakken, krokante pizza. Het is een gezellige, sociale manier om samen te eten. Wij vonden vijf mooie modellen voor een gezellige avond voor minder dan 100 euro.

Emerio PO‑115848 Pizzarette

Dit model van Emerio is geschikt voor zes personen maar heeft een iets ander ontwerp. De terracottadom is gecombineerd met een stevige kunststof basis met antislipvoetjes. Het apparaat gebruikt ongeveer 1200 watt, wat betekent dat de pizzarette snel op temperatuur komt. De bakplaat is voorzien van een antiaanbaklaag waardoor deeg niet blijft plakken en je weinig tot geen olie nodig hebt. Je kunt de pizzarette niet alleen voor pizza gebruiken; met de zes bijgeleverde spatels maak je ook minipannenkoekjes of wraps. Bovenop de dom bevinden zich kleine openingen zodat stoom kan ontsnappen, wat een knapperige korst bevordert. Een controlelampje laat zien wanneer de oven klaar is voor gebruik.

Review.nlis hét testpanel-platform van Kieskeurig.nl waar je als consument de unieke kans krijgt om de nieuwste producten, zoals elektronica en huishoudelijke apparaten, uitgebreid thuis te proberen. Het concept is eenvoudig: je meldt je aan voor specifieke testacties die jou aanspreken. Word je geselecteerd, dan ontvang je het product om het enkele weken in je eigen omgeving te gebruiken.

In ruil voor deze ervaring deel je jouw ongezouten, eerlijke mening in een review om andere kopers te helpen. Na de testperiode is het zelfs soms mogelijk om het product met een mooie korting over te nemen.

Ariete 919 pizzaoven

Wat deze pizzarette uniek maakt, is de speciale 'Pre-Bake' functie op de platte bovenkant van de handgemaakte terracotta koepel. Hiermee bak je het deeg kort voor voordat je het belegt, wat garandeert dat je pizza’s een perfecte, krokante bodem krijgen en niet zompig worden door de tomatensaus. De poreuze terracotta koepel absorbeert bovendien vocht tijdens het bakken, wat bijdraagt aan die authentieke steenoven-smaak. Dankzij het krachtige vermogen van 1500 Watt zijn de creaties in slechts enkele minuten gaar en knapperig. De set is compleet uitgevoerd met acht geïsoleerde bakspatels en een handige deeguitsteker, zodat je direct aan de slag kunt. Of het nu voor een kinderfeestje is of een uitgebreid diner, met deze Emerio Pizzarette wordt samen eten een culinair feestje zonder gedoe.

Emerio PO‑115985 Pizzarette

Voor kleinere gezelschappen is er de Emerio PO‑115985. Deze compacte pizzarette is ontworpen voor vier personen en heeft een vermogen van 900 watt. Net als bij de andere modellen zorgt een terracottadom voor een gelijkmatige warmteverdeling. De bakplaat is voorzien van een antiaanbaklaag waardoor je deeg of andere ingrediënten eenvoudig omdraait. Het apparaat wordt geleverd met vier hittebestendige spatels en heeft ventilatieopeningen om overtollige stoom af te voeren. Met dit toestel bak je niet alleen pizza’s; je kunt er ook kleine broodjes of taartjes mee maken. Doordat het model compacter is, neemt het minder ruimte in op tafel.

Tristar PZ‑9160 Pizza Festa Gourmet

De Tristar PZ‑9160 onderscheidt zich doordat hij drie functies combineert: pizza’s bakken, raclette en gourmetten. Dit tafeltoestel van 1800 watt heeft een grote ronde bakplaat waarboven je een terracottadom plaatst voor pizza’s. Onder dezelfde kap kun je ook kleine pannetjes gebruiken voor kaas of vlees; ze zijn voorzien van een antiaanbaklaag en worden verlicht door een indicatielampje. De temperatuur stel je handmatig in via een draaiknop en een controlelampje geeft aan wanneer het toestel warm is. De set wordt geleverd met zes spatels, zodat je met zes personen kunt koken. Dankzij de antislipvoetjes blijft de unit stabiel op tafel. De PZ‑9160 is sinds 2021 verkrijgbaar.

Emerio Pizzarette PO‑1158471

De Emerio PO‑1158471 is de vierpersoonsversie van de bekende pizzarette. Dit apparaat verbruikt ongeveer 1100 watt en heeft een keramische bakplaat met een antiaanbaklaag, zodat pizza’s niet vastplakken. De terracottadom zorgt voor een gelijkmatige warmte en een knapperige korst. Openingen aan de bovenkant laten stoom ontsnappen en voorkomen dat de pizza te vochtig wordt. Bij de set krijg je vier spatels met geïsoleerde handvatten. Omdat dit model kleiner is, neemt het niet veel plaats in op tafel en is het ook geschikt voor kleinere huishoudens. De pizzarette is geschikt voor gebruik met kant‑en‑klare pizzabodems of zelfgemaakt deeg.

▼ Volgende artikel
Slim wachtwoordbeheer: zo houd je je accounts écht veilig
© Queenmoonlite Studio - stock.adobe.com
Huis

Slim wachtwoordbeheer: zo houd je je accounts écht veilig

Hoewel wachtwoordloze technieken als toegangssleutels snel terrein winnen, doe je er voorlopig goed aan slim om te gaan met je huidige wachtwoorden. De tips en (gratis) tools in dit artikel helpen je bij het opzetten van degelijk wachtwoordbeheer.

Dit gaan we doen

Sterke wachtwoorden en tweestapsverificatie blijven voorlopig onmisbaar, ook nu toegangssleutels opkomen. In dit artikel lees je hoe je veilig en praktisch met wachtwoorden omgaat. Je ontdekt welke gratis tools je helpen – zoals Bitwarden voor cloudbeheer of KeePassXC voor lokale opslag – en hoe je 2FA en authenticatie-apps toevoegt voor extra bescherming. Verder komt aan bod hoe je datalekken opspoort, phishing voorkomt, herstelcodes bewaart en aparte browserprofielen instelt voor gevoelige accounts. Tot slot lees je hoe toegangssleutels werken, de toekomst van wachtwoordloos inloggen.

Lees ook: Bescherm je data: voorkom digitale beveiligingslekken

Cloudbeheer

Telkens hetzelfde wachtwoord gebruiken voor meerdere apps en diensten is sterk af te raden, maar verschillende complexe wachtwoorden onthouden lukt haast niet zonder een wachtwoordbeheerder. Een degelijke, gratis optie is het opensource Bitwarden. Kies eerst een hoofdwachtwoord en installeer daarna de desktop-app, browserextensies (voor automatisch invullen) en/of de mobiele app. Je wachtwoordkluis wordt end-to-end versleuteld in de cloud bewaard en wordt via je account gesynchroniseerd. Kies bij voorkeur bitwarden.eu als serverlocatie. Je kunt ook creditcards en andere gevoelige gegevens in je kluis bewaren.

De webversie van Bitwarden is nog handiger als je ook de browserextensie installeert.

Lokaal beheer

Bitwarden is een uitstekende wachtwoordmanager, maar functies als TOTP-authenticatie (Time-based One-Time Password) zijn alleen beschikbaar in de betaalde versie. Misschien stoort het je ook dat je wachtwoordkluis in de cloud wordt opgeslagen. Een gratis, opensource-alternatief is KeePassXC. Deze bewaart alles lokaal in een versleuteld bestand, van wachtwoorden en creditcards tot notities. De app werkt volledig offline, ondersteunt ook TOTP-authenticatie en vult inloggegevens automatisch in via een browserextensie. Wil je toch synchronisatie, dan kun je de database delen via een cloudopslagdienst als Google Drive of Dropbox, of met Syncthing.

KeePassXC is een volwaardige wachtwoordmanager, weliswaar offline.

Algoritme

Bij wachtwoordbeheerders als Bitwarden en KeePassXC worden je wachtwoorden opgeslagen. LessPass pakt het anders aan. Deze bewaart niets, maar genereert je wachtwoorden telkens opnieuw via een algoritme op basis van je hoofdwachtwoord, gebruikersnaam en sitenaam. Uit veiligheidsoverwegingen gebruik je hiervoor liefst de browserextensie of mobiele app, zodat alles lokaal gebeurt. Omdat nergens iets wordt opgeslagen, is dit systeem veilig, maar je moet bij elke herberekening wel exact dezelfde gegevens ingeven. Automatisch invullen of ondersteuning voor notities ontbreekt helaas.

LessPass: veiliger, maar het luistert nauw en is omslachtiger.

Browsers

Gebruik je bijna uitsluitend je browser voor allerlei aanmeldingen, dan kun je ook de ingebouwde wachtwoordbeheerfunctie gebruiken. Deze zit in de meeste Chromium-browsers en in Firefox. In Chrome ga je naar Instellingen / Jij en Google / Synchronisatie en Google-services. Schakel de functie in en zorg dat bij Beheren wat je synchroniseert ook Wachtwoorden en toegangssleutels is aangevinkt. Wil je liever niet synchroniseren, dan kun je wachtwoorden ook handmatig exporteren en importeren via Instellingen / Automatisch invullen en wachtwoorden / Google Wachtwoordmanager. Kies daar Instellingen en Wachtwoorden exporteren. Je kunt het opnieuw inladen via Wachtwoorden importeren. Verwijder eventueel het csv-bestand na gebruik. Firefox biedt vergelijkbare opties.

In onder meer Chrome kun je wachtwoorden (en meer) via je account laten synchroniseren.

2FA

Zelfs met een degelijke wachtwoordbeheerder blijven wachtwoorden een zwakke schakel: ze zijn te eenvoudig, je vergeet of verliest ze, je geeft ze in op phishing-sites of malware onderschept ze. Daarom is het aangeraden om 2FA, oftewel tweestapsverificatie, te activeren. Daarbij is naast je wachtwoord een extra factor nodig, zoals een pincode, TOTP, sms, pushmelding, biometrie of een beveiligingssleutel. Een handig overzicht van sites en diensten die 2FA ondersteunen, met info over de gebruikte methoden en links naar de instelinstructies, vind je op https://2fawebsites.github.io en op de thematische https://2fa.directory.

Een uitgebreide lijst met diensten die 2FA ondersteunen.

Authenticator

Er bestaan meerdere verificatiemethoden voor 2FA, maar vrijwel alle diensten ondersteunen verificatie zowel via sms als via TOTP. Bij TOTP is geen internet of gsm-netwerk nodig, wat het minder kwetsbaar maakt voor onderschepping of sim-swapping. Om zulke codes te genereren heb je een TOTP-authenticator-app nodig. Goede gratis opties zijn Google Authenticator, Microsoft Authenticator (ondersteunt geen wachtwoordbeheer en autofill meer), Aegis Authenticator en Authy. Alle vier ondersteunen TOTP en bieden een back-upfunctie. Wil je je codes exporteren, dan lukt dit het best met Google of Aegis. Deze laatste is ook opensource, maar is enkel beschikbaar voor Android. Authy is veelzijdigst, want bruikbaar op Android, iOS, macOS en Windows.

Export van TOTP-codes in Google Authenticator (voor gebruik op een ander apparaat).

Herstelcodes

De meeste diensten met 2FA laten je ook herstelcodes gebruiken. Deze bieden een uitweg als je tijdelijk geen toegang hebt tot andere aanmeldopties, bijvoorbeeld bij verlies van je smartphone. Bewaar deze herstelcodes tevens digitaal, zoals in het notitiegedeelte van je favoriete wachtwoordmanager, in een versleutelde VeraCrypt-container of in een versleuteld cloudbestand. Bij Google vind je tot 10 herstelcodes via https://myaccount.google.com/security, bij Back-upcodes. Bij Microsoft is dit beperkt tot één code: ga naar https://account.microsoft.com/security, klik op Beheren hoe ik me aanmeld en kies Een nieuwe code genereren.

Bij Microsoft kun je slechts één herstelcode tegelijk activeren.

Gehackt?

Het is verstandig om regelmatig te controleren of een van je login-id's al in een online datalek voorkomt. Dit kan via Have I Been Pwned. Hier vul je e-mailadres in en je ziet meteen hoeveel en welke datalekken er zijn. Klik bovenaan op Notify Me voor een gratis melding zodra je adres in een nieuw lek opduikt. Klik op Passwords om te controleren of een wachtwoord reeds voorkomt in een datalek.

In Chrome kun je via chrome://password-manager/checkup?start=true eveneens een wachtwoordcheck uitvoeren. Je ziet ook hoeveel wachtwoorden zwak zijn of worden hergebruikt.

Een weinig opbeurend rapport: zestien datalekken gevonden.

Anti-phishing

Wachtwoorden bieden weinig bescherming tegen phishing-sites, dus zorg ervoor dat je hiertegen zo goed mogelijk beveiligd bent. In je browser, zoals Chrome, ga je naar Instellingen, kies Privacy en beveiliging / Beveiliging en activeer bij voorkeur Geoptimaliseerde beveiliging bij Safe Browsing, of anders Standaardbeveiliging. Daarnaast kun je via DNS phishing-sites al blokkeren voor ze laden. Een optie is het gebruik van de nieuwe Europese publieke DNS4EU-resolvers. Kies hier voor Protective resolution (86.54.11.1 en 86.54.11.201), eventueel aangevuld met kinderbescherming en/of advertentieblokkering. Op de site vind je stap-voor-stap-instructies.

De EU biedt nu ook eigen publieke DNS-filters aan.

E-mailadres

Veel diensten laten je een e-mailadres opgeven ingeval je je wachtwoord vergeet of je account wordt geblokkeerd. Je ontvangt dan een mail om je identiteit te bevestigen en een herstellink te krijgen. Gebruik hiervoor liefst niet je hoofdadres, want als iemand dat via een datalek bemachtigt, kan die herstelmails onderscheppen en je accounts via wachtwoordherstel overnemen. Je kiest dus beter een apart e-mailadres dat je nergens anders voor gebruikt. Bij Google kun je dit instellen op https://myaccount.google.com/security, bij Herstelmailadres.

Je gebruikt bij voorkeur een afzonderlijk adres voor het wachtwoordherstel.

Lees ook: Zo meld je phishing in Outlook en Gmail

Browserprofiel

Voor gevoelige accounts zoals online bankieren of je wachtwoordkluis kun je overwegen een apart browserprofiel te gebruiken. Malafide scripts of extensies uit je standaardprofiel worden zo niet geactiveerd. Zo beperk je ook tracering en fingerprinting, en voorkom je dat je per ongeluk ingelogd blijft, aangezien je in dat profiel geen andere sites bezoekt.

In Chrome maak je een nieuw profiel aan via het profielicoon rechtsboven. Kies Chrome-profiel toevoegen. Je kunt inloggen met een Google-account of klikken op Doorgaan zonder account. Kies een zoekmachine, vul een profielnaam in, selecteer een opvallend thema en klik op Klaar.

Overweeg een afzonderlijk browserprofiel voor privacygevoelige online diensten.

Aanmeldpogingen

Bij sommige diensten, zoals Google en Microsoft, ontvang je automatisch een e-mail of pushmelding zodra een nieuw apparaat of een nieuwe browser inlogt. Zo kun je snel ingrijpen, bijvoorbeeld door je wachtwoord aan te passen of verdachte sessies uit te loggen. Bij Google ga je naar https://myaccount.google.com/security. Scrol naar Je apparaten en klik op Apparaten beheren. Selecteer een sessie en kies Uitloggen. Bij Microsoft ga je naar https://account.microsoft.com/security en klik je op Mijn aanmeldactiviteiten weergeven.

Ook bij Google kun je de recentste sessies (en gekoppelde diensten) bekijken.

Beveiligingssleutel

Je kunt een fysieke beveiligingssleutel (zoals de meeste YubiKeys) ook gebruiken om je wachtwoordkluis te openen in combinatie met je hoofdwachtwoord.

Installeer eerst Yubikey Manager en start dit programma. Ga naar Applications/OTP en klik op Configure bij een vrij slot. Kies Challenge-response en klik op Generate voor een geheime sleutel. Vink Require touch aan voor extra veiligheid. Bevestig met Finish.

Open vervolgens je database in KeePassXC en ga naar Database / Databasebeveiliging. Kies Aanvullende bescherming toevoegen / Challenge-Response toevoegen. Selecteer het juiste slot van je ingeplugde beveiligingssleutel en bevestig met OK.

Voortaan is deze wachtwoordkluis alleen toegankelijk met wachtwoord en token.

Yubikey kopen?

Dan kan gewoon

Browserwachtwoorden

Gebruik je meerdere browsers en zoek je het wachtwoord van een specifieke site, wil je alle wachtwoorden exporteren voor import in een andere browser, of is je systeem gecrasht en wil je de wachtwoorden uit je browserprofielen halen? Dan kan het gratis WebBrowserPassView handig van pas komen (let op: je virusscanner kan een foutpositief geven). Pak het zip-bestand uit met het wachtwoord wbpv28821@ en start de portable app. Je krijgt een overzicht van alle gevonden sites en log-ins. Via Bestand / Geselecteerde items opslaan kun je exporteren naar diverse csv-formaten, zoals voor Chrome, KeePass en Firefox.

Je browserlogins op een presenteerblaadje.

Toegangssleutels

Een mooie afsluiter lijkt ons een tip rond passkeys, oftewel toegangssleutels. Immers, steeds meer diensten (en wachtwoordmanagers) ondersteunen deze aanmeldmethode waarbij je geen wachtwoord meer hoeft in te voeren. Een passkey is een cryptografisch sleutelpaar: de publieke sleutel wordt bewaard bij de onlinedienst, terwijl de (afgeleide) private sleutel veilig op je toestel blijft, zoals je pc, smartphone of een fysieke beveiligingssleutel zoals een Yubikey.

Zo maak je een toegangssleutel aan bij Google. Ga naar https://g.co/passkeys en meld je aan. Klik twee keer op Toegangssleutel maken. Je toestel stelt nu een methode voor, zoals gezichtsherkenning, vingerafdruk of pincode. Bevestig de koppeling. Vanaf nu kun je je bij Google aanmelden vanaf dit toestel, zonder wachtwoord.

Je kunt meerdere toegangssleutels maken voor diverse apparaten.

View post on TikTok