GATT Client Functionality

The BlueMod+S42\ADC\LUA does not support full GATT Client functionality but only a subset that allows to Scan for advertisement and scan response data of remote devices.

It does not support GATT service discovery or connection setup.

+LEBUUIDSET                                                                  Set 128 bit Base UUID

AT syntax:                      AT+LEBUUIDSET=ux

This command configures base UUIDs needed by the stack to identify 128 bit UUIDs correct.

128 bit UUIDs are module internally treated as 16 bit UUIDs with a defined base UUID. The Telit defined base UUID for Terminal IO V2 is 0000xxxx000010008000008025000000 with xxxx as the variable 16 bit UUID part.

 

To set a base UUID the 16 bit UUID part could have any legal 16 bit value. It is internally ignored for this command. If the internal base UUID table is full the command reports ERROR, otherwise it reports OK.

 

Param.

Description

ux

With x= 128 bit base UUID

+LEBUUIDLIST                                                                  Show Base UUID List

AT syntax:                      AT+LEBUUIDLIST

This command shows information about the configured 128 bit base UUIDs within the BlueMod+S42\ADC\LUA.

The variable 16 bit UUID part is marked with the character ‘x’.

Example:

AT+LEBUUIDLIST

0000xxxx000010008000008025000000
0000xxxx111100002222008033330000
OK

+LESCAN                                                   Search Bluetooth Low Energy Devices

AT syntax:                      AT+LESCAN

                                      AT+LESCAN=GATT[,<rssix>][,RAW]

                                      AT+LESCAN=<ux>[,<rssix>][,RAW]

                                      AT+LESCAN=<brad>[,<tx>][,<rssix>][,RAW]

With this command an automatic search for all discoverable Bluetooth Low Energy devices will be initiated. The discovery will last for a time defined by command AT+LESCANDURATION.

Param.

Description

rssi

Filter for devices with RSSI value stronger x

brad

Filter for Bluetooth remote device address (12 hex digits)

tx

x is the remote Bluetooth address type see chapter LinkType

If not specified a public address is assumed

ux

With x=UUID of a service (4 or 32 hex digits)

GATT

Show all found devices

RAW

Hexdump of advertising and scan response data without duplicate filtering

Any character input while the BlueMod+S42\ADC\LUA is searching will abort the search procedure.

The resulting list depends on the used command parameters.

As a result, a list will be output containing the Bluetooth addresses of the visible devices in range, the advertisement type, the RSSI, the Bluetooth friendly name, the TX level, manufacturer specific data and all UUIDs contained in the advertising and scan response data, if available, of the remote device. Please note that more AD types could be decoded in future releases.

Bluetooth address, RSSI and TYPE are always provided. All other values like Bluetooth friendly name, TX level, manufacturer specific data and UUID are optional and depends of the advertising data of the discovered device. UUIDs can be 16-bit or 128-bit values.

The output is filtered to show each unique advertising packet only once. If the internal filter table is full, all new advertising packets are shown unfiltered. The output in RAW mode is also unfiltered.

The optional parameter <rssi> (8-bit signed value) can be used to perform a search only for devices with a rssi value higher than the provided value. E.g. AT+LESCAN=rssi-50 will show all devices with a rssi value higher than –50dBm. This means -45dBM devices are shown, -55dBm devices are filtered.

The optional parameter <brad> (12 hex digits) can be used to perform a search for a device with the specified Bluetooth address. The optional parameter <tx> specifies the type of Bluetooth low energy address.

The optional parameter <ux> (16-bit or 128-bit uuid value) can be used to perform a search for devices which advertises a specific service.

To show devices supporting Terminal I/O only, the UUID FEFB shall be used (AT+LESCAN=uFEFB).

If the “RAW” parameter is given, the output will not contain decoded AD type data. Instead it will contain the Bluetooth address of the visible device in range, the RSSI, the advertisement type and the complete advertise or scan response data from the remote device. The data is displayed as an ascii coded byte steam in hexadecimal values.

There will be no duplicate filtering for advertising packets. All received packets (advertise or scan response) will be printed as soon they are received. If UUID filtering is on (AT+LESCAN=ux,RAW), the output will be printed after receiving the complete advertising data. In active scan mode these are the advertising and scan response packets.

Example:

AT+LESCAN

008025497826,t2 RSSI:-62 TYPE:CONN

  NAME:BM+SR 7

  TX:4

  MNF:8F0009B0011000

  UUID:53544D544552494F5345525631303030

  UUID:FEFB


OK

AT+LESCAN=GATT,RAW

0080254800DD,t2 RSSI:-77 TYPE:CONN DATA:02010608FF8F0009B0011000

0080254800DD RSSI:-79 TYPE:SCANRSP DATA:110730303031565245534F495245544D54530302FBFE08086A75657267656E


OK

+LESCANDURATION                                                     Duration for +LESCAN

AT syntax:                      AT+LESCANDURATION=<value>

This command configures how long the BlueMod+S42\ADC\LUA is searching for discoverable Bluetooth Low Energy devices when the command AT+LESCAN is used.

Value

Description

0

Sets duration time to infinite.

1..300

Sets duration time between 1 seconds and 300 seconds (default=10)