Bluethooth 4.0 scan response

2019-03-15 06:14发布

问题:

What exactly is a BLE scan response packet?

Since there is almost nothing to be found online, we would like to now this.

Does a scan response packet, respond on a device scan or is it like the advertisement packet sent every x seconds?

回答1:

A BLE scan response is the packet that is sent by the advertising device (peripheral) upon the reception of scanning requests (i.e. yes, it is a response to a device scan). The scan response usually has more data than the advertising packets. In other words, central devices send scan requests to the advertising device in order to get additional user data through the scan response. Please also note that scan responses are considered to have fixed 'static' data relative to the more dynamic advertising data.

Advertising packets and scan response share the same format, and are transmitted over the same three physical channels (they are both sent as advertising events), but are otherwise two different things.

For more information, I recommend reading about scan response packets in the SIG's core specification found here.

I hope this helps



回答2:

An important addition to yousif saeed's answer:

According to the Bluetooth 4.x specification, Peripheral devices accepting Scan Requests,

  • Must advertise this by using a specific Advertising Type value in the protocol header.
  • Must use advertising intervals of equal or bigger than, at least, 100 ms, so that the Central/Peripheral devices can exchange the Scan Request/Response packets in the time between two consecutive advertising packets (advertising interval).

Keep in mind, also, that depending on your particular hardware platform and Bluetooth Low Energy software stack,

  • You may find that a peripheral device accepting Scan Requests is non connectable, that is, may be limited to behave as a pure beacon (connection-less).


回答3:

I was just looking for this information and it is difficult to find good technical resources beyond the basic description.

There is a great few pages on one of the manufacturer's sites that goes into the details of how their hardware interacts with these communications.

The scan response packet consists of: Device name, Transmission power, Beacon ID, Firmware version, Battery level

https://support.kontakt.io/hc/en-gb/articles/201492492-iBeacon-advertising-packet-structure https://support.kontakt.io/hc/en-gb/articles/201493072-Beacon-services https://support.kontakt.io/hc/en-gb/articles/201492492-iBeacon-advertising-packet-structure

I am not promoting Kontakt.io, but they did a pretty good job of providing this answer in good detail.