u/BrydenMcLeodVan

Personal project that turned into a bit of a rabbit hole. Got diagnosed with pre-diabetes a few months back and I want to own my own glucose data rather than have it locked in a proprietary app. I have an Accu-Chek Guide glucometer. GATT profile is standard Bluetooth SIG glucose profile. Service 0x1808, measurement characteristic 0x2A18, RACP at 0x2A52. In nRF Connect I can connect fine and see the full service tree. The issue is when I try to connect via Web Bluetooth in Chrome the authenticated BLE pairing fails silently. Meter shows a 6 digit PIN and says enter code on device but Chrome never asks for the PIN. Just drops the connection. I have also tried the USB path but the meter uses a proprietary protocol on macOS and does not enumerate as a HID device without the Roche Windows driver. Currently looking at wrapping the app in Capacitor to get native Bluetooth access which should handle the authenticated pairing correctly. But before I go down that road has anyone found a way to complete authenticated BLE pairing with a medical device through the browser? Any non Windows options for the USB protocol? Open to creative approaches here.

reddit.com
u/BrydenMcLeodVan — 21 days ago
▲ 1 r/webdev

Kind of a weird one but relevant to anyone who has tried Web Bluetooth with actual hardware. I got diagnosed with pre-diabetes and I am building a personal glucose tracking dashboard. Nothing fancy, just a React PWA that connects to my Accu-Chek Guide glucometer via BLE and pulls the readings into a logic engine I built. The GATT profile is all standard stuff, 0x1808 service and 0x2A18 measurement characteristic. I can see the device in the Chrome BLE picker just fine. The problem is the meter requires authenticated pairing with a PIN. The meter shows the PIN on screen but Chrome never surfaces a dialog to enter it. It just hits CONNECTION ATTEMPT FAILED every time. I have enabled both #enable-web-bluetooth-new-permissions-backend and #enable-experimental-web-platform-features in Chrome flags and same result. Is this a known limitation with Web Bluetooth and authenticated pairing? Has anyone gotten past this with a medical device or any device that requires PIN entry?

reddit.com
u/BrydenMcLeodVan — 21 days ago

So I have a bit of a personal motivation for this one. Got hit with a pre-diabetes diagnosis recently and decided to actually understand my glucose data instead of just glancing at the meter. I have an Accu-Chek Guide which uses standard Bluetooth SIG glucose profile. In nRF Connect I can see the full GATT tree. 0x1808 glucose service, 0x2A18 measurement characteristic with Notify capability, 0x2A52 RACP. Everything looks clean. When I attempt to connect via Web Bluetooth in Chrome the pairing sequence starts, the meter displays a 6 digit PIN and says enter code on device, but Chrome never asks me to input the PIN. It just times out with a connection error. I have tried writing to the RACP characteristic to trigger a report all records command but I never get past the pairing stage. Is authenticated PIN pairing just not supported in the Web Bluetooth spec or is there a workaround people have found?

reddit.com
u/BrydenMcLeodVan — 21 days ago

Okay so I got diagnosed with pre-diabetes a few months ago and instead of just staring at numbers on a glucometer screen I decided to build something. I have an Accu-Chek Guide and I want to pull the glucose readings off it via BLE into a web dashboard I built. I can see the GATT profile fine in nRF Connect. Service 0x1808, characteristic 0x2A18 with Notify, RACP at 0x2A52. All standard Bluetooth SIG glucose profile stuff. The problem is when I try to connect via Web Bluetooth in Chrome the authenticated pairing fails. The meter shows a 6 digit PIN on screen but Chrome never surfaces a PIN entry dialog. It just throws CONNECTION ATTEMPT FAILED. I tried enabling the experimental permissions backend flag and the experimental web platform features flag in chrome://flags and still nothing. Has anyone dealt with authenticated BLE pairing on a medical device through Web Bluetooth? Is this just a fundamental limitation of the API or am I missing something in the connection sequence?

reddit.com
u/BrydenMcLeodVan — 21 days ago