How to relay message from one node to other in mesh network


I have 3 of nRF52840 boards, SDK V2.2.0 and nRF SDK V15.0.0.

I already tested the light switch control example, and saw it working with one client and 2 servers and all the 2 servers within the client's range.

Now my question is,

1) How can i relay the message to node not in range?

2) For relay what changes are needed in code?

3) Can i use nRF mesh app to control set/reset?

No Data
  • 1) This should be done automatically if relaying is enabled on the node you want to relay from.

    2) Take a look at this code here, which shows the different code for setting the relay state:

    /** Values for the relay state. */
    typedef enum
        CONFIG_RELAY_STATE_SUPPORTED_DISABLED = 0x00, /**< Relaying is supported, but disabled. */
        CONFIG_RELAY_STATE_SUPPORTED_ENABLED  = 0x01, /**< Relaying is supported and enabled. */
        CONFIG_RELAY_STATE_UNSUPPORTED        = 0x02  /**< Relaying is not supported. */
    } config_relay_state_t;

    Also take a look at send_relay_status() & handle_config_relay_set(). I believe the FW automatically sets the relay status to enabled.

    3) No, you cannot set/reset the relay status via the nRF Mesh app at the moment.