Get BLE UUID for iOS pairing

SombraRPK
Posts: 18
Joined: Wed Jul 04, 2018 2:37 am

Get BLE UUID for iOS pairing

Postby SombraRPK » Thu Feb 28, 2019 3:04 am

Hi! I'm developing an iOS app and i'm trying to establish BLE connection with the esp32 board but i need a UUID. My main idea is create a random UUID, display it on a QR code, read with the app and go directly to pair with my board. Any idea is really welcomed.

Thanks in advance!

Franco
Posts: 101
Joined: Thu Dec 10, 2015 1:11 pm

Re: Get BLE UUID for iOS pairing

Postby Franco » Fri Mar 01, 2019 1:39 pm


SombraRPK
Posts: 18
Joined: Wed Jul 04, 2018 2:37 am

Re: Get BLE UUID for iOS pairing

Postby SombraRPK » Fri Mar 01, 2019 5:56 pm

Thank you Franco. My issue is more about how can i set ESP32's UUID and and use that UUID to connect my iOS app directly.

SombraRPK
Posts: 18
Joined: Wed Jul 04, 2018 2:37 am

Re: Get BLE UUID for iOS pairing

Postby SombraRPK » Fri Mar 01, 2019 11:48 pm

This is the UUID i'm talking about, I attach this image. Any idea?

Thanks in advance!!
Attachments
IMG_1013.jpg
IMG_1013.jpg (221.12 KiB) Viewed 15926 times

Wangcheng
Posts: 73
Joined: Wed Mar 06, 2019 3:26 am

Re: Get BLE UUID for iOS pairing

Postby Wangcheng » Mon Apr 08, 2019 2:11 am

SombraRPK wrote:
Fri Mar 01, 2019 11:48 pm
This is the UUID i'm talking about, I attach this image. Any idea?

Thanks in advance!!
If you want to set the UUID of the ESP32,You only need to modify the value of uuid.The specific operation depends on the DEMO we provide.

Code: Select all

/* Disable OOB security for SILabs Android app */
static esp_ble_mesh_prov_t provision = {
    .uuid = dev_uuid,
#if 0
    .output_size = 4,
    .output_actions = ESP_BLE_MESH_DISPLAY_NUMBER,
    .input_actions = ESP_BLE_MESH_PUSH,
    .input_size = 4,
#else
    .output_size = 0,
    .output_actions = 0,
#endif
};

jpfaguirre
Posts: 4
Joined: Fri Apr 03, 2020 2:58 pm

Re: Get BLE UUID for iOS pairing

Postby jpfaguirre » Fri Apr 03, 2020 3:09 pm

Is there a way to get the default UUID of the device?

For example the mac I can get default mac using esp_read_mac if no mac was set.

chegewara
Posts: 2171
Joined: Wed Jun 14, 2017 9:00 pm

Re: Get BLE UUID for iOS pairing

Postby chegewara » Sat Apr 04, 2020 9:02 pm

There is no such thing like default UUID. UUID is set in application.

adelinu
Posts: 6
Joined: Sat Jan 16, 2021 9:08 am

Re: Get BLE UUID for iOS pairing

Postby adelinu » Sat Jan 16, 2021 9:18 am

Sorry for bringing the topic back on, but the original poster has a point:

While scanning for an ESP32 Advertising device using nRF Scanner (or BLE Scanner) - on Android Phones, you indeed get the MAC address of the device.

However, when you scan for it in iOS using the same apps, you don't get the MAC address, but an UUID of the device (the one highlighted in the screenshot above), which is not service nor characteristic UUID, but some UUID that seems to be embedded in the device's memory somewhere.

While you can use esp_bt_dev_get_address() to get the MAC address, there's no such similar function for the device's UUID (at least not to my knowledge).

That's what the original poster asked, and that's what I'm looking for too - a way to find that UUID using the code (and not external scanning)...

Thanks.

bobolink
Posts: 98
Joined: Mon Feb 26, 2018 4:17 pm

Re: Get BLE UUID for iOS pairing

Postby bobolink » Sat Jan 16, 2021 12:41 pm

16 bit UUIDs are standardized and published by the Bluetooth SIG. So they are known before-hand. They deal with measurements of health, time, temperatures, velocity, etc. Standard stuff useful for everybody.
Nobody could publish all the 32-bit UUIDs. There are more of them than there are stars in the sky. So you need an external interface control document (ICD) or API. Or it needs to be printed on the device. Or a bar code, etc.

But, on the other hand, you don’t need a SIG to approve your UUID. You can invent your own.

It’s a blessing and a curse.

I hope this is what you’re asking.

chegewara
Posts: 2171
Joined: Wed Jun 14, 2017 9:00 pm

Re: Get BLE UUID for iOS pairing

Postby chegewara » Sat Jan 16, 2021 5:04 pm

adelinu wrote:
Sat Jan 16, 2021 9:18 am
Sorry for bringing the topic back on, but the original poster has a point:

While scanning for an ESP32 Advertising device using nRF Scanner (or BLE Scanner) - on Android Phones, you indeed get the MAC address of the device.

However, when you scan for it in iOS using the same apps, you don't get the MAC address, but an UUID of the device (the one highlighted in the screenshot above), which is not service nor characteristic UUID, but some UUID that seems to be embedded in the device's memory somewhere.

While you can use esp_bt_dev_get_address() to get the MAC address, there's no such similar function for the device's UUID (at least not to my knowledge).

That's what the original poster asked, and that's what I'm looking for too - a way to find that UUID using the code (and not external scanning)...

Thanks.
Mechanism you described here is internal apple idea for "privacy protection", because using random mac is not good enough to them. It is guid, if I remember correctly, generated by iOS based on something, maybe on device mac, maybe something else. The point is it has nothing to do with bluetooth.
Of course you can write your own code, which can generate similarly guid and create QR code with it, then you can add such guid in advertising packet or do whatever you want with it.

Who is online

Users browsing this forum: No registered users and 61 guests