UUID and MACAddress for Bluetooth BLE

2019-03-25 19:30发布

问题:

I must confess I am a newbie when it comes to BLE 4.0, and I want to understand what comprises a unique identifier for a BLE peripheral. Generally, for all WiFi communications, MAC is treated as the unique ID for the device. I have following questions:

  • What is UUID used for? Should different BLE peripherals have different UUID?
  • What is unique ID for a BLE peripheral device, as identifiable by some other central BLE device? Say for example, how do location finding apps on Android detect a peripheral BLE device?
  • Can one get Unique ID of a BLE peripheral simply by scanning (i.e, without connection)?
  • Is any manual intervention needed to connect to a BLE peripheral? I've read that there is no need for manual opt in to read the data that peripheral transmits

Hope some of you could help.

回答1:

BLE devices have unique 6 byte Bluetooth addresses just like regular Bluetooth. This uniquely identifies the device. However, BLE can also use "random" addresses which follow a specific format so you can tell when you have a random addresses as opposed to a regular public address.

  • In the BLE vernacular, "UUID" refers to the identification codes to identify the data types found in the Generic Attribute Protocol (GATT)
  • Not sure I understand this question... There's the Bluetooth address, but again, BLE devices can use random addresses.
  • Well, when you do a scan for advertising packets you receive packets that contain the Bluetooth addresses. Those addresses are what you use to connect to a specific device.
  • You have to manually make connections to devices when you want to "connect". However, advertising packets can contain data which you can receive passively without any sort of connection. iBeacon's use the connectionless advertising packet information and so no connections are made.