cancel
Showing results for 
Search instead for 
Did you mean: 

How can I have iBeacon UUID ?

Random_pseudo99
Associate

Hi,

I use STM32L476RG and X_NUCLEO_IDB05A1 to find Bluetooth beacons and their RSSI.

I try to use aci_gap_start_observation_procedure() and EVT_LE_ADVERTISING_REPORT to extract UUID, major and minor from an emulated iBeacon but there is only the MAC adress in the packet le_advertising_info.

Where do I find these information? Can I have the entire advertising packet to extract the useful information ?

Thank you.

2 REPLIES 2
Winfred LU
ST Employee

Hi Random,

A LE Advertising Report event (EVT_LE_ADVERTISING_REPORT) will contain data that a Bluetooth device have responded to an active scan or received some information during a passive scan.

Which means the UUID information shall have been in the Data field already.

The following screenshot would be a test on GUI for ACI_GAP_START_GENERAL_DISCOVERY_PROC(), with some LE advertising report event containing UUID information.

0690X000009YrARQA0.png

Subevent_Code = 0x02 (HCI_LE_ADVERTISING_REPORT_EVENT)

Event_Type = 0x03 (ADV_NONCONN_IND)

RSSI = 0xB7

Data = [[0x02,0x01,0x06,0x1A,0xFF,0x30,0x00,0x02,0x15,0xE2,0x0A,0x39,0xF4,0x73,0xF5,0x4B,0xC4,0xA1,0x2F,0x17,0xD1,0xAD,0x07,0xA9,0x61,0x00,0x00,0x00,0x00,0xC8]]

The data contains iBeacon data with UUID equal to ST:

// Flags AD data
0x02,    //length: 2
0x01,    //AD type: Flags
0x06,    //LE general discoverable, BR/EDR not supported
 
// manufacturer specific AD data
0x1A,      //length: 26
0xFF,      //AD type: manufacturer
0x30,0x00, //UUID 0x0030 for STMicroelectronics
0x02,      //ID
0x15,      //iBeacon length: 21
0xE2,0x0A,0x39,0xF4,0x73,0xF5,0x4B,0xC4, //proximity UUID
0xA1,0x2F,0x17,0xD1,0xAD,0x07,0xA9,0x61, //proximity UUID
0x00,0x00, //major number
0x00,0x00, //minor number
0xC8       //Tx power: -56 dB at 1M

Best Regards,

Winfred

Hi Winfred,
I noticed in this example the beacon general discoverable flag is set. Do you know if it's possible to use the STM32WB to detect a non-discoverable beacon? If it is possible do you know how to achieve it?
Many thanks