BLE Configure View#
Advertiser#
The advertiser allows you to use the mobile phone as a BLE peripheral by creating and customizing advertisement sets, both in terms of their configurations as well as a payload. Advertiser additionally supports:
Legacy and extended advertising
Configurable advertisement interval, TX Power, primary/secondary PHYs
Manual advertisement start/stop and stop based on a time/event limit
Multiple AD types
This functionality comes in handy when you have a single Silicon Labs kit for a Bluetooth product, but you still want to test/evaluate/develop applications that leverage the Silicon Labs Bluetooth stack functionalities as a central device.
Create a New Advertisement Set#
When entering the Advertiser for the first time, the app shows an empty list of advertisement sets because none have been created yet.
Tapping the Change device name icon in the top right corner brings up a dialog to change the device name. It is a global setting and cannot be set individually for each advertisement set.
The other icon in the top right corner can be used to switch all advertisers off.
The Create new control adds a new advertisement set that contains AD Type flags in its payload. The advertisement set is represented by a card, similar to the device representation in the Scanner view.
The image above shows the main elements of the advertiser card, which are as follows:
Name of the advertisement set: User-defined name of the advertiser set. This is not the advertised device name.
Enable/disable button: Enable/disable advertisement set.
TX Power: Signal power in dBm.
Advertisement interval: In milliseconds.
Beacon type: Configured known beacon type (iBeacon, Eddystone, Altbeacon) or Unspecified.
Advertisement type: Connectable or non-connectable.
Edit: Edit view of the specific advertisement set.
Copy: Clone the advertisement set and place at the end of the list.
Delete: Delete the specific advertisement set.
Expand/Collapse: Change the advertisement set to show more/fewer details.
Edit Advertisement Set#
When you enter the edit view for a specific advertisement set, a list of customization options is displayed. Those options are divided into three areas:
Advertising Type. Note: This section is not available on iOS due to system limitations.
Advertising Data and Scan Response Data
Advertising Parameters
The first text box at the top displays the user-defined name of the advertiser set. This is followed by the advertisement type, which can be selected between Legacy Advertising and Extended Advertising (introduced in Bluetooth 5.0 specification). Support for Extended Advertising depends on the underlying mobile phone and OS stack. If not supported, a note is displayed and the Extended Advertising option is grayed out.
The following Legacy Advertising types are supported:
Connectable, scannable
Non-connectable, scannable
Non-connectable, non-scannable
Extended Advertising supports the following types:
Connectable, non-scannable
Non-connectable, scannable
Non-connectable, non-scannable
TX power can be optionally included as part of extended advertising and, if the type is non-connectable, non-scannable, it can optionally be set as anonymous advertising. Depending on the selected advertisement type, the Advertising Data and Scan Response data will be available for editing. For example, a connectable, non-scannable type does not have a scan response so the Add Data Type control for Scan Response Data is grayed out. Data is added by tapping Add Data Type and selecting which data type to add.
The following advertising data types are currently supported:
0x09: Complete Local Name. Note: On iOS, this option is available only in Scan Response Data due to system limitation.
0x03: Complete List of 16-bit Service Class UUIDs. Note: On iOS, this option is available only in Advertising Data due to system limitation.
0x07: Complete List of 128-bit Service Class UUIDs. Note: On iOS, this option is available only in Advertising Data due to system limitation.
0x0A: TX Power Level. Note: This option is not available on iOS due to system limitations.
0xFF: Manufacturer Specific Data. Note: This option is not available on iOS due to system limitations.
If types 0x03 or 0x07 are chosen, each service has to be added individually by tapping Add 16-bit service or Add 128-bit service controls.
Services are added via a dialog box where you can input the service UUID or name. For 16-bit services (so called adopted services), an auto-complete functionality suggests services as they are being typed into the text box. Below the box, a link Bluetooth GATT Services takes you to the Bluetooth SIG Web page that lists all adopted services.
Multiple services can be added under the 0x03 and 0x07 AD Types and can be individually deleted by tapping the trash bin icon. If the trash bin icon for the AD type is tapped, all services are removed together with the AD Type. Advertising parameters are below the advertising data and scan response data options. These allow you to select the advertising PHYs, advertising interval, and TX Power. Note: These options are not available on iOS due to system limitation. Finally, an Advertising Time Limit can be selected for the advertising set, which automatically disables the advertising after a time period or a number of advertisement events.
The advertising PHYs options for the primary and secondary channel depend on support from the underlying smartphone and OS. They are only available if extended advertising is supported. The alternative PHYs are available in the respective drop-down menus.
GATT Configurator#
The GATT Configurator is a powerful feature that allows you to create and modify the local GATT database on the mobile device where Simplicity Connect has been installed. Furthermore, it allows you to import and export the GATT database definition between GATT Configurator on Simplicity Connect and GATT Configurator in Simplicity Studio 5. This feature comes in handy when you are developing a Bluetooth device with GATT client feature, as you can quickly emulate the GATT server side with Simplicity Connect without having to write a single line of code.
Create a New GATT Server#
When entering the GATT Configurator for the first time, the app shows an empty list of GATT servers and an option to create a new one. This creates a new empty GATT database, which is represented by a card with the following elements:
GATT database name: User-defined name of the GATT server.
Enable/disable switch: Enable/disable database (Note: Only one GATT database can be enabled at any given time. Enabling a new database automatically disables the existing one).
Number of services: Number of services within the database.
Edit: Edit view of a specific database.
Copy: Clone the database and place at the end of the list.
Delete: Delete the specific database.
Expand/Collapse: Show more details about the database.
Import / Export#
The buttons in the upper right corner serve as an import/export functionality.
Import allows bringing in a GATT database file from Simplicity Studio GATT Configurator, starting from GSDK 3.0 and newer. The file can be stored either on local or cloud storage. Before importing the file from Simplicity Studio, the extension must be changed from btconf
to xml
.
Export allows converting one (or more) of the existing GATT databases into an xml file, which can be directly imported into the GATT Configurator in Simplicity Studio.
The xml filename is taken from the GATT database name. If more than one database is selected, they will be exported as individual xml files, and if there are duplicate GATT database names then the filename will be appended with a number.
Add Service#
Tapping the edit control on the GATT database takes you to the edit view where you can add services, characteristics and descriptors. A newly-created database will show an empty list of services and an option to start adding a service. This opens a dialog where both standard as well as custom services can be added.
When typing a name, the auto-complete feature will match it against Bluetooth SIG standard service names. When a standard service is selected, there is an option to add all mandatory service requirements (mandatory characteristics and descriptors within that service). When adding a custom service, it is necessary to write both the service name and 128-bit UUID. The UUID is automatically formatted and capped to the right size as it gets typed-in. Once the service is added, it will be listed in the GATT server view. Tapping More Info expands the service to reveal its characteristics and descriptors.
At the service level, a service can be copied and deleted using the available controls. Editing a service is not possible. For characteristic and descriptor, copy, edit, and delete controls are all available. The allowed operations on each characteristic and descriptor (read, write, write without response, notify, indicate) are represented by the same icons as those used in the Device View.
Add Characteristic#
An Add Characteristic control is available at the bottom of each service. Similarly, an Add Descriptor control is available at the bottom of each characteristic.
Tapping Add Characteristic opens a dialog where the characteristics parameters can be configured. Similarly to how services are added, there is an auto-complete feature for Bluetooth SIG standard characteristics, but also custom characteristics can be added with their unique 128-bit UUIDs.
Following the characteristic name and UUID are the properties and access parameters. Available access parameters may vary between Android and iOS platforms. The last option in the list can be used to set the initial value of the characteristic. The field can be left blank as well.
Add Descriptor#
Adding a descriptor is similar to adding characteristic but with fewer properties available.