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
Gerucht: iPhone 17e gaat evenveel kosten als voorganger
© Jeroen Boer - ID.nl
Huis

Gerucht: iPhone 17e gaat evenveel kosten als voorganger

De mogelijk binnenkort te verschijnen iPhone 17e zou evenveel gaan kosten als de iPhone 16e, namelijk 599 dollar - omgerekend mogelijk wederom 719 euro.

Dat claimt journalist en Apple-expert Mark Gurman op Bloomberg. De iPhone e-modellen zijn betaalbaardere versies van de iPhone. Dat blijkt wel uit de prijs van de begin vorig jaar uitgekomen iPhone 16e, die op release 719 euro (en 699 dollar in de VS) kostte.

Gurman claimt dat de prijs van opvolger iPhone 17e in ieder geval in de VS gelijk blijft, oftewel nog steeds 699 dollar. Dat zou dus kunnen betekenen dat hij ook weer 719 euro in Europa gaat kosten.

Verbeteringen

De prijs blijft waarschijnlijk dan wel gelijk, maar de 17e zou toch enkele verbeteringen ten opzichte van de 16e kennen. Zo zou er een A19-chip in de iPhone 17e zitten, een chip die ook in de duurdere, reguliere iPhone-modellen voorkomt.

Verder zou de 17e ook Apple's 5G-chip bevatten, net zoals de duurdere iPhones. Tot slot zou ook MagSafe ondersteund worden voor Apple’s magnetische accessoires. Dit was bij de iPhone 16e niet het geval.

Volgens Gurman wordt de iPhone 17e op 19 februari onthuld en ergens binnenkort uitgebracht. De 16e kwam op 28 februari 2025 uit, dus het is waarschijnlijk dat de opvolger ook ergens later deze maand of begin volgende maand uitkomt. De reguliere iPhone-modellen worden altijd pas in september aangekondigd en uitgebracht.

Overigens claimt Gurman ook dat Apple binnenkort nieuwe iPads uitbrengt - een iPad Air met een M4-chip en een instapmodel met een A18-chip - en nieuwe Macbook Airs en Pro's. Die zouden mogelijk ergens in maart uitkomen.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Veilig gevoel: nieuwe Aankomstmeldingen van Snapchat sturen een seintje als je veilig bent aangekomen
© guteksk7 - stock.adobe.com
Huis

Veilig gevoel: nieuwe Aankomstmeldingen van Snapchat sturen een seintje als je veilig bent aangekomen

Het is vandaag Safer Internet Day en Snapchat grijpt dat moment aan om de veiligheidsopties in Snap Kaart uit te breiden. Met Aankomstmeldingen kun je automatisch een vriend laten weten dat je veilig ergens bent aangekomen, zonder dat je zelf nog een bericht hoeft te sturen. De functie bouwt voort op 'Veilig thuis', dat eerder vooral was bedoeld als seintje bij thuiskomst.

Zo werkte 'Veilig thuis' tot nu toe

Je kon in een chat of via het profiel van een vriend in Snap Kaart onder 'Aankomstmeldingen' de optie 'Mijn huis' inschakelen. Zodra je thuiskwam, kreeg die vriend een pushmelding en een melding in Chat. Je kon daarbij kiezen of de melding 'Eenmalig' was (die instelling verloopt na 24 uur) of 'Elke keer'.

©Snapchat

Dit verandert er met Aankomstmeldingen

Je kunt dezelfde meldingen nu ook instellen voor andere plekken dan thuis, zoals de sportschool, school of een hotel. In de Nederlandse Snapchat-app voeg je onder 'Aankomstmeldingen' een locatie toe via het profiel van een vriend of direct vanuit een chat. Je beweegt de kaart, kiest 'Locatie instellen' en zet de schakelaar daarna aan. Ook hier kun je kiezen tussen 'Eenmalig' en 'Elke keer'. Snapchat laat je desgewenst een naam en emoji aan een plek geven. Je kunt maximaal tien plekken opslaan; die lijst is voor al je vrienden hetzelfde, terwijl jij per vriend bepaalt wie meldingen krijgt. Ben je veilig op de plek van bestemming, dan krijgen je vrienden automatisch een pushmelding en een melding in Chat.

Voor Aankomstmeldingen geldt volgens Snapchat wel een belangrijke voorwaarde: je locatie-instellingen op je telefoon moeten op "Altijd" staan. Dat betekent dat je op de kaart zichtbaar kunt zijn voor vrienden die jouw locatie mogen zien, tenzij je Onzichtbare modus gebruikt.