ID.nl logo
Wat zijn WebUSB en Web Bluetooth?
© Reshift Digital
Huis

Wat zijn WebUSB en Web Bluetooth?

WebUSB en Web Bluetooth zijn twee gelijkaardige standaarden die webapplicaties toegang geven tot apparaten via respectievelijk usb en bluetooth. Het grote voordeel: je dient geen speciale software te installeren voor toegang tot die apparaten. Het nadeel: voorlopig werkt het alleen nog maar in Chrome.

Stel je voor: je hebt een leuk nieuw apparaatje gekocht, zoals een rekenmachine of een smartwatch, en je wilt de firmware updaten om van de nieuwste functies gebruik te maken of een bug op te lossen. Maar de fabrikant levert alleen een updateprogramma mee voor Windows, en toevallig gebruik je Linux of macOS. Wat nu? Of erger: wat als het om een randapparaat gaat waarvan de fabrikant alleen maar drivers voor Windows voorziet, en je het niet eens op andere besturingssystemen kunt gebruiken?

En dat terwijl de meesten van ons een groot deel van hun tijd in de webbrowser doorbrengen. Waarom zouden we niet die webbrowser rechtstreeks toegang kunnen geven tot apparaten via usb of bluetooth, zodat je geen drivers of updateprogramma’s specifiek voor elk besturingssysteem nodig hebt? Dat exact is de insteek van WebUSB en Web Bluetooth.

WebUSB

WebUSB is volgens de specificatie een api die een manier aanbiedt om usb-apparaten veilig met het web te verbinden. Ze hergebruikt de bestaande usb-afspraken, maar past die aan de ons vertrouwde interface van de webbrowser aan. Het is dan ook een javascript-api. Dat maakt WebUSB onmiddellijk ook cross-platform, en in principe kan iedereen met wat kennis van webontwikkeling apparaten aanspreken via WebUSB.

WebUSB is nog geen officiële standaard van het World Wide Web Consortium (W3C). Ontwikkelaars van Google hebben WebUSB in 2016 voorgesteld aan de Web Incubator Community Group (WICG) van het W3C, een platform voor experimentele webtechnologieën. Sinds Chrome 61 is WebUSB-ondersteuning ook in de webbrowser van Google ingebouwd. Andere webbrowsers zijn voorlopig nog niet overstag gegaan, zoals je bij de website Can I use kunt zien.

©PXimport

Je webbrowser die toegang tot usb-apparaten krijgt, is dat niet vragen om beveiligingsproblemen? Uiteraard hebben de ontwikkelaars daarover nagedacht. Zo moet een webapp altijd toestemming van de gebruiker krijgen voordat ze toegang krijgt tot een specifiek usb-apparaat.

Bovendien krijgt je browser alleen toegang tot apparaten die specifiek aangeven dat ze WebUSB ondersteunen. Je webbrowser kan dus niet zomaar aan de bestanden op je usb-stick, je externe usb-toetsenbord afluisteren of het beeld van je usb-webcam bespioneren. Uit een analyse door F-Secure in 2017 bleek dat WebUSB met aandacht voor beveiliging is ontwikkeld.

Firmware-updates

WebUSB is nog niet echt ingeburgerd. Het enige apparaat met WebUSB-ondersteuning dat we zelf al in handen hebben gehad, is de rekenmachine van NumWorks: die laat toe om de firmware te upgraden van in je webbrowser zonder dat je je zorgen hoeft te maken over drivers en firmwaretools.

Maar je kunt zelf ook WebUSB in je eigen projecten gebruiken. Zo is er een Arduino-bibliotheek voor WebUSB. Hiermee kun je in je eigen Arduino-sketch met de webbrowser communiceren. Let op: dit vereist dat je zowel html- en css-code voor de kant van de computer schrijft als Arduino-code voor de kant van het Arduino-bordje dat je via usb aansluit.

©PXimport

Web Bluetooth

