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