RELAY FEATURE enabled in LPN with nrf5 sdk for mesh

Hi,

I have developed our application on top of LPN example available in nRf5 SDK for mesh with nRf52832 as the SoC for which the application is developed. If we enable the PB-ADV bearer, the current consumption increases. But is it possible for a mesh node to relay an incoming message if it is working only over PB-GATT and PB-ADV disabled? 

And how does relay enabling and disabling with help of a config client works? These options are available (screenshot attached below) and I am wondering whether it is possible to enable or disable the relay feature of a mesh node in run time using a config client. 

  

Parents
  • Hi Hariharan, 

    Both PB-ADV and relay feature are not available with the LPN node. 
    LPN node is designed to work on a battery powered device. And on a battery powered device you should avoid activities that requires the radio constantly on. 

    So LPN node only supports PB-GATT (provisioning via GATT - phone) and can only be a end node, not a relay node. 

    Please be aware that PB-ADV has nothing to do with relaying. PB means provisioning bearer, it only for provisioning, not for mesh activity. 

    Please give more information on the application you are making, how the node should be powered. 

  • Hi Hung Bui,

    My LPN has two ways with which it can be powered. One is through Battery and the other through AC mains. Power source is switched using a switch. We can determine the power source in runtime tthrough the application.

    So a LPN node cannot act as a relay node is your conclusion? Can't LPN node relay the incoming messages even when we enable "MESH_FEATURE_RELAY_ENABLED" in "nrf_mesh_config_core.h"? If yes, does it increase current consumption and how can I decrease it?.  If no, how can I enable the relaying in my LPN node (atleast when it is powered through AC mains)?

  • Hi Hariharan, 

    No, MESH_FEATURE_RELAY_ENABLED is only applied for normal mesh node. 
    The LPN works in completely different way than a normal mesh node. (Please read the specification about LPN node) 

    It requires a friend node to cache message for it and most of the time it would just sleep. 

    If you want to have the option to run the node as normal mesh node (relay node) when on AC mains and switch to low power mode when on battery you should consider base the node as normal mesh node instead. When you want to switch to battery powered mode, you can just put the normal mesh node to sleep. And it only wake up to transmit data when needed. The drawback for this solution is that when you want to send some data to the node, the node may be sleeping and will not response. There is no mechanism to cache the message like what the friend node does. 

    However, you can setting of a polling system, when the sleeping node wake up it can send a message to a "friend" or server node and the node can send the data to the sleeping node. It's basically a proprietary friend node that you need to implement. 

  • How do I consider the base node as normal mesh node? Are you suggesting to build my application on top of examples other than LPN provided in nrf5 sdk for mesh?

  • Hi Hariharan, 

    Yes, correct. The LPN can not be used as a relay node. It can not switch to normal mode when needed. 
    The better option is to base your application on top of other examples. Then you can make a mode in the example to stop doing mesh and enter sleeping mode to save power. 

Reply Children
No Data
Related