Hi Folks. I'm struggling with an issue using an ESP32 to read BLE advertising data.
Some info first:
-
BLE "beacon" is not configured as an iBeacon, it is: https://www.minew.com/bluetooth-beacons/e9-dearbecon.html
-
I have no need or intention to connect to the beacon, I simply do a scan
-
The data I need is in the advertising packet itself
So, I figured this would be simple with the built in BLE_Scan example. Not so... See below for the output of that application:
Scanning...
Advertised Device: Name: , Address: 4c:0c:76:c6:95:05, manufacturer data: 06000109210a5246e3fd707446544c4150343637
Advertised Device: Name: , Address: 02:af:99:cb:b2:4d, manufacturer data: 0600010920026fb82acaff8d657cfbd8c6dbdf1ff8a286886105fa9ce0
Advertised Device: Name: , Address: 8c:85:90:24:e0:39, manufacturer data: 4c0010054b1cfaab33
Advertised Device: Name: , Address: ac:23:3f:a2:54:0e, serviceUUID: 0000ffe1-0000-1000-8000-00805f9b34fb
Advertised Device: Name: , Address: 1b:26:1f:8c:b0:11, manufacturer data: 060001092002724e4c39022d43569a63fdc0139a5dd03d812a0242252a
Advertised Device: Name: , Address: 40:12:8d:e2:cc:dd, manufacturer data: 4c000c0e007f7d3911224eeda34644daf1a3
Advertised Device: Name: , Address: 52:13:00:10:1f:a2, manufacturer data: 4c0010051e1ccc78c4
Advertised Device: Name: , Address: 57:c7:b0:40:ba:a0, manufacturer data: 4c0010020304, txPower: 12
Advertised Device: Name: , Address: 00:9f:3c:d8:7e:a6, manufacturer data: 0600010920025a497569a97e9f529427794cf2ed420f768d418779a5ca
Devices found: 9
Scan done!
The device with the MAC address ac:23:3f:a2:54:0e is what I'm after, but I don't see the data that I want in the advertising response.
For example, I use btmon on a linux machine to capture BLE adverts and here's the formatted output from btmon:
> HCI Event: LE Meta Event (0x3e) plen 34 #6 [hci0] 8.391946
LE Advertising Report (0x02)
Num reports: 1
Event type: Connectable undirected - ADV_IND (0x00)
Address type: Public (0x00)
Address: AC:23:3F:A2:54:0E (Shenzhen Minew Technologies Co., Ltd.)
Data length: 22
Flags: 0x06
LE General Discoverable Mode
BR/EDR Not Supported
16-bit Service UUIDs (complete): 1 entry
Unknown (0xffe1)
Service Data (UUID 0xffe1): a1136418540e54a23f23ac
RSSI: -72 dBm (0xb8)
See that text "a1136418540e54a23f23ac"? That's what I want to receive on my ESP32 as there is data encoded in there.
Does anyone have any pointers?