<?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>Confusion about Server count and Client count in BLE Mesh</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24997/confusion-about-server-count-and-client-count-in-ble-mesh</link><description>In the example code, I found this: 
 #define SERVER_COUNT (3)
#define CLIENT_COUNT (SERVER_COUNT + 1)
 
 I&amp;#39;m having 2 boards (maybe extremely problematic) and I want to have the 2 form a connection using the mesh advertising packets, I don&amp;#39;t know</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 18 Sep 2017 06:52:27 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24997/confusion-about-server-count-and-client-count-in-ble-mesh" /><item><title>RE: Confusion about Server count and Client count in BLE Mesh</title><link>https://devzone.nordicsemi.com/thread/98459?ContentTypeID=1</link><pubDate>Mon, 18 Sep 2017 06:52:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c94ace8-9dd6-42ea-ac46-2d4f4e5efd7c</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Q1: If you want to control 100 lights individually you will have to add one &lt;strong&gt;element&lt;/strong&gt; (each contains one &lt;strong&gt;model&lt;/strong&gt;) per light on the Light Control Client side. On the Light Control Server side you only need one element with one model. This is how the BLE Mesh specification defines it, the element is the addressable entity of a mesh node. So if you had an element with two models both subscribing to the same ON/OFF message, then you would not know which model the message was intended for if you send it to the unicast address of the element.&lt;/p&gt;
&lt;p&gt;Q2: That should not be an issue, my suggestion on having them apart was only to show that the nodes are relaying messages to the nodes that are not in range of the client.&lt;/p&gt;
&lt;p&gt;Q3: Yes, the provisioner(i.e. the light control client) should enter the running state.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about Server count and Client count in BLE Mesh</title><link>https://devzone.nordicsemi.com/thread/98458?ContentTypeID=1</link><pubDate>Tue, 12 Sep 2017 08:32:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5baf5966-c655-4d62-af81-6fbcb93f0eb8</guid><dc:creator>Mitch996</dc:creator><description>&lt;p&gt;@Bjørn Spockeli BTW, if all 3 nodes were successfully prov-ed and config-ed, the program should enter  provisioner_config_successful_cb and reach these lines:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; hal_led_blink_ms(LEDS_MASK, 100, 4);
    m_device_state = DEVICE_STATE_RUNNING;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Right?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about Server count and Client count in BLE Mesh</title><link>https://devzone.nordicsemi.com/thread/98457?ContentTypeID=1</link><pubDate>Tue, 12 Sep 2017 08:19:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43e2ebc3-e3dc-4f8a-9a8d-f77b9ad749c2</guid><dc:creator>Mitch996</dc:creator><description>&lt;p&gt;That clarifies it very well.&lt;/p&gt;
&lt;p&gt;However, more questions arise:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;So if I want to control 100 lights, I have to have 100 models in one element, with each and single model storing a set of information unique to its corresponding node? It sounds conservative and dogmatic?&lt;/li&gt;
&lt;li&gt;I kinda have all 3 nodes stacked closely together on my desk... what&amp;#39;s the worst that could happen? And I failed consistently to provision+configure them for the past 6 hours or so.&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Confusion about Server count and Client count in BLE Mesh</title><link>https://devzone.nordicsemi.com/thread/98456?ContentTypeID=1</link><pubDate>Fri, 08 Sep 2017 13:44:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:49aed2ee-9285-448d-aae8-7170a22eae09</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Mitch,&lt;/p&gt;
&lt;p&gt;I understand the confusion and I strongly recommend taking a look at the Bluetooth Mesh Profile Specification, specifically section 2.3 Architectural concepts. We have a condensed version &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v0.9.2/md_doc_getting_started_basic_concepts.html?cp=4_1_0_3_2"&gt;here&lt;/a&gt; on our Infocenter.&lt;/p&gt;
&lt;p&gt;I&amp;#39;ll try to explain why the Client count is set the way it is.&lt;/p&gt;
&lt;p&gt;Each node in a Bluetooth Mesh has at least one &lt;strong&gt;element&lt;/strong&gt; , which is an addressable entity with the node. It is this address that other nodes in the mesh use when they want to send a message to that specific node. Within the &lt;strong&gt;element(s)&lt;/strong&gt; you&amp;#39;ll find the Models, which define the basic functionality of the node. There are three types of models&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Server model:&lt;/strong&gt; A server model is composed of one or more states spanning one or more elements. The server model defines a set of mandatory messages that it can transmit or receive, the behavior required of the element when it transmits and receives such messages, and any additional behavior that occurs after messages are transmitted or received.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Client model:&lt;/strong&gt; A client model defines a set of messages (both mandatory and optional) that a client uses to request, change, or consume corresponding server states, as defined by a server model. The client model does not have state.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Control model:&lt;/strong&gt; A control model may contain client model functionality to communicate with other server models and server model functionality to communicate with other client models.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each &lt;strong&gt;element&lt;/strong&gt; may include multiple &lt;strong&gt;models&lt;/strong&gt;, but an &lt;strong&gt;element&lt;/strong&gt; is not allowed to contain multiple instances of models that use the same message.&lt;/p&gt;
&lt;p&gt;So, the way the examples works is that each Light Control Server example sets up a single &lt;strong&gt;element&lt;/strong&gt; that contains a Simple OnOff Server Model, which is used to turn on an off the light. Each &lt;strong&gt;element&lt;/strong&gt; has a unicast address which is unique for that &lt;strong&gt;element&lt;/strong&gt;, but it also has a group address, which is common for all three &lt;strong&gt;elements&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Since an &lt;strong&gt;element&lt;/strong&gt; can only contain one instance of a &lt;strong&gt;Model&lt;/strong&gt; ,the Light Control Client example sets up 4 elements, each containing a Simple OnOff Client Model. The three first are used to address each of the three servers individually, while the last element set up to use the group address so that you can turn on and off all the lights at simultaneously.&lt;/p&gt;
&lt;p&gt;Hope this clarifies it.&lt;/p&gt;
&lt;p&gt;If you want to demonstrate the Bluetooth Mesh, then I would recommend using at least 3 nodes and place the nodes so that they are not all in range of each other, i.e. Node A is in range of node B, node B is in range of node C, but node C is not in range of node A.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>