hi,
How can i set Destination Address to a particular Mesh Node. so that all message reach that particular Node Only.Since provisioner can set address while provisioning process.
reply is appreciated. .
hi,
How can i set Destination Address to a particular Mesh Node. so that all message reach that particular Node Only.Since provisioner can set address while provisioning process.
reply is appreciated. .
hi
is it possible to set Static Address to a Node?
By static address, do you mean that every time the node gets provisioned & no matter how many nodes are getting provisioned, that one node will always have the same unicast address(es)?
yes Bjorn,
I want only one Node to collect the Messages.Since Provisioner Assigns Address , we dont know what address it assigns to Node which going to collect Messages.
yes Bjorn,
I want only one Node to collect the Messages.Since Provisioner Assigns Address , we dont know what address it assigns to Node which going to collect Messages.
Any Updates on this Bjorn Kvaale ?
How many nodes do you want in your mesh network? If you want three nodes (one provisioner, one client & one server), the server will always get the same unicast address. If you have multiple servers,
In the light switch example, the client sends the messages to the server(s) via button presses. As I mentioned above, you can find the unicast node addresses of the client & server(s) by looking at the provisioning_complete_cb() function inside main.c of the light switch client & server examples. Specifically these two lines in mesh sdk 2.0.0 for example:
dsm_local_unicast_addresses_get(&node_address); __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, "Node Address: 0x%04x \n", node_address.address_start);
Then, if you open an rtt viewer window for both the client & server (assuming you are using one provisioner, one client & one server), you get the log printout of the unicast address which the messages get sent to.
If you have more than one server (i.e. one provisioner, one client & many servers), I would advise you to take a look at how the provisioner provisions the client. The client UUID is static & known to the provisioner (see CLIENT_NODE_UUID in light_switch_example_common.h). You could assign one of the servers to also have a static UUID (the server that collects the messages) & have an extra else if() block right before:
else if (m_nw_state.provisioned_devices < SERVER_NODE_COUNT)
where you can provision the first server. Something like else if(m_nw_state.provisioned_devices == 1) {// your code to provision first server}
That way, you will know the unicast address of this server.
After that, you can provision the rest of the servers like shown in the light switch example.