1. STM32WBA Long Range
Long range or LE coded feature is a way to extend BLE range up to 1,6 km or more.
Advertising extension feature is the way to activate advertising Primary (and secondary) PHY with new parameters values in HCI and ACI commands.
Based on BLE_p2pClient_Ext and BLE_p2pServer_Ext applications, two new applications have been developed to demonstrate the feature and to provide range measurements: BLE_App_Long_Range_Central and BLE_App_Long_Range_Peripheral.
Applications functionalities are derived from BLE_p2pClient and BLE_p2pServer applications:
Refer to the following page for Peer to Peer project explanation.
1.1. Principles
Modified or new GAP commands have been implemented to enable this feature.
- To set advertising parameters:
aci_gap_adv_set_configuration: Adv_Mode parameter: 0x02: use LE coded as primary advertising PHY.
- Scan procedure:
aci_gap_ext_start_scan: scanning_PHY parameter: 0x04: use of LE coded as scan PHY.
- Connection:
aci_gap_ext_create_connection: initiating PHYs parameter: 0x04: use of LE coded as scan connectable PHY.
1.2. Advertising data
At startup, Peer To Peer Server application starts Advertising.
Data advertised are composed as follows:
P2P Server Long Range Advertising packet | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Manufacturer data are encoded following STMicroelectronics BlueST SDK v2 as described below:
STMicroelectronics Manufacturer Advertising data | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
1.3. STM32WBA Long Range Central application
It acts as a Central device with the support of GATT Client Layer.
At startup, by pressing B1 button, Long Range Client application:
- Starts scanning to detect Long Range Server application by filtering the Firmware ID of the STMicroelectronics Manufacturer advertising data
- Stops Scanning once Long Range server detected
- Connects to the Long Range Server to establish the connection.
- Discovers GATT Service & Characteristics of the Long Range server
- Enable all GATT server notification characteristics
Once connected, the Long Range Client application:
- By pressing B1 button, write a message to toggle the Blue LED of the Long Range Server
- Receive notification to toggle the on board Blue LED from remote Long Range Server Application.
Example of flow diagram between STM32WBA Long Range Server & Long Range Client |
---|
1.4. On-board buttons configuration
Button configuration for Bluetooth® Low Energy Long Range application on Nucleo-WBA52CG boards | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2. Requirements
2.1. Software and system requirements
The following list contains the required software as well as the required minimum IDE version:
- IAR Embedded Workbench for ARM (EWARM) toolchain V9.20.1, plus a patch available in WBA Firmware Package: STM32Cube_FW_WBA_Vx.x.x/Utilities/PC_Software/EWARMv8_STM32WBAx_V1.2.zip
The following programmer software is required to flash the board with an already generated binary:
- STM32CubeProgrammer[1]
2.2. Hardware requirements
NUCLEO-WBA52CG [2] is necessary to install the application.
Hardware platform illustration |
---|
|
2.3. Collector applications compatibility
The BLE_App_Long_Range_Peripheral project is compatible with the following collector: