Remote provisioning issue on nrf52840-DK

Hi All:

Good night!

We have 3 pcs of nrf52840-DK and would like to implement and test remote provision functionality with nrfsdk_17.0.2 and nrfsdk_mesh_5.0.

When compiling the codes of PB_remote client and server in the path of "Nordic nrf52xxx\nrf5_SDK_for_Mesh_v5.0.0_src\examples\pb_remote", there are some wrong error message as below.

Could anybody provide the method fixing the error message? Thanks your help.

Below is segger version for compiler

Best regards,

ShengHua

Parents
  • Good morning! Slight smile

    The unmodified example shouldn't give you this error. I guess you did some modifications? Is either MESH_FEATURE_GATT_PROXY_ENABLED or MESH_FEATURE_PB_GATT_ENABLED set to 1 in your nrf_mesh_config_core.h or nrf_mesh_config_prov.h respectively?

    If so, did you do that on purpose? If not, I guess you can revert them both back to 0. If you did intentionally set this, then you need to include some more files. Without having looked it up, you can refer to some of the examples already using this feature, such as the examples\light_switch\server, which sets the NRF_BLE_CONN_PARAMS_ENABLED to 1 in it's app_config.h.

    Best regards,

    Edvin

Reply
  • Good morning! Slight smile

    The unmodified example shouldn't give you this error. I guess you did some modifications? Is either MESH_FEATURE_GATT_PROXY_ENABLED or MESH_FEATURE_PB_GATT_ENABLED set to 1 in your nrf_mesh_config_core.h or nrf_mesh_config_prov.h respectively?

    If so, did you do that on purpose? If not, I guess you can revert them both back to 0. If you did intentionally set this, then you need to include some more files. Without having looked it up, you can refer to some of the examples already using this feature, such as the examples\light_switch\server, which sets the NRF_BLE_CONN_PARAMS_ENABLED to 1 in it's app_config.h.

    Best regards,

    Edvin

Children
  • Dear Edvin:

      Thanks your hintsand I redownload new MESH_SDK(nrf5sdkformeshv500src) and recompiling these codes successfully.

    After downloading pb_remote client codes in first 52840-DK(DK1) and server codes in another two 52840-DK(DK2/DK3),we do a simple remote pb test and the pb_remote client node provisioning the other server nodes. Below is the log during pb_remote process.

    //data log for server1 node is provisioned by client

    //data log for server2 node is provisioned by client

    Recently we have implemented the provisoning fuction in light switch client and server by nRF Mesh app of cell phone and can control the server led on/off by the switch button of client nodes and the app on/off button.

    For some application scenario,we hope that the pb_remote mothod can apply to the light switch client/server instead of the app of nrf mesh.

    Is it possible that every node can be a provisoner role and relay these provionee messages (ex. nodes address) to specific node(ex. end point).    
    If it possible, Which codes would we like to add or to modify to implement the function of pb-remote provison step by step in the light switch?

    Which document is available for pb-remote based on light switch or what any suggestion? 

    Thanks your help.

    Best Regards, Sheng-hua

  • In theory any device can be the provisioner, and even several devices, but it is up to you to make sure that all the provisioners have the same, updated provisioning data, so that e.g. two devices are not given the same address, for example. 

    I am not sure I understand your question, but is what you want to do to move the provisioning from the app to a node? I see that you write "every node". I don't think that is feasible. But I believe it is possible to have the provisioner also be a light switch. Exactly how to do it I don't remember. It has been a few years since I worked with Bluetooth Mesh. What you want to do is to add the on/off model to the provisioner, and bind it to the same channel as the light bulbs are bound to.

    Best regards,

    Edvin

  • Dear Edvin:

    Thanks your support.We hope to assign specific node (N1)to be a provisioner during provisioning process.

    For some scenario, the Node N1 can't find all other nodes due to beacon signal is out of range.  So We need another node(N2,N3) to implement provisioning in the range of beacon and relay these provisioning data to N1.

    Below is application scenario for provisioning.

    Provisioning flow for PB-remote in Light switch

    -Node1 provisioning Node2 & Node3

    -Node2 provisioning Node4 & Node5 and send provisioning data to Node1

    -Node3 provisioning Node6 & Node7 and send provisioning data to Node1

    Data collection

    -Node1 transfer all send provisioning data(ex .all nodes unicast address) to MCU via UART

    Is the idea is feasible?  what else suggestion is better? 

     

    Best Regards,

    sheng-hua

  • Hello Sheng-hua,

    Unfortunately, this will not work out of the box. The node needs to be in range of the provisioner. I believe that the "normal" way to do this is to have a portable provisioner. 

    Perhaps one of the blog posts from this site can help you get started, at least with some theory on provisioning:

     Mesh Networks 

    Best regards,

    Edvin

  • Dear Edvin:

    Thanks your help.

    Best Regards,

    Sheng-Hua

Related