Data Telemetry from BLE Devices
Telemetry Message Format
The telemetry messages are in the protobuf format. All the telemetry messages are encapsulated in the DataBatch message.
The latest protobuf is available here.
The DataBatch message includes the following fields:
| Field Name | Type | Description |
|---|---|---|
| messages | DataSubscription | Contains the subscription message that is BLESubscription, BLEAdvertisement, and so forth |
Note: Data batching improves performance.
The DataSubscription message includes the following fields:
| Field Name | Type | Description (Possible Value) |
|---|---|---|
| device_id | string | Device identifier (1a6b122b-4835-42c0-b7a9-7079ce4cf1d6) |
| data | bytes | Contains the payload data from the BLE device |
| subscription | BLESubscription (or) BLEAdvertisement (or) RawPayload (or) BLEConnectionStatus |
The BLESubscription message includes the following fields:
| Field Name | Type | Description (Possible Value) |
|---|---|---|
| service_uuid | string | Refers to a GATT service on a BLE peripheral that groups related characteristics together. Each Service is identified by a UUID. Contains the Service ID (1800) |
| characteristic_uuid | string | Refers to a GATT characteristic in a service. Each characteristic is also identified by a UUID. Contains the Characteristic ID (2A5E) |
Note: In Bluetooth Low Energy (BLE), the Service ID and Characteristic ID are identifiers used to interact with the Generic Attribute Profile (GATT) server running on a BLE device.
The BLEAdvertisement message contains the advertisement message and includes these fields:
| Field Name | Type | Description |
|---|---|---|
| mac_address | string | Mac address of the BLE Device (AA:BB:88:77:22:11) |
| rssi | 32-bit integer | RSSI of the BLE device (-21) |
The BLEConnectionStatus message contains the connection status (connection or disconnection) and includes these fields:
| Field Name | Type | Description |
|---|---|---|
| mac_address | string | Mac address of the BLE Device (AA:BB:88:11:22:11) |
| connected | boolean | connection status (true/false) |
| reason | string | contains the reason of the connection (1) |
The RawPayload message includes the following fields:
| Field Name | Type |
|---|---|
| context_id | string |
The ApplicationEvent message contains the message in case of application restart or stop and includes these fields:
| Field Name | Type |
|---|---|
| message | string |