<?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>Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/113385/setting-up-a-custom-gatt-client</link><description>Hello! I have a GATT Server in the form of a nrf52840-DK that has been given to me from a company that has a custom service on the server using CCCD. I have the full documentation of the service so all necessary information is available there for me.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 13 Aug 2024 12:45:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/113385/setting-up-a-custom-gatt-client" /><item><title>RE: Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/thread/498054?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2024 12:45:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9c6fc59-6701-450e-888c-baee44930431</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi Bjorn,&lt;/p&gt;
&lt;p&gt;Sorry for the delay. Do you still have the issue?&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/thread/496034?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 13:51:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99de717a-5ee9-435b-9932-38ceb4098491</guid><dc:creator>DevBear</dc:creator><description>&lt;p&gt;Thank you again Priyanka!&amp;nbsp;&lt;br /&gt;I have figured most of this out during the weekend but one thing I keep struggling with is where in the attribute table I can find my value.&lt;br /&gt;So I had implemented the notify characteristic and everything worked fine when I have this function:&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1722261113496v1.png" /&gt;&lt;br /&gt;&lt;br /&gt; , then I added a write without response and just added it in the service, changed NOTHING else and now the notification does not work anymore, meaning it does not send values.&lt;/p&gt;
&lt;p&gt;I am using the sample bluetooth peripheral and tried using this function to write without response:&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1722262664290v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I have read the Bluetooth academy course and I understand that the values are not sequential but how do I find where in the table the value is being stored?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/thread/495990?ContentTypeID=1</link><pubDate>Mon, 29 Jul 2024 11:50:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74ba31c7-7162-4c25-9b94-2dec15b7147d</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You could keep in mind a few things.&amp;nbsp;On the server side, you need to define the characteristics of your service to include both &amp;quot;Write without response&amp;quot; and &amp;quot;Notify&amp;quot;. Please take a look at &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/89790/how-to-correctly-setup-a-ble-notify-characteristic-using-ncs?ReplyFilter=Answers&amp;amp;ReplySortBy=Answers&amp;amp;ReplySortOrder=Descending"&gt;this ticket&lt;/a&gt;. On the client side, you need to use the &lt;em&gt;bt_gatt_discover&lt;/em&gt; function to find the write characteristic, and then use &lt;em&gt;bt_gatt_write_without_response&lt;/em&gt; to write to it. You also need to subscribe/enable notifications to receive the heartbeat message from the server. You can refer&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/103352/gatt-central-client-ble-write-not-working?ReplyFilter=Answers&amp;amp;ReplySortBy=Answers&amp;amp;ReplySortOrder=Descending"&gt;this ticket&lt;/a&gt;. Even with notifications and write(without response), there is acknowledgment on the link layer. S&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/102876/understanding-nus-throughput-using-bt_gatt_write-and-bt_gatt_write_without_response?ReplyFilter=Answers&amp;amp;ReplySortBy=Answers&amp;amp;ReplySortOrder=Descending"&gt;o if a packet was not received, it will be re-transmitted.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/thread/495766?ContentTypeID=1</link><pubDate>Fri, 26 Jul 2024 08:42:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7823b86c-fe63-40bf-8f6a-3ace5f10a88e</guid><dc:creator>DevBear</dc:creator><description>&lt;p&gt;Yes they are, I guess I was too much of a beginner to realize that when I was going through the tutorial.&lt;br /&gt;Final question:&lt;br /&gt;In my solution, the Server needs to&amp;nbsp;accept Write without response from the client AND Notify the client.&lt;br /&gt;The client needs to notify the server and do a write without response to the server.&lt;br /&gt;Is there something special I need to think about when setting up the client and server for this solution?&lt;br /&gt;&lt;br /&gt;-Bj&amp;ouml;rn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/thread/495745?ContentTypeID=1</link><pubDate>Fri, 26 Jul 2024 07:30:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0f88a93c-0bb9-4140-bf73-a0b3482ef4f0</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;For nRF5 SDK, we do have this &lt;a href="https://docs.nordicsemi.com/bundle/sdk_nrf5_v17.1.0/page/ble_sdk_app_gatts.html"&gt;GATT Service Server example&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But in the Devacademy course, it provides a good explanation and hands on for both client and server.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;-Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/thread/495692?ContentTypeID=1</link><pubDate>Thu, 25 Jul 2024 18:15:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cac84184-d952-4b4c-b121-382bdf676071</guid><dc:creator>DevBear</dc:creator><description>&lt;p&gt;Thank you &lt;a href="https://devzone.nordicsemi.com/members/priyankakesav"&gt;Priyanka&lt;/a&gt;&amp;nbsp;! Will do, while we are on the subject, do you have a sample code or tutorial that is fairly up to date on the GATT Server as well?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Setting up a custom GATT Client</title><link>https://devzone.nordicsemi.com/thread/495612?ContentTypeID=1</link><pubDate>Thu, 25 Jul 2024 11:35:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:670c811a-e3e0-445c-8297-29f6c6f69c14</guid><dc:creator>Priyanka</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user=""] Is it called setting up a custom service or what is this called?[/quote]
&lt;p&gt;This can be called setting up a GATT client to communicate with a custom service.&lt;/p&gt;
&lt;p&gt;Since you mention that you have all the documentation of the custom service, you will need to note the information, like UUIDs of the custom service, it&amp;#39;s characteristics, the properties of each characteristic and the format and type of data that each characteristic handles You will also need the CCCD.&lt;/p&gt;
&lt;p&gt;You will have to initialize the BLE stack, followed by a scan for devices and then connect to the GATT server. Then you can discover the custom service and it&amp;#39;s characteristics, after connection. If the custom service uses notifications, write to the CCCD to enable them.&lt;/p&gt;
&lt;p&gt;We have the &lt;a href="https://devzone.nordicsemi.com/guides/short-range-guides/b/bluetooth-low-energy/posts/ble-central-tutorial"&gt;BLE Central tutorial&lt;/a&gt;.&amp;nbsp; I would also suggest you to take a look at the &lt;a href="https://academy.nordicsemi.com/courses/bluetooth-low-energy-fundamentals/lessons/lesson-4-bluetooth-le-data-exchange/topic/gatt-operations/"&gt;Devacademy course on the GATT operations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Priyanka&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>