<?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>Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/32501/relayed-message-of-relay-node-not-received-by-other-server-node</link><description>I have created three nodes(A, B, C) one client(i.e A) and two servers (i.e B and C) using simple_message_model. The node that contains the client model(A node) provision the two other nodes(B and C). Now after provisioning the node. I have kept the nodes</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 13 Feb 2019 07:29:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/32501/relayed-message-of-relay-node-not-received-by-other-server-node" /><item><title>RE: Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/thread/170762?ContentTypeID=1</link><pubDate>Wed, 13 Feb 2019 07:29:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c06645db-7d7c-41a8-88a1-e984dbf71ab4</guid><dc:creator>SAIF</dc:creator><description>&lt;p&gt;hello, can you help out where can i find&amp;nbsp;&lt;span&gt;simple_message_OPCODE_SEND this opcode&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/thread/140029?ContentTypeID=1</link><pubDate>Fri, 13 Jul 2018 08:56:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee2ad6b0-0e2c-4a1e-b487-46c920e135ab</guid><dc:creator>wangshuai</dc:creator><description>&lt;p&gt;My e-mail address is 307313580@qq.com. Can I send your configured program to my mailbox? Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/thread/140026?ContentTypeID=1</link><pubDate>Fri, 13 Jul 2018 08:52:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:358de626-2ee0-4ec3-90b8-dcb425a2c703</guid><dc:creator>wangshuai</dc:creator><description>&lt;p&gt;Hi Pooja&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Can you send me the configured files? I followed the instructions to configure but it always went wrong.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1531471921142v3.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/thread/125816?ContentTypeID=1</link><pubDate>Fri, 23 Mar 2018 20:49:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b19d49b8-f00c-4213-a805-1f31614eefde</guid><dc:creator>leonwj</dc:creator><description>&lt;p&gt;hello Pooja,&lt;/p&gt;
&lt;p&gt;In order to augment the advice given to you by &lt;a href="https://devzone.nordicsemi.com/members/tesc"&gt;@tesc&lt;/a&gt; above...&lt;/p&gt;
&lt;p&gt;Relaying is a feature that is implemented by the underlying mesh stack. Based upon the topology of the mesh network (i.e. where the devices are located) a network manager/admin (i.e. whoever has control of the mesh network), will determine whether to flag that a specific node will support relaying (i.e. turn that feature flag on or off). This will be done in order to enhance the delivery of messages across the mesh and is closely linked to the TTL value(s) set either as a default or across a particular model. For example, some tests have shown that for certain network topologies you might only need approx. 2% of your total nodes to act as relays. This is because too many relays will increase the mesh networks on-air traffic and depending on the TTL set, may actually stop a message from being delivered to nodes at the edge of a network.&lt;/p&gt;
&lt;p&gt;The bottom line is that setting a device(s) relay feature to be on or off and setting the TTL to optimum values is a consideration that needs to be done carefully and periodically to match changes in the mesh networks topology.&lt;/p&gt;
&lt;p&gt;Once again, I would suggest that you follow the links that I provided in my &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/31179/how-to-make-multiple-sensor-node-that-takes-data-from-sensor-and-send-to-single-relay-node-in-ble-mesh-networking/123137#123137" rel="noopener noreferrer" target="_blank"&gt;response&lt;/a&gt; to your previous post, and re-iterate the following &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/31300/receive-string-message-from-node-in-ble-mesh" rel="noopener noreferrer" target="_blank"&gt;advice&lt;/a&gt; that I subsequently gave (as follows)..&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/743x113/__key/communityserver-discussions-components-files/4/6036.mesh_2D00_relay_2D00_advice.png" /&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/thread/125791?ContentTypeID=1</link><pubDate>Fri, 23 Mar 2018 15:58:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:beb8e9d0-5d9a-4dad-a64f-e9ecf582d3db</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It looks like there is a misconception here. Actually you can send messages &amp;quot;directly&amp;quot; from node A to node C through the Mesh, independently of what the topology of the network looks like. You do not need to modify node B. If node B is a relay node then messages will automatically propagate from A through B to C, and so you can address C directly from A.&lt;/p&gt;
&lt;p&gt;The relay node functionality is handled by the Mesh stack, and you do not have to do anything in the application for it to relay messages. All you have to do is configure A and C so that the client in A can use the server in C. Then those two nodes can communicate independently of what the network in-between looks like.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/thread/125262?ContentTypeID=1</link><pubDate>Wed, 21 Mar 2018 06:37:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:abe8269d-e9e1-4630-a857-9c25eaf69f41</guid><dc:creator>Pooja</dc:creator><description>&lt;p&gt;I have extended the light switch example to send string message using simple_message model. I have used one client node (A node) and two server nodes(B and C) node. In client programm i used simple_message_client.c and In server i have create simple_message_control.c by merging the simple_message_client.c and simple_message_server.c. So the simple_message_control.c contains all functions of simple_message_client.c and simple_message_server.c.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have flashed the server program inside B and C node then i flashed the client programm in&amp;nbsp;A node. So as soon as I flashed the client programm, A node starts provisioning the B and C node. After provisioning complete I have placed the B node in range of A, And C node in range B but not in range of A.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now I have done the below process.&lt;/p&gt;
&lt;p&gt;When&amp;nbsp;I pressed the button 0 on client node(A node) send_message() function is called. The definition for send_message() function is as below.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;void send_message(){&lt;br /&gt; uint32_t status=0;&lt;br /&gt; uint8_t buffer[10]=&amp;quot;Hello mesh&amp;quot;;&lt;br /&gt; uint8_t length;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;//uint16_t address;&lt;br /&gt; access_message_tx_t msg;&lt;br /&gt; length= sizeof(buffer);&lt;br /&gt; if (length)&lt;br /&gt; {&lt;br /&gt; msg.opcode.opcode =simple_message_OPCODE_SEND;&lt;br /&gt; msg.opcode.company_id = 0x0059; // Nordic&amp;#39;s company ID &lt;br /&gt; msg.p_buffer = (const uint8_t *) &amp;amp;buffer[0];&lt;br /&gt; msg.length =length;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;//address = 0xCAFE;&lt;br /&gt;// address_set(address);&lt;br /&gt; status= access_model_publish(m_clients[0].model_handle, &amp;amp;msg);&lt;br /&gt; if (status == NRF_ERROR_INVALID_STATE ||&lt;br /&gt; status == NRF_ERROR_BUSY||status == NRF_ERROR_NO_MEM)&lt;br /&gt; {&lt;br /&gt; __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;Cannot send. Device is busy.\n&amp;quot;);&lt;br /&gt; hal_led_blink_ms(LEDS_MASK, 50, 4);&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; ERROR_CHECK(status);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Here I have not used the address because &amp;quot;&lt;span&gt;address = 0xCAFE&lt;/span&gt;&amp;quot; is group address and i want to send the message to unicast address.&lt;/p&gt;
&lt;p&gt;Now at server node (B node) I have received the message inside set_cb() function so that I have modified the set_cb() function of light switch server main.c and rx_set_cb() of simple_message_server.c(Now here is simple_message_control.c) as below.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;static void rx_set_cb(access_model_handle_t handle, const access_message_rx_t * p_message, void * p_args)&lt;br /&gt;{&lt;br /&gt; simple_message_server_t * p_server = p_args;&lt;br /&gt; NRF_MESH_ASSERT(p_server-&amp;gt;set_cb != NULL);&lt;br /&gt; uint8_t* value = ((simple_message_msg*) p_message-&amp;gt;p_data)-&amp;gt;data; // modified code.&lt;br /&gt;p_server-&amp;gt;set_cb(p_server, p_message-&amp;gt;meta_data.src, p_message-&amp;gt;meta_data.dst,value,p_message-&amp;gt;length);&lt;br /&gt; &lt;br /&gt;}&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;static void set_cb(const simple_message_server_t * p_server, nrf_mesh_address_t src, nrf_mesh_address_t dst, uint8_t *data, uint8_t length)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&lt;br /&gt;send_message(&amp;amp;data[0]);&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;}&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;So i received the &amp;quot;Hello mesh&amp;quot; message in &amp;quot;data&amp;quot; of set_cb(). As soon as i received the message I have called the send_message() function because I have to relay that message to other server node(C node). The definition for send message() is same as below.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;void send_message(uint8_t *data){&lt;br /&gt;uint32_t status=0;&lt;br /&gt;uint8_t buffer[10]={};&lt;br /&gt;uint8_t length;&lt;br /&gt;dsm_local_unicast_address_t address;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;access_message_tx_t msg;&lt;br /&gt; for(int i=0; i&amp;lt;10; i++){&lt;br /&gt; buffer[i]=data[i];&lt;br /&gt; __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;Received message = %c\n&amp;quot;, buffer[i]);&lt;br /&gt; }&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;length= sizeof(buffer);&lt;br /&gt; if (length)&lt;br /&gt; {&lt;br /&gt; msg.opcode.opcode =simple_message_OPCODE_SEND;&lt;br /&gt; msg.opcode.company_id = 0x0059; // Nordic&amp;#39;s company ID&lt;br /&gt; &lt;br /&gt; msg.p_buffer = (const uint8_t *) &amp;amp;buffer[0];&lt;br /&gt; msg.length =length;&lt;br /&gt;&lt;br /&gt; status= access_model_publish(m_server.model_handle, &amp;amp;msg);&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;if (status == NRF_ERROR_INVALID_STATE ||&lt;br /&gt; status == NRF_ERROR_BUSY||status == NRF_ERROR_NO_MEM)&lt;br /&gt; {&lt;br /&gt; __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;Cannot send. Device is busy.\n&amp;quot;);&lt;br /&gt; hal_led_blink_ms(LEDS_MASK, 50, 4);&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt; ERROR_CHECK(status);&lt;br /&gt; }&lt;br /&gt; }&lt;br /&gt; }&lt;/p&gt;
&lt;p&gt;But at node C the &amp;quot;Hello mesh&amp;quot;&amp;nbsp;message is not received. What wrong i did?&lt;/p&gt;
&lt;p&gt;Also in network.c of mesh sdk &amp;quot;m_relay_enable = true;&amp;quot;, it seems that relay feature is enabled also there is packet_relay() method which relay the received message. But when packet_relay() method is called whether it is called as soon as message received?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Will you please provide solution to this problem?&lt;/p&gt;
&lt;p&gt;Thanks in advance.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Relayed message of relay node not received by other server node.</title><link>https://devzone.nordicsemi.com/thread/125198?ContentTypeID=1</link><pubDate>Tue, 20 Mar 2018 14:47:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0d162d9a-2afc-45ab-a98d-93ea29217db0</guid><dc:creator>tesc</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It is hard to tell from your descriptions alone. Can you attach the code for A, B, C for us to see what you do and how?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Terje&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>