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

ble mesh

HI ,

We use official hardware and software to develop mesh products. Taking light_server as an example, the test is as follows:
Hardware:
nRF52840-DK
Software:
nrf5_SDK_for_Mesh_v4.1.0_src
nRF5_SDK_16.0.0_98a08e2

In the process of debugging the example in the SDK with the nrf mesh app (android), taking nrf5_SDK_for_Mesh_v4.1.1_src\examples\light_switch\server as an example, it was found that after the first programming process (first use nrf-connect to erase the whole piece During burning), use the app to scan the device (the device is not configured to access the network), the device can be scanned, but it cannot be scanned quickly (the time is a little longer, it is not acceptable). When the mesh app interacts with the device to connect to the network, sometimes the network connection is unsuccessful (unacceptable), and even after scanning the device, after the invitation to connect to the network, the mesh app does not display the device after the success (unacceptable). After the device is connected to the network normally, open the proxy, the mesh app is disconnected from the device, and when it is connected again (the device is configured to connect to the network), it cannot be quickly scanned to the device (unacceptable). And sometimes when operating in the mesh app, you will suddenly find that the device and the mesh app have been disconnected and cannot be searched (unacceptable). After burning the program again, the device cannot be scanned with the mesh app, you need to press button4 to reset it, and then the above unacceptable phenomenon will be repeated, and the experience is very poor.

Application scenarios for developing products: street lights with a height of 30m on the street can’t accept the long-term scan of the mesh terminal, nor can they accept the mesh app display.After adding the node successfully, the app does not display the device and cannot accept the need to press button4 to reset the node every time the above situation occurs. The above test description, whether Really exist in Nordic's ble mesh? How to solve the above problems?

Parents
  • Hi Zhao, 

    Could you give an example of how long it would take to scan and connect to the device ? 
    There could be a chance that the phone doesn't do scanning very often, increasing the time it take to establish a connection. 

    You can reduce the advertising interval , to make the mesh node advertise more often. This will improve the time it take to get connected. However the draw back is that it will affect the mesh performance (because the radio can't do two things at a time)

    To increase the rate of advertising packet you can modify the following configuration in nrf_mesh_config_core.h: 

    - MESH_GATT_PROXY_NETWORK_ID_ADV_INT_MS : this is by default set at 2 seconds. Please try to test changing it down to 200 ms or 500ms. 

    - NRF_MESH_PROV_BEARER_GATT_UNPROV_BEACON_INTERVAL_MS: this is the advertising before the node provisioned to the network. By default it's 200ms, you can try to change it down to 100ms 

    - MESH_GATT_PROXY_NODE_IDENTITY_ADV_INT_MS: this is the advertising right after provisioning, before configuration. By default it's 200ms, but you can reduce it to 100ms or less. 

    When you flash the application again, you have to make sure you do erase all before you flash the application. Otherwise the flash manager can be confused. 

Reply
  • Hi Zhao, 

    Could you give an example of how long it would take to scan and connect to the device ? 
    There could be a chance that the phone doesn't do scanning very often, increasing the time it take to establish a connection. 

    You can reduce the advertising interval , to make the mesh node advertise more often. This will improve the time it take to get connected. However the draw back is that it will affect the mesh performance (because the radio can't do two things at a time)

    To increase the rate of advertising packet you can modify the following configuration in nrf_mesh_config_core.h: 

    - MESH_GATT_PROXY_NETWORK_ID_ADV_INT_MS : this is by default set at 2 seconds. Please try to test changing it down to 200 ms or 500ms. 

    - NRF_MESH_PROV_BEARER_GATT_UNPROV_BEACON_INTERVAL_MS: this is the advertising before the node provisioned to the network. By default it's 200ms, you can try to change it down to 100ms 

    - MESH_GATT_PROXY_NODE_IDENTITY_ADV_INT_MS: this is the advertising right after provisioning, before configuration. By default it's 200ms, but you can reduce it to 100ms or less. 

    When you flash the application again, you have to make sure you do erase all before you flash the application. Otherwise the flash manager can be confused. 

Children
No Data
Related