2019-07-17 02:46 AM
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.
2019-07-17 09:17 PM
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.
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
2023-11-13 01:42 PM
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