ID.nl logo
USB-buttonbox bouwen met Arduino
© Reshift Digital
Huis

USB-buttonbox bouwen met Arduino

Veel programma’s bieden handige sneltoetsen maar de toetsencombinaties zijn vaak lastig te onthouden. Games en simulators gaan nog een stap verder, en bieden hele schermen met aanpasbare bedieningsopties. Met een usb-buttonbox, die je zelf eenvoudig kunt bouwen, breng je een deel van die functies over naar fysieke toetsen met een beschrijving. Dat ziet er ook nog eens leuk uit en is wellicht de start van een nieuwe hobby.

Veel programma’s kun je via sneltoetsen bedienen, maar het valt niet mee de toetsencombinaties te onthouden. En soms is het toetsenbord niet praktisch of simpelweg niet in de buurt. Voor hedendaagse games geldt dat nog meer. Simulators als Flight Simulator 2020 en DCS World zijn zo realistisch dat je vrijwel elke functie in de cockpit kunt bedienen. Je ontkomt dan bijna niet aan accessoires, zoals een gashendel en joystick voor het vliegen, of een stuurtje om te racen. Op de accessoires vind je veel extra knoppen die je kunt toewijzen aan de gewenste functies. Maar zelfs dan moet je keuzes maken, gezien de talloze bedieningsopties. Een leuke uitbreiding en misschien wel het begin voor een levensecht(e) dashboard of cockpit is een zogenoemde usb-buttonbox, die je vrij eenvoudig zelf kunt maken. Je kunt ze ook inzetten voor bijvoorbeeld een volumeregeling of het bedienen van muziek! Ze zijn ook nog eens betrekkelijk eenvoudig en voor weinig geld te bouwen.

01 Benodigdheden

Het project vraagt om te beginnen uiteraard om een behuizing voor bijvoorbeeld nabij de pc. Van welk materiaal deze is gemaakt, maakt niet uit. Plastic is voordelig en makkelijk om mee te werken, zolang je oppast bij het solderen. Maar bijvoorbeeld aluminium kan ook. Voor de besturing zou je een zogenaamde joystick-controllerbordje met usb kunnen inzetten, maar hier kiezen we voor de flexibiliteit van een goedkope microcontroller.

We gebruiken een kloon van de Arduino Pro Micro (vanaf ongeveer 4 euro). Deze bordjes kun je zien als de kleine versie van de Arduino Leonardo. De basis is ook hier een ATmega32U4 van 8 bit die zich onderscheidt door de volledige usb-functionaliteit.

Microcontrollers op basis van de ATmega328 hebben dat overigens niet en zijn daarom niet geschikt. Voor het programmeren van de microcontroller gebruiken we de bekende Arduino-software. Met deze software worden ook meteen de vereiste drivers geïnstalleerd. Verder heb je wat aansluitkabeltjes nodig, gereedschap en natuurlijk de nodige schakelaars.

©PXimport

02 Gereedschap

Wat gereedschap betreft heb je voor het maken van de verbindingen een soldeerbout met soldeertin nodig. Gebruik je schakelaars met een ronde doorvoer, wat zeker de voorkeur heeft, dan hoef je alleen een gat in de juiste maat te boren. Gebruik een schuifmaat om de vereiste diameter gemakkelijk te bepalen. Verder heb je een boormachine en een voor het materiaal geschikte boor nodig. Een voordelige en praktische optie zijn de zogenoemde stappenboren met meerdere diameters, vooral als je door niet te dik materiaal moet. Je kunt alles met dezelfde boor afhandelen. Daarmee kun je, door deze voorzichtig iets verder te duwen, ook meteen de scherpe randjes er af slijpen. Bovendien kun je grotere diameters boren dan er mogelijk in je boor passen. Zo past een 12mm-boor lang niet altijd in de boorkop, terwijl die diameter voor sommige grotere schakelaars nodig is.

©PXimport

03 Schakelaars en regelaars

We beginnen het project met zes eenvoudige drukknoppen die je aan functies in software toe kunt kennen. Ze worden ook wel momentary pushbutton genoemd. Een kenmerk is dat ze terugveren nadat je ze hebt ingedrukt, als een toets op je toetsenbord. Afhankelijk van je project zijn er allerlei varianten. Zo heb je wipschakelaars die je twee kanten op kunt duwen en dus twee functies bedienen. Ook leuk zijn de bekende grote roodgekleurde paniekbuttons of de knoppen zoals je die op arcadekasten ziet.

