how contol certain number of specific devices who config server with a PHONE

Hi

I'm trying to use nRF SDK 17.0.2 mesh SDK5.0.0 nRF52832 to build a mesh

You can see this picture below,all devices config for server one of them with proxy node, smart phone used as provisoner and controller

Is there a way control a certain number of specific devices with a  smart phone dynamically 

e.g. total 70 devices , 40 devices config for server and need under control ,one of them config for server with proxy node

application scenarios:↓↓

When PHONE publish a element or send message in order  to 40 devices by different unicast address , other 30 devices is not need receive those messages.

and alfter a moment maybe 30 of 40 devices+20 of 30 devices need receive messages,left 10of40 + 10of30 do not need.

I'm read many pages about 52832 but not find how to contol  certain number of specific devices who config server with a PHONE

Thank for any replies.

  • Hi,

    Is there a way control a certain number of specific devices with a  smart phone dynamically

    Messages are typically addressed either to unicast addresses or group addresses. The group address subscriptions are more or less fixed. (You can configure group subscription, but it requires a few messages back and forth, so you would only do so if the same set of nodes should be addressed several times in that configuration.)

    If you have a large number of nodes, and only a subset of those nodes should get a message, there are a few scenarios:

    A. It is the same subset every time -> Use a group address, all nodes in the subset subscribes to that node.

    B. It is always one of a small number of subsets (that may or may not overlap. -> Use group addresses, one for each combination.

    C. It is a new subset every time. (I.e. the selection of nodes looks random.) -> The easiest way to implement this is to simply send one unicast message to each node in the subset. This will take some time, though, since there is a restriction of maximum 100 network packets originating from a node per 10 second sliding window. This is in the Bluetooth mesh specification. There is also a technical limit to the throughput when a node sends (or relays) a series of messages.

    Maybe, for C, one option you could investigate could be to use a custom model, where the message contains an additional payload which is a bitmap for flagging which nodes should act on the message. Then you could use a group message, to send the same message to all nodes, and implement the model such that the nodes will ignore or act on the main contents of the message based on their corresponding bit in the bitmap. Alternatively, consider having multiple groups like that, and to address multiple devices you send one message to each group, each containing both the main message and the bitmap for the corresponding group. For this you would probably need a custom way to configure the node with which bit (and group) the node corresponds to. Please note that everything suggested in this paragraph is nothing more than ideas, which may or may not work in practice, and which we haven't tested nor scrutinized.

    Maybe, for C, depending on the use case, there may be other schemes that will let you address the proper subsets without needing to address each node individually.

    The simplest solution, however, if your throughput and timing constraints allow it, is to address each node individually. This way you will be able to address 10 nodes per second on average, or lower if you have message retransmits.

    Regards,
    Terje

  • Consider time limit,send message to each address is not very good for me,I will think about how to build a custom model.

    Many thanks for sharing

Related