<?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 Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/36410/ble-mesh-sdk---publish-to-unicast-address</link><description>Hi, 
 
 how can I publish a message to unicast address from a generic on/off client with mesh sdk? 
 How can I set the address? 
 
 Jost to be more precise, the function: 
 access_model_reliable_publish(const access_reliable_t * p_reliable) 
 only works</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 20 Jul 2018 08:46:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/36410/ble-mesh-sdk---publish-to-unicast-address" /><item><title>RE: BLE Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/thread/140786?ContentTypeID=1</link><pubDate>Fri, 20 Jul 2018 08:46:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:02783011-3d47-4f1c-b272-9e5567047817</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Lucio,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes, you can have a the server on the gateway, if that node also act as a normal node. The client on the gateway can send packet to the server on the same node (but we will not broadcast&amp;nbsp;the packet&amp;nbsp;but route it internally )&amp;nbsp;&lt;/p&gt;
&lt;p&gt;It&amp;#39;s up to you to decide if you want to delete the address in DSM database. You don&amp;#39;t have to follow what we have in the config_server.c . There is only one rule ab that, you can have only one publish address at a time.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t think you should call&amp;nbsp;access_flash_config_store() this everytime if you switch server address all the time. There is some good read about flash usage in mesh &lt;a href="https://raw.githubusercontent.com/NordicSemiconductor/nRF5-SDK-for-Mesh/master/doc/introduction/mesh_hw_resources.md"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/thread/140499?ContentTypeID=1</link><pubDate>Wed, 18 Jul 2018 09:50:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:59a917d3-4e51-472f-a6a9-406107d6901f</guid><dc:creator>luciom</dc:creator><description>&lt;p&gt;Hung,&lt;/p&gt;
&lt;p&gt;I think we need a generic_server because the gateway has all the functions of a standard node plus the wifi connectivity to act as a bribge to internet. Do you agree about that or I should only use a generic_client? I&amp;#39;m not sure.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;m looking to config_server.c - handle_config_model_publication_set() function.&lt;/p&gt;
&lt;p&gt;Here they call&amp;nbsp;dsm_address_publish_remove() before calling dsm_address_publish_add() if publish_address_stored is different from publish_address.&lt;/p&gt;
&lt;p&gt;This way you always have one element on the table.&lt;/p&gt;
&lt;p&gt;In the above link you suggest to add all addresses before then switch between them. Which is the preferred way?&lt;/p&gt;
&lt;p&gt;Do I need to call access_flash_config_store() at the end of this process every time I change the publishing address? This can lead to a rapid deterioration of the flash memory?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/thread/140489?ContentTypeID=1</link><pubDate>Wed, 18 Jul 2018 08:52:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:44512dea-2b21-45ce-ad91-eaf4e3548f8b</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Lucio,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;We already use those&amp;nbsp;functions in the configuration server, to update the models with publication address sent by the configuration client.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Or you can have a look &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/29879/subscribe-a-group-address-for-the-mesh-message"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure why you need a generic server&amp;nbsp; on the gateway but you can do that. Just make sure you have the server and the client on different elements. Same model shouldn&amp;#39;t be on one element.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/thread/140432?ContentTypeID=1</link><pubDate>Tue, 17 Jul 2018 15:53:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b9f7315-21b3-4373-9043-93ffbf987d5f</guid><dc:creator>luciom</dc:creator><description>&lt;p&gt;Hung,&lt;/p&gt;
&lt;p&gt;thank you, this may be the way.&lt;/p&gt;
&lt;p&gt;Do you have any example on how to use the calls you suggested?&lt;/p&gt;
&lt;p&gt;dsm_address_publish_add() to add an address to the DSM, then use&amp;nbsp;access_model_publish_address_set() to set the app key, and&amp;nbsp;access_model_publish_address_set() to set the publication address of the client mode.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I think the right configuration is to have the standard nodes as generic_server and the gateway node as both generic_server and generic_client and then use the calls you suggested to address the generic_server nodes.&lt;/p&gt;
&lt;p&gt;For the provisioning I&amp;#39;m already using the nRF-Mesh app.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/thread/140426?ContentTypeID=1</link><pubDate>Tue, 17 Jul 2018 15:31:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1253a70e-4208-4afa-aac9-6ecb938e8e5d</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Yes, the client can change its publication address. You can have a look here:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/35931/multiple-server-on-one-client---light-switch-demo"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/35931/multiple-server-on-one-client---light-switch-demo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I also suggest you to try our nRFMesh provision app on the phone. It allows you to configure the proxy node in the network. You can try to change the publication address on the model on the client to target different server. This is a little bit different from the approach in the case I pointed above, where the setting is done inside the code not by reconfigure. A video demo of the app can be found &lt;a href="https://www.youtube.com/watch?v=XthbU9NP0Yg"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/thread/140357?ContentTypeID=1</link><pubDate>Tue, 17 Jul 2018 09:33:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2dc7ce1f-a854-4291-a194-1fe9cffef5ae</guid><dc:creator>luciom</dc:creator><description>&lt;p&gt;Hi Hung,&lt;/p&gt;
&lt;p&gt;I will explain in more detail.&lt;/p&gt;
&lt;p&gt;We are developing a gateway node.&lt;/p&gt;
&lt;p&gt;That node acts as standard node in the BLE Mesh net (generic on/off server) and communicates via uart with a wifi module connected to internet (all on the same product).&lt;/p&gt;
&lt;p&gt;This special gateway node then receives activations from a server and forward them to the BLE Mesh net.&lt;/p&gt;
&lt;p&gt;The BLE node implements a generic on-off server and a generic on-off client to forward activations received from the wifi side.&lt;/p&gt;
&lt;p&gt;My question is, how can I programmatically (using BLE mesh sdk) forward on/off messages addressed to other nodes on the net if my client model can publish only to a single address/group?&lt;/p&gt;
&lt;p&gt;Can I programmatically change the publishing address of my client model?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: BLE Mesh SDK - Publish to unicast address</title><link>https://devzone.nordicsemi.com/thread/140352?ContentTypeID=1</link><pubDate>Tue, 17 Jul 2018 09:17:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2e6969ae-1486-4e25-979b-e186658b9c85</guid><dc:creator>Hung Bui</dc:creator><description>&lt;p&gt;Hi Lucio,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Are you asking about publish to an unicast address or group address ? In your question, it&amp;#39;s not clear.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Note that the reliable publish is only for unicast address. If you publish to a group address, you shouldn&amp;#39;t expect there will be a response because there is no way to know how many nodes are subscribed to the group addresses and if all of them replies.&lt;/p&gt;
&lt;p&gt;If you want to send something to a group, please use access_model_publish (unreliable message) . You still can receive response from multiple nodes if you configure those nodes to publish to your unicast address or to the group address you subscribed to.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>