<?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>MESH Proxy client</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/42665/mesh-proxy-client</link><description>Hi, 
 I need to develop a proxy client using the Nordic SDK, running a central device role using the nRF52840. The central device will connect to already provisioned nodes using GATT (node code is derived from your light switch examples). Optionally will</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 24 Jan 2019 16:06:49 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/42665/mesh-proxy-client" /><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/167721?ContentTypeID=1</link><pubDate>Thu, 24 Jan 2019 16:06:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:233a997e-7372-4419-90f8-89dc2f273688</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;This is new to me as well :)&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Could you explain what you meant by &amp;quot;&lt;span&gt;&amp;nbsp;as mentioned what is implemented here, is from my understanding, not strictly a mesh proxy.&amp;quot; You meant which implementation ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I found a good material that you can have a look. Please follow the link &lt;a href="https://www.bluetooth.com/develop-with-bluetooth/build/developer-kits/mesh-proxy-kit"&gt;here&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The data should be encrypted using network key , correct! It should also be encrypted with application key.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/167418?ContentTypeID=1</link><pubDate>Wed, 23 Jan 2019 14:44:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:19d7b686-0b74-48e3-a4d8-20247db5388e</guid><dc:creator>Ales</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I must admit MESH is new to me, so I&amp;#39;m just realizing the implications of it.&lt;/p&gt;
&lt;p&gt;Please correct me if I&amp;#39;m wrong.&lt;br /&gt;From my current understanding, the proxy feature should encapsulate MESH packets in an encrypted form (calls to net_packet_encrypt in the proxy code) using the assigned network encryption key. Is that correct?&lt;/p&gt;
&lt;p&gt;This approach using a new &lt;strong&gt;mesh_gatt_pdu_type_t&lt;/strong&gt; and filtering packets at this level circumvents the proxy protocol and is a totally different approach.&lt;/p&gt;
&lt;p&gt;I will have a look at Android code for any hint, but as mentioned what is implemented here, is from my understanding, not strictly a mesh proxy.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/167384?ContentTypeID=1</link><pubDate>Wed, 23 Jan 2019 13:38:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f69962cd-cc88-4511-ae4d-913f0b22cc02</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ales,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;To send data from the client to the server you would need to use write command instead of using notification (sd_ble_gatts_hvx).&lt;/p&gt;
&lt;p&gt;Could you explain the new&amp;nbsp;&lt;strong&gt;mesh_gatt_pdu_type_t&lt;/strong&gt;&lt;span&gt;&amp;nbsp; you added ? I thought it should be fine with&amp;nbsp;MESH_GATT_PDU_TYPE_NETWORK_PDU ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I would suggest to have a look into the Android/iOS app to have an idea of how this should work. You can also capture a sniffer trace when the phone connect to a proxy to see what should be sent over the air.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/167333?ContentTypeID=1</link><pubDate>Wed, 23 Jan 2019 10:39:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cb78a7cc-4a07-4e06-b711-caf3543cefc8</guid><dc:creator>Ales</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;thank you for the info so far.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m&amp;nbsp;trying to implement the client proxy deriving from the server-proxy example, and what I did so far is:&lt;/p&gt;
&lt;p&gt;(device is provisioned beforehand)&lt;/p&gt;
&lt;p&gt;1. connect to the device&lt;/p&gt;
&lt;p&gt;2. do a db discovery of&amp;nbsp;services for the service 0x1828&lt;/p&gt;
&lt;p&gt;3. subscribe to notifications on the TX characteristic&lt;/p&gt;
&lt;p&gt;I&amp;#39;m able to get the data sent&amp;nbsp;by the proxy server node in the &lt;strong&gt;on_hvx&lt;/strong&gt; event handler.&lt;/p&gt;
&lt;p&gt;NOTE the node&amp;nbsp;sends the data&amp;nbsp;using the&amp;nbsp;&lt;strong&gt;mesh_gatt_packet_alloc&lt;/strong&gt; and&amp;nbsp;&lt;strong&gt;mesh_gatt_packet_send&lt;/strong&gt; functions, and for sending the data a new&amp;nbsp;&lt;strong&gt; mesh_gatt_pdu_type_t&lt;/strong&gt;&amp;nbsp;enum is defined and inserted before the&amp;nbsp;&lt;strong&gt;MESH_GATT_PDU_TYPE_PROHIBITED&lt;/strong&gt; value. This is the approach the node uses to send the data (I have no control over that).&lt;/p&gt;
&lt;p&gt;I&amp;#39;m however not sure how to&amp;nbsp;implement the sending from the client (central) to the server (node). Any suggestions&amp;nbsp;on this? Is the overall procedure correct, for what I want to accomplish, or you suggest a different approach?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/166942?ContentTypeID=1</link><pubDate>Mon, 21 Jan 2019 15:58:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f490ea26-e968-4020-8e0b-c55c76f7f4fa</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;I see, I still don&amp;#39;t know why you want to have GATT connection to the DEVICE. I assume to unify the way you get to the cloud.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If it&amp;#39;s what you want to do I afraid that we don&amp;#39;t have a ready to use solution. GATT Proxy client has only be implemented on the phone.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But it should be feasible to implement that on the current mesh stack. It&amp;#39;s just require some work. On the nRF52 we already have a mesh stack (unlike on the phone) what you need to implement is to follow what we have in the Gatt proxy server and implement a similar proxy but on reserved role. You may need to follow what described in the mesh stack to do so.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We can try to help if you find an issue, but for now we unfortunately don&amp;#39;t have a plan to make an example for that role yet.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/166848?ContentTypeID=1</link><pubDate>Mon, 21 Jan 2019 13:30:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2974e754-772e-442d-bb68-5807bce30106</guid><dc:creator>Ales</dc:creator><description>&lt;p&gt;Yes we have full control over the gateway node.&lt;/p&gt;
&lt;p&gt;However the topology is more like this:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/topology1.jpg" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/166837?ContentTypeID=1</link><pubDate>Mon, 21 Jan 2019 12:42:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:612be169-06a9-4bed-8075-86b3540e1884</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ales,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please clarify do you have full control over the gateway node ?&amp;nbsp;&lt;br /&gt;My suggestion is to have this type of topology:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Normal Mesh Nodes &amp;lt;---ADV bearer---&amp;gt; Your Gateway node &amp;lt;---- BLE ----&amp;gt; Phone &amp;lt;--- Wifi/4G ---&amp;gt; Cloud&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is there any reason this wouldn&amp;#39;t work ?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/166821?ContentTypeID=1</link><pubDate>Mon, 21 Jan 2019 12:09:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f33e6f85-eff0-4ee9-9a24-46b4cf5ab6b8</guid><dc:creator>Ales</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I know this may sound illogical to a degree, but the fact is we have no control over the mesh nodes and this is the design we have to adapt to. Moreover, the phone(s) and our device just act as gateways for sending data to the cloud, and the customer wants to have control which device is the one connected with a node and transferring data. Provisioning is there just to take advantage of adding/removing nodes to the network and securing/encrypting the data.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MESH Proxy client</title><link>https://devzone.nordicsemi.com/thread/166518?ContentTypeID=1</link><pubDate>Fri, 18 Jan 2019 14:30:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f8c4fe77-e496-446b-b5c9-dfc793c17b91</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Ales,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s not very clear to me why you can&amp;#39;t use normal mesh (ADV bearer) to communicate with other mesh node and use GATT proxy role (server) to communicate with the phone ?&amp;nbsp; You can also have normal BLE to communicate with the phone as well. We do support doing Mesh and BLE at the same time.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>