The Web Bluetooth Proxy (webbluetooth-proxy
) is a web application that forwards GATT operations between BLE peripherals and MQTT. The Web Bluetooth Proxy is available on duranda.github.io/webbluetooth-proxy.
This project runs on browsers compatible with the Web Bluetooth API.
- In Chrome OS, Android, & Mac, the GATT Communication API is shipped without any flag.
- Windows requires Chrome 70 (available in Canary). The chrome://flags/#enable-experimental-web-platform-features flag must be enabled.
- Linux requires Kernel 3.19+ and BlueZ 5.41+ installed. The chrome://flags/#enable-experimental-web-platform-features flag must be enabled.
The proxy is able to connect to WebSocket (ws://
) or WebSocket Secure (wss://
) compatible MQTT brokers.
This project uses MQTT.js.
GATT messages are forwarded from/to the MQTT broker using the following scheme:
type | topic |
---|---|
read | {device_uri}/{service_uuid}/{characteristic_uuid}/read |
write | {device_uri}/{service_uuid}/{characteristic_uuid}/write |
notify | {device_uri}/{service_uuid}/{characteristic_uuid} |
connection | {device_uri}/connected |