Een vergelijkbare standaard, eveneens door Google uitgebracht, is Web Bluetooth. Die laat webapps toe om met apparaten in de buurt te communiceren via bluetooth. En net zoals bij WebUSB wordt ook hier gewoon gebruikgemaakt van bestaande afspraken, in dit geval van bluetooth low-energy (BLE).

Elk BLE-apparaat biedt specifieke diensten (services) aan met eigenschappen (characteristics). Er bestaan standaardprofielen voor bijvoorbeeld hartslagmeters, temperatuursensoren enzovoort, en sommige producenten implementeren hun propriëtaire profielen in hun apparaten, die dan bijvoorbeeld met hun eigen mobiele apps kunnen communiceren. Dankzij Web Bluetooth kun je communicatie met BLE-apparaten in een webapp aanbieden, die op alle platforms werkt, zolang het maar in Chrome is.

©PXimport

Firmware-upgrades via bluetooth zijn extra handig, omdat het vaak om apparaatjes gaat die klein zijn of normaal niet zo gemakkelijk via usb aan te sluiten zijn. Bij de via javascript te programmeren Espruino Puck.js bijvoorbeeld kun je via Web Bluetooth je code naar het apparaatje uploaden.

Verder heb je ook het project web-bluetooth-dfu waarmee je de firmware van apparaten met chips van Nordic Semiconductor kunt upgraden. Het gaat dan om de Nordic nRF51822-, nRF52832- of nRF52840-chips. Die zitten onder andere in de eerste versie van de Puck.js, maar ook in de RuuviTag-bluetooth-sensor.

Onbegrensde mogelijkheden

Meer nog dan met WebUSB zijn met Web Bluetooth de mogelijkheden onbegrensd. Talloze gadgets ondersteunen bluetooth, en die zijn nu allemaal via webapps aan te sturen als je een beetje van html en javascript kent en de bluetooth-eigenschappen van het apparaatje kunt ontcijferen. De Web Bluetooth Community Group heeft enkele leuke demo’s op zijn GitHub-pagina staan, waaronder het aansturen van een bluetooth-labelprinter, speelgoedautootjes en uiteraard het uitlezen van een hartslagsensor.

Net zoals bij WebUSB overigens is ook hier over de beveiliging nagedacht: een webapp die toegang tot een bluetooth-apparaat wil, toont eerst altijd een lijst met gevonden bluetooth-apparaten, en de gebruiker dient aan te geven tot welke apparaat de webapp toegang krijgt. De bluetooth-GATT-api is bovendien vrij klein, zodat het aanvalsoppervlak beperkt blijft.

Volgende stap

Na WebUSB en Web Bluetooth staat er al een volgende technologie te wachten. Google heeft in Chrome versie 81 technologie toegevoegd om op een Android-toestel nfc-tags uit te lezen in de webbrowser. Het gaat om Web NFC. Je kunt hiermee in een javascript-api boodschappen van nfc-tags uitlezen of boodschappen naar nfc-tags schrijven.

Het is voorlopig nog een experimentele functie die je expliciet moet inschakelen. Dat kan met de optie #experimental-web-platform-features in chrome://flags. En zo krijgen webapplicaties meer en meer toegang tot hardware op een platformonafhankelijke manier. Als nu Firefox nog zou volgen, zou het helemaal handig zijn.

▼ Volgende artikel
Bestandsnamen in bulk wijzigen? Maak kennis met PowerRename uit Power Toys
© ID.nl
Huis

Bestandsnamen in bulk wijzigen? Maak kennis met PowerRename uit Power Toys

Een paar bestanden hernoemen is zo gebeurd. Maar zodra je tientallen of honderden namen moet aanpassen, schiet handmatig werk tekort. Dan komt externe software goed van pas. PowerRename, onderdeel van de PowerToys-collectie, biedt uitkomst. Met deze slimme tool kun je grote aantallen bestanden in één keer hernoemen. Dat gaat snel, efficiënt en precies zoals jij het wilt.

Dit gaan we doen

In dit artikel zie je hoe je PowerRename uit PowerToys instelt en gebruikt om grote aantallen bestanden tegelijk te hernoemen. We laten zien hoe je de tool activeert, hoe je hem oproept via Verkenner en hoe je zoek-en-vervangacties, letterinstellingen en automatische nummering toepast. Zo wijzig je in één keer volledige reeksen bestandsnamen, zonder handmatig werk.

