bluetooth lowenergy - BLE-enhed kommunikation med Windows 10

Indlæg af Hanne Mølgaard Plasc

Problem



Har brug for at oprette forbindelse til Windows 10 via BLE-enhed. Problemet er, at Windows 10 ikke har support til BLE, og jeg skal køre en browserapplikation (chrome/mozilla), som kan forbinde og kommunikere med BLE-enheden. Jeg undersøgte på google bluetooth web API, men det virker i linux godt, men ikke i windows 10. Jeg skal bare tage sensor data fra enhed og vise det i browseren via BLE. Enhver hjælp vil blive værdsat.

Bedste reference


For at starte, har jeg ikke en nem løsning for dig. Jeg troede, jeg ville dele nogle af de stier, du kunne tage, som jeg allerede har udforsket. Måske kan det være til nytte.


Jeg antager, at browserapplikationen er en traditionel webapplikation, der ikke bruger en teknologi som Electron. Hvis du var, kunne et bibliotek som nobelt bruges sammen med IPC til at røre dataene i brugergrænsefladen. [1] [2]


Da du har brug for data til rådighed i forbindelse med din webapplikation, skal du bruge Web Bluetooth API, så vidt jeg ved for en direkte forbindelse. Denne API er stadig meget ung, og hvis det drejer sig om et produktionssted, vil din målgruppe være begrænset til stort set Chrome. Der sker fremskridt dog, og ser ud til, at Windows support kommer sammen. [3] [4]


Alternativ til en direkte forbindelse, du kunne distribuere et desktop-program, der kunne håndtere BLE-kommunikationen. Skrivebordsprogrammet kunne bruge en række midler til at streame dataene ind i webapplikationen (WebRTC kunne være interessant her). Ulempen ved denne tilgang er, at du skal udvikle og teste en desktop applikation. Denne metode er heller ikke let, hvis din enhed bruger brugerdefinerede profiler, da det kan tilføje yderligere kompleksitet, hvis du forsøger at udnytte den native BLE API i de nyeste versioner af Windows 10. Når det er sagt, kan du finde nogle eksempler her. Adgang til den indbyggede Bluetooth-hardware er også ikke altid mulig, og du skal muligvis distribuere en BLE-dongle til fuld dækning. Dette vil tilføje hardware og logistik omkostninger til uanset hvad du gør. [5]


En anden mulighed ville være at mellemmanden med en mobil applikation og streame dataene i browseren. Sandsynligvis lettere end ovenstående (desktop) og ikke nødvendigt at distribuere hardware.


Hvis dette er et hobby/for sjovt projekt, skal du bruge Web Bluetooth. For en produktionsapplikation er jeg ikke klar over en nem løsning. Forhåbentlig kan en anden dele en med os!