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
It Takes Two- en Split Fiction-maker bezig met opnames voor nieuwe game
Huis

It Takes Two- en Split Fiction-maker bezig met opnames voor nieuwe game

Hazelight Studios, de ontwikkelaar van de succesvolle coöperatieve games It Takes Two en Split Fiction, heeft een nieuwe game in ontwikkeling en is op dit moment bezig met de opnames ervoor.

Enige tijd geleden gaf regisseur Josef Fares al aan dat er een nieuwe game in ontwikkeling was bij de studio, maar nu heeft hij op social media een foto geplaatst waarop Fares te zien is met drie acteurs in motion capturing-pakken. Daarmee wordt dus duidelijk gemaakt dat de opnames voor de game in ieder geval al in volle gang zijn.

Overigens is de identiteit van de acteurs niet bekend. Fares houdt zijn arm voor de gezichten van de acteurs. Mogelijk zijn het dus bekende acteurs en wil hij dat nog verhullen, al is dat speculatie. Over speculatie gesproken: het feit dat er drie acteurs te zien zijn, doet sommige fans vermoeden dat de nieuwe game van Hazelight mogelijk met drie spelers tegelijk te spelen valt in plaats van twee, maar ook dat is nog alles behalve bevestigd.

View post on X

Over de games van Hazelight Studios

Hazelight Studios is gespecialiseerd in het creëren van games die coöperatief doorlopen moeten worden. No Way Out, It Takes Two en Split Fiction vergen allen twee spelers. Daarbij draait het om samenwerken, wat hun games een populaire bezigheid maakt voor gamende koppels en vrienden.

It Takes Two bleek een grote hit voor de studio. In het spel spreekt een dochter van een ruziënd stel een vloek over het tweetal uit, waardoor ze minuscuul worden. Ze zullen moeten leren communiceren en samenwerken om zich uit deze hachelijke situatie te redden, terwijl ze als kleine poppen door een uitvergrote versie van hun huis en tuin reizen.

Na het succes van It Takes Two bracht Hazelight het conceptueel vergelijkbare Split Fiction uit. Die game draait om twee schrijvers, Mio en Zoe, die worden ingehuurd om verhalen te creëren voor een technologie die deze verhalen levensecht kan simuleren. De vrouwen worden door het bedrijf achter de technologie echter gevangen in een simulatie, en in de game wordt er constant tussen de twee verhalen van Mio en Zoe geschakeld. Dat levert zowel fantasievolle als futuristische settings op.

Zowel It Takes Two als Split Fiction komen met een Friend Pass. Dat houdt in dat maar één speler de game hoeft te kopen, en de tweede speler gratis online mee kan spelen. De games zijn ook via splitscreen samen op de bank speelbaar.

Watch on YouTube
▼ Volgende artikel
Apple is nu de volledige eigenaar van hitserie Severance
Huis

Apple is nu de volledige eigenaar van hitserie Severance

Apple heeft de volledige rechten op de Apple TV-serie Severance overgenomen, en gaat de serie voortaan binnenshuis produceren.

De eerste twee seizoenen van Severance staan al op Apple TV, maar de serie werd geproduceerd door Fifth Season. Apple Studios was alleen de distributeur. Daar is nu verandering gekomen: Apple heeft iets minder dan 70 miljoen dollar betaald voor de volledige rechten op de serie.

Dat betekent dat het bedrijf de productie van de serie voortaan ook zelf gaat doen, al zal Fifth Season wel als executive producer aangesteld blijven. Ook showrunner Dan Erickson en uitvoerden producent Ben Stiller (die we natuurlijk ook kunnen van vele comedyfilms) blijven hun rollen bekleden, dus aan de kwaliteit van de serie verandert als het goed is niets.

Watch on YouTube

Financiële stabiliteit

Volgens Deadline zou de overname mogelijk gedaan zijn om de productie van de show financieel stabiel te houden. In het tweede seizoen waren de productiekosten naar het schijnt zo'n 20 miljoen dollar per aflevering, en Apple kan door zijn formaat dit beter dragen.

Het plan is dat Severance in totaal vier seizoenen krijgt - al worden een vijfde seizoen en een spin-off ook niet uitgesloten. De opnames van het langverwachte derde seizoen moet aankomende zomer starten. De makers van de serie willen eerst de scripts zover mogelijk afkrijgen, zodat ze bij schrijfwerk van de laatste afleveringen van het seizoen nog relatief goedkoop terug kunnen gaan naar scripts van eerdere afleveringen om wijzigingen aan te brengen waar nodig.

Watch on YouTube

Over Severance

De Apple TV-serie Severance draait om Mark S., die een opmerkelijke kantoorbaan bij het bedrijf Lumon Industries heeft: zodra hij op kantoor komt, weet hij niets van zijn leven buiten kantoor. Wanneer hij klaar is en weer naar huis gaat, weet hij niets van zijn werk. Dat komt door een speciale procedure waardoor de herinneringen van de werkplek in het privéleven gescheiden worden.

Dit concept is de voedingsbodem voor een ingewikkelde en verrassende serie waarin Mark samen met zijn collega's langzaam maar zeker probeert te achterhalen hoe de vork precies in de steel steekt bij Lumon. Zoals gezegd zijn er inmiddels twee seizoenen uitgekomen, die beiden op streamingdienst Apple TV te zien zijn.