Verder kun je allerlei andere soorten schakelaars en regelaars gebruiken. Een contactschakelaar met sleutel bijvoorbeeld, voor het aan- of uitzetten van de motor, of een druk- of wipschakelaar die ook de standen ‘aan’ of ‘uit’ heeft. Ook een leuke toevoeging is een draaiknop die linksom of rechtsom kan draaien, ook wel rotary encoder genoemd. Die is bijvoorbeeld inzetbaar voor een volumeregeling, zoals we verderop in dit artikel laten zien.

04 Aansluiten en configureren

We gaan in deze stap de microcontroller aansluiten op de pc, het bord configureren in Arduino en een klein demoprogramma laten draaien. Hiervoor hoef je nog niets aan te sluiten op de microcontroller. Sluit deze om te beginnen via usb aan op de pc. Als het goed is, gaat direct de rode led aan. Ga je in Windows naar Apparaatbeheer, dan zie je bij Poorten de aangesloten microcontroller, die in ons geval als Arduino Leonardo bootloader is geïdentificeerd, met daarbij de gebruikte com-poort (hier com3). Start nu Arduino. We gaan eerst een extra adres toevoegen voor borden. Ga daarvoor naar Bestand / Voorkeuren en vul achter Meer Board ManagersURL’s de volgende url in:

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json

Klik dan op OK. Ga naar Hulmiddelen / Board en kies Board Beheer. Je kunt nu SparkFun AVR Boards opzoeken in de lijst. Selecteer deze en kies Installeer. Hierna selecteer je de vrij universele SparkFun Pro Micro onder Hulpmiddelen / Board / SparkFun AVR Boards. Zorg daarna dat je onder Hulpmiddelen / Processor de juiste uitvoering van je bordje (meestal 5V/16 MHz) hebt gekozen!

©PXimport

05 Probeer je microcontroller

De Pro Micro heeft twee ingebouwde leds die het verzenden (TX) en ontvangen (RX) van data laten zien. Je kunt deze meestal niet gebruiken in je programma, maar bij dit bordje kan dat wél. Je programmeert deze zoals iedere digitale in- of uitgang. Voor de RX-led kan dat via pin 17. Voer het onderstaande programma in. Het programma zet de RX-led met vaste tussenpozen (0,5 seconde) aan en uit. Als je het hebt ingevoerd, kies je Schets / Upload (Ctrl+U) en de led zal beginnen te knipperen. Wil je de TX-led gebruiken? Deze bestuur je via een zogeheten macro, met de opdracht TXLED1 om deze aan te zetten en TXLED0 om de led uit te zetten. Programma’s in Arduino volgen steeds deze opzet: in het begin je definities voor bijvoorbeeld pinnummers, een functie setup() voor initialisatie en een lus loop() waarin herhaaldelijk opdrachten worden uitgevoerd.

int RXLED = 17; // Standaard pin voor RX LED

void setup()

{

pinMode(RXLED, OUTPUT); // RX LED als output gebruiken

}

void loop()

{

digitalWrite(RXLED, LOW); // RX LED aan

delay(500); // Wachten...

digitalWrite(RXLED, HIGH); // RX LED uit

delay(500); // Wachten...

}

©PXimport

Aansluitingen op de microcontroller

De Arduino Pro Micro en varianten bieden 18 I/O-pinnen die je allemaal als digitale ingang of uitgang kunt gebruiken, bijvoorbeeld voor het aanzetten van een led of lezen van een drukschakelaar. Deze zijn op de afbeelding lichtblauw gemarkeerd. Van die pinnen kun je er 9 als analoog naar digitaal converter (ADC) inzetten, voor bijvoorbeeld het uitlezen van een potentiometer. Deze zijn op de afbeelding groen gemarkeerd. Er zijn 5 pinnen die voor pulse width modulation (PWM) gebruikt kunnen worden (rood gemarkeerd), zodat je bijvoorbeeld via een pulse-trein de helderheid van een led in je programma kunt regelen. Er zijn meer uitvoermogelijkheden, bijvoorbeeld voor het aansluiten van lcd’s, maar hier beperken we ons tot de genoemde ingangen. De microcontroller krijgt zijn voeding gewoon via de usb-verbinding. Gebruik je de microcontroller voor andere toepassingen dan kun je een voeding op de VCC-pin aansluiten als de spanning precies 3,3 of 5 volt is (afhankelijk van de uitvoering van je bordje!). De RAW-pin biedt spanningsregulatie en is geschikt voor zo’n 6 tot 12 volt.

