BLE Services

The Bluetooth GATT (Generic Attribute Profile) governs communication between BLE devices via a dedicated connection.

For GATT documentation, see

When two BLE devices interact, one acts as a Peripheral, offering GATT Services, and the other acts as a Central, consuming Services. Services are defined in the GATT as collections of characteristics and relationships to other services.

The BGX device typically acts as the Peripheral (GATT server) and a BLE mobile device such as a phone or pad acts as the Central (GATT client). The BGX device can also act as Central.

A BLE Peripheral can connect to only one Central. A BGX device Central is restricted to connect to only one Peripheral.

General BLE issues are discussed in Introduction to BLE below.

The BGX device offers a Streaming Service - provides remote command mode and data streaming.

Introduction to BLE

This section introduces a few terms necessary for later discussion. These terms have a specific meaning in the BLE context.

BLE devices operate in two broad classifications: Central and Peripheral.

Peripherals offer Services, which consist of Characteristics. Services and Characteristics are distinguished by universally unique identifiers, or UUIDs.

Peripherals advertise, by broadcasting some services and characteristics. This allows them to be discovered by Centrals.

After discovering a Peripheral of interest, a Central requests a connection to the Peripheral. After connecting, the Central can discover the Peripheral's Services, and within those Services the Peripheral's Characteristics. The Central can read the value of Characteristics, subscribe to the value of Characteristics, and in some cases write the value of the Characteristic back to the Peripheral.

To subscribe to a Characteristic, the BLE mechanism is to register for notification when that Characteristic is changed, and provide a callback to be called on each notification. Typically the callback reads the Characteristic value and takes any action required.

Connecting to a Peripheral

The general procedure for using a Central to interact with a Peripheral is as follows:

The implementation of these procedural steps depends on the Central platform.

Xpress Streaming Service

In a BGX device, the following capabilities are available:

Additional commands and variables for managing streaming and the remote command interface are listed below:



Xpress Streaming Service Characteristics

Xpress Streaming Service defines a GATT profile consisting of a Xpress Streaming Service and three Characteristics, Rx, Tx and Mode.

A BGX device advertises the Xpress Streaming Service on start up according to the advertising variables:

A BGX device can be identified by its SERVICE_BGXSS_UUID. To interact with a BGX device as a Peripheral, use the Xpress Streaming Service.

The Rx (receive) and Tx (transmit) Characteristics are named from the point of view of the Peripheral BGX device.

To send a string to be received by the Peripheral serial interface, write to the Rx Characteristic.

To read a string transmitted from the Peripheral serial interface, enable Notifications or Indications from the Tx Characteristic then wait for subsequent Notification or Indication Events to occur.

For a BGX device, the serial interface Service and Characteristics are as follows:

Service or CharacteristicAbbrUUIDValues
CHARACTERISTIC_BGXSS_PERIPHERAL_RX_UUIDRxa9da6040-0823-4995-94ec-9ce41ca28833Data sent to BGX serial interface
CHARACTERISTIC_BGXSS_PERIPHERAL_TX_UUIDTxa73e9a10-628f-4494-a099-12efaf72258fData received from BGX serial interface
CHARACTERISTIC_BGXSS_MODE_UUIDMode75a9f022-af03-4e41-b4bc-9de90a47d50b1 (STREAM_MODE)

The Abbr column in the table defines abbreviations used in this documentation only.

Using Xpress Streaming Service From Another Device

Silicon Labs provides libraries and frameworks for using the BGX Xpress Streaming Service from Android or iOS mobile devices.

For more information, see BGXpress Host Software