Lees ook: Leuker, sneller en handiger: boost je Windows-pc met PowerToys

PowerRename activeren

PowerRename is een stuk krachtiger dan de standaard hernoemfunctie van Windows. De tool maakt deel uit van PowerToys, een opensource-project van Microsoft. Wil je de Microsoft Store-versie installeren? Open dan het Startmenu, zoek naar Microsoft Store en start de app. Typ PowerToys in het zoekveld bovenaan. Klik op Installeren zodra je het programma hebt gevonden. Na installatie verschijnt PowerToys in het systeemvak van Windows. Open het, kies in de linkerkolom PowerRename en je ziet meteen een korte animatie van hoe de tool werkt. Klik op Instellingenopenen en controleer of PowerRename is ingeschakeld. Let op: bij ons werkte PowerRename pas na een herstart van het systeem.

Een animatie toont hoe PowerRename werkt.

Contextueel menu in Verkenner

Open de map met de bestanden die je wilt hernoemen. Selecteer ze allemaal met Ctrl+A en klik met de rechtermuisknop op de selectie. In het contextmenu van Windows Verkenner kies je onderaan de opdracht Naam wijzigen met PowerRename.

Haal PowerRename uit het contextueel menu in Windows Verkenner.

Zoeken en vervangen

Daarna opent het venster van PowerRename. In het veld Zoeken geef je in welk deel van de bestandsnaam je wilt vervangen. In het veld eronder typ je de nieuwe tekst. In ons voorbeeld vervangen we het woord Image door Kreta2015. Nog vóór de wijziging wordt uitgevoerd, toont PowerRename een overzicht: links de oorspronkelijke bestandsnamen, rechts de nieuwe. Zo zie je meteen wat er verandert. Daaronder kies je of de aanpassing moet gelden voor de volledige naam inclusief extensie, alleen de bestandsnaam, of alleen de extensie.

Met de knoppen onder Tekstopmaak pas je eenvoudig het hoofdlettergebruik aan, van alles in kleine letters, naar alles in hoofdletters, alleen een hoofdletter aan het begin, of elke beginletter van een woord in hoofdletters. Het laatste pictogram schakelt de nummering in. Activeer je dat, dan voegt PowerRename automatisch nummers tussen haakjes toe aan de bestandsnamen.

De nieuwe namen verschijnen in voorvertoning naast de oorspronkelijke namen.     

Je allermooiste foto's hernoemd?

Druk ze af en plak ze in een foto-album
▼ Volgende artikel
Wat is local dimming en waarom is het belangrijk?
© ER | ID.nl
Huis

Wat is local dimming en waarom is het belangrijk?

Het gebrek aan een rijk contrast is een van de grootste ergernissen bij lcd- en ledtelevisies. Fabrikanten hebben daarom een slimme techniek bedacht die het contrast aanzienlijk verbetert: local dimming. In dit artikel leggen we uit hoe deze techniek van jouw grijze nachtlucht weer een inktzwarte sterrenhemel maakt.

Het contrast van je televisie is misschien wel de belangrijkste eigenschap voor mooi beeld. We willen dat wit verblindend wit is en zwart echt inktzwart. Bij oledtelevisies is dat makkelijk, want daar geeft elke pixel zelf licht. Maar de meeste televisies in de Nederlandse huiskamers zijn nog steeds lcd- of ledschermen (inclusief QLED). Die werken met een lamp achter het scherm, de zogeheten backlight. Local dimming is de techniek die probeert de nadelen van die achtergrondverlichting op te lossen.

Om te begrijpen waarom local dimming nodig is, moet je eerst weten hoe een standaard led-tv werkt. Simpel gezegd is het een groot paneel met pixels die zelf geen licht geven, maar alleen van kleur veranderen. Achter die pixels brandt een grote lichtbak. Als het beeld zwart moet zijn, sluiten de pixels zich om het licht tegen te houden. Helaas lukt dat nooit voor de volle honderd procent; er lekt altijd wat licht langs de randjes. Hierdoor zien donkere scènes er vaak wat flets en grijzig uit. De achtergrondverlichting staat immers vol aan, ook als het beeld donker moet zijn.