©PXimport

06 Schakelaar aansluiten

De Pro Micro kan zich dankzij de volledige usb-functionaliteit als muis of toetsenbord gedragen. We beginnen met een eenvoudig voorbeeld waarin via een drukschakelaar een toetsaanslag wordt verstuurd. Hiervoor gebruiken we de standaard Keyboard-bibliotheek van Arduino. Van de drukschakelaar gaat één aansluiting naar ground (GND) en de andere naar een digitale ingang, hier pin 4. Als je het onderstaande programma start, zul je zien dat na het indrukken van de schakelaar de a-toets wordt ontvangen in bijvoorbeeld de teksteditor die je gebruikt. We voegen eerst de bibliotheek toe en definiëren de pin:

#include <Keyboard.h>

int buttonPin = 4; // Button op pin 4

Binnen setup() stellen we daarna de button in als ingang (waar twee methodes voor zijn) en initialiseren de keyboard-emulatie:

void setup()

{

pinMode(buttonPin, INPUT); // Button als ingang instellen

digitalWrite(buttonPin, HIGH); // Zet de button op hoog

// pinMode(buttonPin, INPUT_PULLUP); // Alternatief voor bovenstaande twee regels

Keyboard.begin(); // Init keyboard-emulatie

}

In de lus reageren we op het indrukken van de button. We versturen het karakter a en bouwen een korte vertraging van 200 ms in om te voorkomen dat je scherm vol staat met deze letter.

void loop()

{

if (digitalRead(buttonPin) == 0) // Als button naar laag gaat (ground)...

{

Keyboard.write('a'); // Stuur toets a via toetsenbord

delay(200); // Korte vertraging

}

}

Je kunt het programma op vergelijkbare wijze uitbreiden met de andere drukschakelaars die je op dezelfde manier aansluit: de ene pin naar ground en de andere pin naar een eigen digitale ingang.

©PXimport

07 Speciale toetsencombinaties

Sneltoetsen vereisen in veel programma’s een combinatie met Ctrl of Shift. Ook zulke toetsen kun je programmeren. In plaats van Keyboard.write() gebruik je Keyboard.press(), dat ervoor zorgt dat een bepaalde toets wordt ingedrukt maar pas wordt losgelaten als je een ‘loslaat’-opdracht geeft. Als voorbeeld programmeren we Ctrl+B, dat bijvoorbeeld in het programma Word de optie vetgedrukt aan- of uitzet. Voor de Ctrl-toets kunnen we KEY_LEFT_CTRL invullen. Andere voorbeelden zijn KEY_LEFT_ALT, KEY_ESC, KEY_F1, KEY_TAB en KEY_RETURN. Een volledige lijst met speciale toetsen vind je via www.tiny.cc/keymod. Het programma blijft voor het merendeel gelijk als in stap 6. Je hoeft alleen beide regels in het blok if te vervangen door:

Keyboard.press(KEY_LEFT_CTRL); // Houd Crtl ingedrukt

Keyboard.press('b'); // Houd 'b' ingedrukt

delay(200); // Korte vertraging

Keyboard.releaseAll(); // Laat alle toetsen los

Hier wordt eerst de linker-Ctrl ingedrukt, daarna de toets b en na een korte vertraging worden beide toetsen losgelaten met de opdracht Keyboard.releaseAll().Als je het aangepaste programma gebruikt in Word, zie je dat met de toets de optie vetgedrukt wordt aan- en uitgezet.

©PXimport

08 Bibliotheek toevoegen

De Keyboard-bibliotheek voor Arduino ondersteunt niet alle toetsen. Hierdoor kun je bijvoorbeeld niet de standaard multimediatoetsen programmeren die veel toetsenborden hebben voor het pauzeren van nummers of regelen van het volume, of systeemtoetsen voor het starten van een programma als je browser of e-mailprogramma. In zulke situaties kun je de uitgebreidere HID-Project-bibliotheek gebruiken. Als voorbeeld gebruiken we deze bibliotheek in combinatie met een draaiknop (ofwel rotary encoder). Ze worden onder meer gebruikt om de rotatiesnelheid vast te leggen. Je kunt ze ook prima voor een volumeregeling gebruiken, wat we hier gaan doen.

