<?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>How to fetch peer&amp;#39;s base uuid?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/20812/how-to-fetch-peer-s-base-uuid</link><description>Hi experts, 
 I have just tried lbs example. I saw in the ble_lbs_c.h, the base uuid and service uuid are defined for the peripheral peers who are going to be connected.
However, if I don&amp;#39;t know these uuids, I would like to read them from the peripheral</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 29 Mar 2017 14:13:09 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/20812/how-to-fetch-peer-s-base-uuid" /><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81300?ContentTypeID=1</link><pubDate>Wed, 29 Mar 2017 14:13:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a8a6c4b-e653-4c04-9c1a-b85f049a33b2</guid><dc:creator>zhao</dc:creator><description>&lt;p&gt;thanks. i will have a try.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81299?ContentTypeID=1</link><pubDate>Wed, 29 Mar 2017 13:51:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce09ff1f-ecae-478b-bf23-3fc1ea98f5ce</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;What Android app is doing is &amp;quot;full&amp;quot; ATT/GATT Service Discovery so it will try to show you what all is on ATT stack. You can do that in nRF5x FW with GATT Client as well, just not sure how to do it with DB module, I&amp;#39;m not using it. I&amp;#39;m afraid the example you are using is single-app example which assumes you are using particular Services/Characteristics (with fixed UUIDs known to both sides from the beginning). But you can take &lt;code&gt;ble-db-discovery&lt;/code&gt; module as example and rewrite it i order to do &amp;quot;full&amp;quot; service discovery in the code so you can extract all discovered handles, their type and UUID (if applicable) and do whatever you need with them.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81303?ContentTypeID=1</link><pubDate>Wed, 29 Mar 2017 13:30:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffae3e71-edde-4ead-af5e-0821c4ee12be</guid><dc:creator>zhao</dc:creator><description>&lt;p&gt;The device i want to connect is a nrf51822 device, whose app is modified from lbs example. it should be a GATT server i think. the other side is a 52832 device, running lbs_c example, so it is a GATT client. The two side should define the same service uuid, then 52832can successfully finish db discovery after connecting. if 52832 give wrong service uuid, db discovery will fail.
I want to know if there is a method for 52832 to read full uuid from 51822 after connecting, then start db discovery. The reason is there are lots of custom devices with non-standard service uuid 52832 needs to connect.  android app can do this, right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81298?ContentTypeID=1</link><pubDate>Wed, 29 Mar 2017 12:21:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e7888608-f58f-488d-b6aa-c447d2fdb142</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;Where you want to read UUID from? Which GATT role(s) is your app using on top of SD and what is it connected to?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81302?ContentTypeID=1</link><pubDate>Wed, 29 Mar 2017 12:16:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dcc3d728-801b-4d09-859e-250fe539a89c</guid><dc:creator>zhao</dc:creator><description>&lt;p&gt;so,softdevice doesnot provide an api to read the full uuid as android (nrf connect) does?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81301?ContentTypeID=1</link><pubDate>Mon, 27 Mar 2017 13:24:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d27807cc-02d3-40bc-9d8d-a15242ad14c4</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;&amp;quot;Base UUIDs&amp;quot; is visible in the full UUID as well. You cannot &amp;quot;fix&amp;quot; UUID without knowing the base, again on both sides. The only difference between &amp;quot;short&amp;quot; UUID (2-byte) and &amp;quot;full UUID&amp;quot; (16-byte) is that short UUIDs are mapped on &amp;quot;BT SIG base UUID&amp;quot; which is well known. but if you would expose it in 16-byte format it would mean the same and GATT compliant devices should understand it. So to summarize: you see &amp;quot;base UUID&amp;quot; if you see full UUID (and these are typically exposed freely on GATT Server side), if you change &amp;quot;base UUID&amp;quot; it will of course change all the UUIDs which are using that as &amp;quot;common&amp;quot; base and so UUIDs will become unknown to the other party.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81297?ContentTypeID=1</link><pubDate>Mon, 27 Mar 2017 13:04:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3a0f8b7-77fb-41a5-9f6a-2ca3ef469bbb</guid><dc:creator>zhao</dc:creator><description>&lt;p&gt;Thanks. Now, I can understand Service/Characteristic UUIDs are public and always know: the same products provide the same services.&lt;/p&gt;
&lt;p&gt;By the way, the nRF Connect app (called NRF Master Control Panel before) can tell the service UUID of the device after being connected, even if the base UUID is modified. How does the app find it?
So I think, the BLE protocol should allow ble master (GATT client) to discover all UUIDs of peripheral (GATT server).
Back to my problem, I tried to implement a ble center based on s132 to collect data from multi peripheral ble devices. However, all the peripheral ble devices own unique base UUID, and can&amp;#39;t be probed one by one (lots of custom devices). db_discovery will fail if the base UUID is not correctly specified and passed to sd_ble_uuid_vs_add(). So I wonder if there is a way to read the UUID as the APP did.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to fetch peer's base uuid?</title><link>https://devzone.nordicsemi.com/thread/81296?ContentTypeID=1</link><pubDate>Sun, 26 Mar 2017 14:43:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1b05c66-ddf0-4061-bea5-8932ea3284bf</guid><dc:creator>endnode</dc:creator><description>&lt;p&gt;As GATT Client you can do full GATT service discovery meaning read all handles and their UUIDs as soon as you connect and see GATT Server on the other side. But if you don&amp;#39;t know it before connection then you obviously don&amp;#39;t have it. Actually UUIDs are meant to be always known and public, that&amp;#39;s how any application can work on top of ATT/GATT (= looks for the particular Service/Characteristic etc. all named just by UUIDs).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>