BLE_DataThroughput_Server Application Description

How to demonstrate Point-to-Point communication using BLE component (as GATT server or GATT client).

The Nucleo board flashed with BLE_DataThroughput_Server application acts as GATT Server and the Client could be located on a nucleo board flashed with BLE_DataThroughput_Client or in a phone, using the ST BLE Toolbox application.

Data transfer via notification from server to client or/and write from client to server. Use of a timer that enables to calculate the throughput at application level.

Keywords

Connectivity, BLE, BLE protocol, BLE pairing, BLE profile

Directory contents

Hardware and Software environment

How to use it?

In order to make the program work, you must do the following:

1. Use of two nucleo boards

Two STM32WBA nucleo boards are used, one central/client (flashed with BLE_DataThroughput_Client) and one peripheral/server (flashed with BLE_DataThroughput_Server).

The GATT server board support a Data transfer service with a transmission characteristic that supports notification.

The GATT client board support a Data transfer by writing without response to the GATT server board Reception characteristic.

The board flashed with BLE_DataThroughput_Server is defined as GAP peripheral.

Open a VT100 terminal on Central and Peripheral side (ST Link Com Port, @115200 bauds).

At reset application initialization is done.

On server side when connected:

On server side when idle:

On client side when connected:

On client side when idle:

On client terminal receiving the current notification, the number of bytes per second is displayed.

On server terminal receiving the current write without response, the number of bytes per second is displayed.

In app_conf.h :

2. Use of one nucleo board and a smartphone

Install the ST BLE Toolbox application on the android device:

One STM32WBA55 Nucleo board is used as GATT Server and GAP peripheral (flashed with BLE_DataThroughput_Server).

This board can be connected with a smartphone supporting ST BLE Toolbox application.

Start a scan and choose DT_XX (XX LSB byte of BD address) board to connect.

Same use of buttons on server side.