De draaiknop kun je oneindig in beide richtingen draaien, waarbij linksom en rechtsom in feite aparte toetsaanslagen zijn. Je kunt de rotary encoder bovendien indrukken zoals een druktoets, wat we hier gebruiken om het volume op stil te zetten. Om de bibliotheek toe te voegen ga je in Arduino naar Schets / Bibliotheek gebruiken / Bibliotheken Beheren. Zoek de bibliotheek HID-Project op en kies Installeren.

©PXimport

09 Volumeregelaar toevoegen

We gaan pinnen 5, 6 en 7 op de microcontroller gebruiken. De draaiknop heeft aan één kant drie pinnen. De middelste sluit je aan op ground. De andere twee pinnen zijn voor de draaiactie, respectievelijk linksom en rechtsom. Die sluit je aan op pin 5 en 6. Aan de andere kant zie je twee pinnen voor de drukactie. Hiervan sluit je er weer één aan op ground en de andere op pin 7. Maak een nieuw bestand in Arduino met Bestand / Nieuw. In het programma voegen we eerst de bibliotheek toe en definiëren we de pinnen met de buttons:

#include "HID-Project.h"

#define VOLBUT_UP 6

#define VOLBUT_DOWN 5

#define VOLBUT_PUSH 7

In setup() stellen we de pinnen in als input en maken ze hoog met één commando. Daarna starten we de Consumer-API met Consumer.begin(). Deze API zorgt dat je bijvoorbeeld een mediaspeler kunt bedienen of de browser en andere speciale programma’s kunt openen.

void setup() {

pinMode(VOLBUT_UP, INPUT_PULLUP);

pinMode(VOLBUT_DOWN, INPUT_PULLUP);

pinMode(VOLBUT_PUSH, INPUT_PULLUP);

Consumer.begin();

}

In de lus reageren we op het laag zijn van een input, waarbij we afhankelijk van de button het volume verhogen, verlagen of op stil zetten. Met de vertraging (delay) zul je wat moeten experimenteren.

void loop() {

if (!digitalRead(VOLBUT_UP)) {

Consumer.write(MEDIA_VOL_UP);

delay(120);

}

if (!digitalRead(VOLBUT_DOWN)) {

Consumer.write(MEDIA_VOL_DOWN);

delay(120);

}

if (!digitalRead(VOLBUT_PUSH)) {

Consumer.write(MEDIA_VOL_MUTE);

delay(250);

}

}

©PXimport

10 Andere functies

In het voorbeeld gebruiken we de Consumer-API die we aanroepen met Consumer.begin(). Maar de bibliotheek biedt ook andere opties. Zo kun je op vergelijkbare wijze de zogeheten System-API gebruiken voor systeemfuncties als het afsluiten of laten slapen of ontwaken van je systeem. Verder heb je de Gamepad-API voor het emuleren van een spelcontroller. Ook kun je de Keyboard-API gebruiken, dat eigenlijk een verbeterde versie is van de Keyboard-bibliotheek van Arduino, die ook ongeveer hetzelfde werkt.

In Arduino kun je diverse voorbeelden ophalen via Bestand / Voorbeelden / HID-Project. Wil je een uitgebreidere gamecontroller bouwen, dan is de Arduino Joystick-bibliotheek een aanrader, deze vind je hier. Na het downloaden van het zip-bestand kun je deze aan Arduino toevoegen via Schets / Bibliotheek gebruiken / Voeg .ZIP bibliotheek toe. Open dan bijvoorbeeld Bestand / Voorbeelden / Joystick / GamepadExample of een van de andere voorbeelden. Je zult zien dat er veel overeenkomsten zijn met de in dit artikel gebruikte bibliotheken.

©PXimport

Te veel knoppen … te weinig ingangen?

Wil je een groot aantal knoppen aansluiten, dan kom je al snel ingangen te kort. Gelukkig kun je via een zogenaamde matrix veel meer toetsen aansluiten. Hierbij maak je rijen en kolommen, bijvoorbeeld 4×4 of 5×5. Heb je toch te weinig ingangen? Met een IO-expander kun je uitbreiden. Zo’n module werkt via de IC2-bus die je ook op deze microcontroller vindt. Een voorbeeld is de SX1509. Met slechts twee draden (voor de IC2-bus) krijg je er 16 digitale ingangen bij en daarmee kun je tot 64 buttons in een 8×8-matrix toevoegen!

▼ 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