Nooit meer te veel betalen? Check Kieskeurig.nl/prijsdalers!

De lampen dimmen waar het donker is

Local dimming pakt dit probleem bij de bron aan. In plaats van één grote lichtbak die altijd aan staat, verdeelt deze techniek de achtergrondverlichting in honderden (en bij duurdere tv's soms duizenden) kleine zones. De televisie analyseert de beelden die je kijkt continu. Ziet de processor dat er linksboven in beeld een donkere schaduw is, terwijl rechtsonder een felle explosie te zien is? Dan worden de lampjes in de zone linksboven gedimd of zelfs helemaal uitgeschakeld, terwijl de lampjes rechtsonder juist fel gaan branden.

Het resultaat is direct zichtbaar. Zwart wordt weer echt zwart, simpelweg omdat er geen licht meer achter dat deel van het scherm brandt. Tegelijkertijd blijven de lichte delen van het scherm helder. Dat zorgt voor een veel groter contrast en geeft het beeld meer diepte. Vooral bij het kijken van HDR-films en -series is dat van belang. Zonder local dimming kan een led-tv eigenlijk geen goed HDR-beeld weergeven, omdat het verschil tussen licht en donker dan te klein blijft.

©ER | ID.nl

Niet alle local dimming is hetzelfde

Het klinkt als een wonderoplossing, maar de uitvoering verschilt enorm per televisie. Het grote toverwoord hierbij is het aantal zones. Hoe meer zones de tv onafhankelijk van elkaar kan aansturen, hoe preciezer het licht kan worden geregeld. Goedkopere televisies gebruiken vaak edge lit local dimming. Hierbij zitten de lampjes alleen in de rand van de tv. Dat werkt redelijk, maar is niet heel nauwkeurig. Je ziet dan soms dat een hele verticale strook van het beeld lichter wordt, terwijl er eigenlijk maar één klein object moest worden verlicht.

De betere variant heet full array local dimming. Hierbij zitten de lampjes over de hele achterkant van het scherm verspreid. De allernieuwste en beste vorm hiervan is miniLED. Daarbij zijn de lampjes zo klein geworden dat er duizenden in een scherm passen, wat de precisie van oled begint te benaderen. Als er te weinig zones zijn, kun je last krijgen van zogenaamde 'blooming'. Dat zie je bijvoorbeeld bij witte ondertiteling op een zwarte achtergrond: er ontstaat dan een soort wazige lichtwolk rondom de letters, omdat de zone groter is dan de tekst zelf.

Welke merken gebruiken local dimming?

Bijna elke grote televisiefabrikant past deze techniek inmiddels toe, maar ze doen dat voornamelijk in hun middenklasse en topmodellen. Samsung is een van de voorlopers, zeker met hun QLED- en Neo QLED-televisies, waarbij ze in de duurdere series gebruikmaken van geavanceerde miniLED-techniek voor zeer precieze dimming. Ook Sony staat bekend om een uitstekende implementatie van full array local dimming, die vaak geprezen wordt om de natuurlijke weergave zonder overdreven effecten. Philips past het eveneens toe in hun (mini)ledmodellen, vaak in combinatie met hun bekende Ambilight-systeem voor een extra contrastrijk effect.

Ga voor de full monty!

Local dimming is dus geen loze marketingkreet, maar een dankbare techniek voor iedereen die graag films of series kijkt op een led- of QLED-televisie. Het maakt het verschil tussen een flets, grijs plaatje en een beeld dat van het scherm spat met diepe zwartwaarden. Ben je in de markt voor een nieuwe tv? Vraag dan niet alleen óf er local dimming op zit, maar vooral of het gaat om full array dimming. Je ogen zullen je dankbaar zijn tijdens de volgende filmavond!

Vijf fijne televisies die full array local dimming ondersteunen