HARDWARE¶
The Bumble Host connects to a controller over an HCI Transport. To use a hardware controller attached to the host on which the host application is running, the transport is typically either HCI over UART or HCI over USB. On Linux, the VHCI Transport can be used to communicate with any controller hardware managed by the operating system. Alternatively, a remote controller (a phyiscal controller attached to a remote host) can be used by connecting one of the networked transports (such as the TCP Client transport, the TCP Server transport or the UDP Transport) to an HCI Bridge bridging the network transport to a physical controller on a remote host.
In theory, any controller that is compliant with the HCI over UART or HCI over USB protocols can be used.
HCI over USB is very common, implemented by a number of commercial Bluetooth dongles.
It is also possible to use an embedded development board, running a specialized application, such as the HCI UART
and HCI USB
demo applications from the Zephyr project, or the blehci
application from mynewt/nimble
Some specific USB dongles and embedded boards that are known to work include:
- Nordic nRF52840 DK board with the Zephyr
HCI UART
application - Nordic nRF52840 DK board with the mynewt
blehci
application - Nordic nrf52840 dongle with the Zephyr
HCI USB
application - BT820 USB Dongle