<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>BLE Scanning device, addresses and identification with NRF52 DK</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/57049/ble-scanning-device-addresses-and-identification-with-nrf52-dk</link><description>Hello to everyone, 
 I was told to develop a simple BLE scanner using NRF52 DK (NRF52832). The idea is just to identify surrounding devices but we don&amp;#39;t want to initiate connection with them, so it plays only an observer role. The code is a modification</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 03 Feb 2020 07:54:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/57049/ble-scanning-device-addresses-and-identification-with-nrf52-dk" /><item><title>RE: BLE Scanning device, addresses and identification with NRF52 DK</title><link>https://devzone.nordicsemi.com/thread/232240?ContentTypeID=1</link><pubDate>Mon, 03 Feb 2020 07:54:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4b2f39c9-8156-42a1-a056-9105fc16f590</guid><dc:creator>Sigurd</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;1)&amp;nbsp;&lt;/p&gt;
[quote userid="86770" url="~/f/nordic-q-a/57049/ble-scanning-device-addresses-and-identification-with-nrf52-dk"]is there any way I can identify surrounding devices using a value that doesnt change over time with the adv data packages I&amp;#39;m able to receive?[/quote]
&lt;p&gt;You can try to find values that stay constant over time, but note that the only mandatory thing in the advertising packets is the advertising address, and that can as you say, change over time for private addresses. This is to avoid passive observers to track your device. I recommend reding this blog post about privacy by Bluetooth SIG: &lt;a href="https://www.bluetooth.com/blog/bluetooth-technology-protecting-your-privacy/"&gt;https://www.bluetooth.com/blog/bluetooth-technology-protecting-your-privacy/&lt;/a&gt;&lt;/p&gt;
[quote userid="86770" url="~/f/nordic-q-a/57049/ble-scanning-device-addresses-and-identification-with-nrf52-dk"]I guess the public address it is the MAC address from the manufacturer?[/quote]
&lt;p&gt;Correct. A public address can be purchased through the IEEE Registration Authority. Most devices use a random address.&lt;/p&gt;
[quote userid="86770" url="~/f/nordic-q-a/57049/ble-scanning-device-addresses-and-identification-with-nrf52-dk"] Please, veryfy this statement: reading the manufacturer MAC address it will totally depend on if the client device is configurated to advertise it beforehand?[/quote]
&lt;p&gt;No. Advertising requires a device/MAC address to be part of the advertising packet. Here is a snippet from the Bluetooth specification 5.2 that shows the ADV_IND packet:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1580716289105v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2)&amp;nbsp;I believe this is the AdvData part of the payload.&lt;/p&gt;
&lt;p&gt;3) You should check the type field in the ADV REPORT. See &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s132.api.v7.0.1%2Fstructble__gap__evt__adv__report__t.html&amp;amp;anchor=a41e5830f2be35f7e7f0b991734252820"&gt;this link.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4)&amp;nbsp;In Bluetooth Classic/ BR/EDR, you don&amp;rsquo;t have advertising, but inquiry and paging. You won&amp;rsquo;t be able to scan these. But many BR/EDR devices, such as audio headphones, uses both BR/EDR and Bluetooth Low Energy. So, you will be able to find the LE advertising&amp;nbsp;packets that these devices broadcast.&lt;/p&gt;
&lt;p&gt;5)&amp;nbsp;You can find the documentation for the NUS server and client sample &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/ble_sdk_app_nus_eval.html?cp=7_1_4_2_2_25"&gt;here&lt;/a&gt;&amp;nbsp;and &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/ble_sdk_app_nus_c.html?cp=7_1_4_2_0_7"&gt;here&lt;/a&gt;.&lt;br /&gt;In SDK 16, the connection is done in the scanner module when the UUID matches(nrf_ble_scan.c).&lt;/p&gt;
&lt;p&gt;6)&amp;nbsp;You can find the documentation for the softdevice interrupt priority levels at &lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsds_s132%2FSDS%2Fs1xx%2Fprocessor_avail_interrupt_latency%2Fexception_mgmt_sd.html"&gt;this link.&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>