Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question with host side setup #2

Open
kbrafford opened this issue Sep 20, 2019 · 3 comments
Open

Question with host side setup #2

kbrafford opened this issue Sep 20, 2019 · 3 comments

Comments

@kbrafford
Copy link

I have a windows 7 machine running chrome, with the bluetooth api flag enabled, and a bluegiga 112 dongle installed. It shows up as a port (COM20) instead of in the Bluetooth section in the device manager. And when I try to connect in the web-cli page it tells me "Bluetooth Low Energy not available"

Is there something special I should do to get it to work with my Bluegiga dongle? Or do I need to find another bluetooth solution for my host?

@kbrafford
Copy link
Author

It does work on my Windows 10 laptop with no dongle. But I would like to get the Windows 7 machine working as well. Do you know if there is a firmware load for the Nordic nRF52840 dongle (or your MDK dongle) that lets the dongle supply the BLE for Chrome to use?

@caizelin
Copy link
Member

It does work on my Windows 10 laptop with no dongle. But I would like to get the Windows 7 machine working as well. Do you know if there is a firmware load for the Nordic nRF52840 dongle (or your MDK dongle) that lets the dongle supply the BLE for Chrome to use?

@kbrafford The firmware for MDK dongle is here: https://github.com/makerdiary/web-device-cli/tree/master/firmware/nrf52840-mdk-usb-dongle

@kbrafford
Copy link
Author

This confuses me. I'll explain how my mind thinks this is supposed to work, and hopefully you can correct me where I am not getting it.

The MDK dongle firmware implements the CLI-over-NUS (Nordic UART BLE Service), right? That makes me think that it's playing the role of the target under test, right?

My understanding of how the web cli system works is there are two bluetooth elements involved. No. 1 is the interface that the browser is using to get a central role GATT stack. With GATT access and a ble radio it can find advertising peripherals to connect with. Using JS code and the WebBluetooth interface it uses that bluetooth radio to let you connect with peripherals.

Bluetooth element No. 2 is a BLE peripheral implementing Nordic's UART service hooked up to serve as a logging and output backend to their CLI library. This is largely demoed in the Nordic examples/experimental/ble_app_cli demo in their SDK (if you're using 15.3.0).

Using the javascript access to the GATT services provided by No. 1, the RX and TX characteristics are read/written to implement a virtual full duplex stream connection, in which keypresses entered into the web page are written to the RX characteristic and bytes received from the TX characteristic are rendered onto the web page to look like a terminal window (like putty).

With that in mind, I don't quite get how a dongle that implements the CLI/NUS firmware also functions as the No. 1 bluetooth role in this setup.

Here's a visual of how I assumed it was supposed to work:

https://imgur.com/a/BmDPf0S

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants