@ndn/web-bluetooth-transport
v0.0.20240630
Published
NDNts: Web Bluetooth Transport
Downloads
12
Readme
@ndn/web-bluetooth-transport
This package is part of NDNts, Named Data Networking libraries for the modern web.
This package implements a Bluetooth Low Energy (BLE) client transport using Web Bluetooth API.
As of 2022-07-04, Web Bluetooth API is only available in Chrome-based browsers.
The protocol is compatible with esp8266ndn BleServerTransport
class, summarized in the next section.
Tested combinations:
- Chrome 103 on Windows 10, nRF52832: works.
- Chrome 103 on Windows 10, ESP32 with NimBLE stack: works.
- Chrome 103 on Android 11, nRF52832: works.
- Chrome 103 on Android 11, ESP32 with NimBLE stack: works.
NDN-BLE protocol
This protocol defines how to exchange NDN packets over Bluetooth Low Energy (BLE), between a BLE server (aka peripheral) and a BLE client (aka central).
The server and client should negotiate the maximum possible MTU. This protocol does not define a fragmentation scheme, although it can be used with existing NDN fragmentation schemes such as NDNLPv2.
The server must provide a primary service, NDN-BLE service.
Its UUID is 099577e3-0788-412a-8824-395084d97391
.
This service shall contain two characteristics: CS and SC.
CS characteristic is for client-to-server transmission.
Its UUID is cc5abb89-a541-46d8-a351-2f95a6a81f49
.
To transmit a packet from client to server, the client shall write a value to this characteristic.
SC characteristic is for server-to-client transmission.
Its UUID is 972f9527-0d83-4261-b95d-b1b2fc73bde4
.
The client should enable notifications on this characteristic.
To transmit a packet from server to client, the server shall write a value to this characteristic, then post a notification.