This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to disable safely the repeat / relay for certain nodes in a Bluteooth mesh network ?

Hi !

My goal is to create a large mesh network (over 100 nodes).

I plan to have 3 kind of nodes : a client (connected to a PC), several server relay nodes (not on battery), many server node (on battery, I will call them low power, even though the true low power nodes are not yet available with the SDK).

At this point I would like to enable only certain nodes to repeat/relay packets from the "low-power" nodes, in order to avoid a massive flood of the network and to save power.

How can I (safely) disable the relay/repeat feature for certain nodes ?

Thank!

  • hello Pseudoincorrect,

    The Bluetooth Mesh specification allows for the features (Relay, Proxy, Friend etc.) of a mesh node to be dynamically set (enabled/disabled) via use of the Configuration Client and (mandatory) Server models.

    Within the Nordic Mesh SDK, the config_client_relay_set() function should allow you to achieve your requirement. There aren't any examples in the Mesh v1.0.1 SDK but taking a look at the unit test cases should help you progress. We're working on something similar so if you get stuck, comment back and we can try to help you further.

    Regards,

  • Thanks a lot Leonwj,

    I will then use the client model instead of the server one for the relays nodes !

  • No problem, but don't forget the mesh spec enforces all mesh nodes to support the Configuration Server model (it's mandatory), so each node when it receives a *_relay_set() or *_relay_get() message from a Configuration Client (typically this config client functionality will be coded into a Provisioner or Network management type node) will either enable/disable relay functionality or report back its status (I'm not sure if it can report back that the feature is unsupported on that node).

    Note that you can also set a nodes ttl and retransmission values in the same message call to further optimize/control overall network message delivery across the entire mesh network.

    Regards,

Related