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

(MESH)Add more relaying node in mesh network, There is a great probability of failure in communication.

Board: custom board; Mesh SDK: V1.0.0; Softdevice: S132_5.0.0; IDE: SEGGER Embedded; BLE: nrf52832

When I test the example “Interactive PyACI”, I need one node(A) send message to  another node(B) by relay node(C、D、E).

And for solving the limit of server device quantity, I change this define "#define DSM_DEVICE_MAX   (10)" in nrf_mesh_config_app.h.

1.One relay node(A-->C-->B): the rate of packet loss is 4%.

2.Two relay node(A-->C-->D-->B): the rate of packet loss is 8%.

3.Three relay node(A-->C-->D-->E-->B): the rate of packet loss is 52%.

//Node A is in range of node C, node C is in range of node D, node D is in range of node E, node E is in range of node B, but node B is not in range of node A.

so, the rate of packet loss has a precipitous decline,i think that is unnomrol.

Is there any place to change for add more devices in mesh network?

And  when adding three relay node between node A and B, There is a great probability of failure in relay node, for making they relay the message countine we must reboot the relay node.

Parents Reply Children
  • /** Device company identifier. */
    #define DEVICE_COMPANY_ID (ACCESS_COMPANY_ID_NONE)
    
    /** Device product identifier*/
    #define DEVICE_PRODUCT_ID (0x0000)
    
    /** Device version identifier */
    #define DEVICE_VERSION_ID (0x0000)
    
    /** Supported features of the device. @see config_feature_bit_t */
    #define DEVICE_FEATURES (CONFIG_FEATURE_RELAY_BIT)
    
    /** @} end of DEVICE_CONFIG */
    
    /**
     * @defgroup APP_ACCESS_CONFIG Access layer configuration
     * @{
     */
    
    /**
     * The default TTL value for the node.
     */
    #define ACCESS_DEFAULT_TTL (4)
    
    /**
     * The number of models in the application.
     *
     * @note This value has to be greater than one to fit the configuration model plus the number of
     * models needed by the application.
     */
    #define ACCESS_MODEL_COUNT (1)
    
    /**
     * The number of elements in the application.
     *
     * @info This value has to be greater than two to fit the configuration and health models,
     * plus the number of models needed by the application.
     *
     * @warning If the application is to support multiple _instances_ of the _same_ model, they cannot
     * belong in the same element and a separate element is needed for the new instance.
     */
    #define ACCESS_ELEMENT_COUNT (2)
    
    /**
     * The number of allocated subscription lists for the application.
     *
     * @note The application should set this number to @ref ACCESS_MODEL_COUNT minus the number of
     * models operating on shared states.
     */
    #define ACCESS_SUBSCRIPTION_LIST_COUNT (ACCESS_MODEL_COUNT)
    
    /**
     * The number of pages of flash storage reserved for the access layer for persistent data storage.
     */
    #define ACCESS_FLASH_PAGE_COUNT (1)
    
    /**
     * @defgroup ACCESS_RELIABLE_CONFIG Access reliable transfer configuration
     * @{
     */
    
    /** Number of allowed parallel transfers (size of internal context pool). */
    #define ACCESS_RELIABLE_TRANSFER_COUNT (ACCESS_MODEL_COUNT)
    
    /** @} end of ACCESS_RELIABLE_CONFIG */
    
    
    /** @} end of ACCESS_CONFIG */
    
    
    /**
     * @defgroup DSM_CONFIG Device State Manager configuration
     * Sizes for the internal storage of the Device State Manager.
     * @{
     */
    /** Maximum number of subnetworks. */
    #define DSM_SUBNET_MAX                                  (4)
    /** Maximum number of applications */
    #define DSM_APP_MAX                                     (8)
    /** Maximum number of device keys */
    #define DSM_DEVICE_MAX                                  (10)
    /** Maximum number of virtual addresses. */
    #define DSM_VIRTUAL_ADDR_MAX                            (8)
    /** Maximum number of non-virtual addresses. */
    #define DSM_NONVIRTUAL_ADDR_MAX                         (16)
    /** Number of flash pages reserved for the DSM storage */
    #define DSM_FLASH_PAGE_COUNT                            (1)
    /** @} end of DSM_CONFIG */
    

    This is my nrf_mesh_config_app.h , and if I want to add 6 nodes in a subnet, how can I modify the configuration.

Related