Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Tutorial request - Proxy Service and BLE service merging

Hi all,

I have a hard time to merge Mesh Proxy Service and Nordic UART service. I am working with mesh SDK v. 3.1.0 and nRF5 SDK v. 15.2, coexistence example ble_app_uart_coexist. I have read all the posts here in the DevZone about this problematic. I know about the fact, that first step is provisioning using Mesh Provisioning Service (if I dont use PB-ADV bearer) -> restarting mesh stack and softdevice because in this moment is not supported removing of the service (only adding) -> after restarting adding Mesh Proxy service (proxy_init() function) ->  now the configuration phase  -> provisioning and configuration done -> now you can communicate with the models and sending messages to turn On/Off lights or whatever, depending on the models implemented. Also aware of the fact, that in the nRF5 SDK v.15.2 is supported only one advertising set -> the need to dynamically change the advertising set. Also knowing this all, it is pretty complicated to accomplish merging of these services and coexistence with mesh. I want to ask if you release such a tutorial, how to make the coexistence of the proxy service and some another ble service. I think, it would be interest in that. But it is up to you or if it is necessary for the other Nordic users. 

  • Hello,

    I can understand that it is not straight forward to do what you request, but currently we don't have a tutorial doing exactly this, but unfortunately, it would be difficult to create and maintain all possible combinations of BLE services with Mesh.

    The uart coexistence example in the mesh SDK does pretty much what you describe. You can use the provisioner from the mesh SDK to provision this. You can also connect using the uart part of nRF Toolbox.

    You can not provision the uart coexistence example using the nRF Mesh app, because it is looking for a specific advertisement UUID (the provisioning/proxy UUID) when it is scanning. If you add the proxy service, and change the advertising UUID to use the proxy UUID (like the light_switch client does), then you could connect to it using the nRF Mesh app. However, the UART module in nRF Toolbox is looking for the Nordic UART Service (NUS) in the advertisements, and filtering out everything else. But you can still connect with the nRF Connect for mobile app. 

    So you can either provision with the provisioner from the light_switch\provisioner example, or change the coexistence project to use the proxy advertisement UUID to provision it via the nRF Mesh app. Note that once it is provisioned, this data is stored in flash, so it will not be removed until you erase the entire chip.

    Best regards,

    Edvin

Related