nRF Mesh are open source libraries for building your own Android and iOS Bluetooth mesh apps. It is also the name of the apps demonstrating a subset of the capabilities of the libraries. Use them in test and verification during development, and to build prototypes. You can provision, configure and control Bluetooth mesh networks. We encourage you to use them as a starting point for your Bluetooth mesh app development.
Provisioning is the process of adding a device to a mesh network, allowing it the become a mesh node. The process includes authentication of the device, and providing it with the necessary provision data, like the network key.
Provisioning is performed over a provisioning bearer, either PB-ADV or PB-GATT. The provisioning bearers are simply two different ways of transporting provisioning messages. PB-ADV uses advertising, while the PB-GATT uses connections and GATT. nRF Mesh provisions over PB-GATT, as a GATT bearer client. This means that the device being provisioned must be a GATT bearer server, and it also must support the proxy role.
The device must advertise with the Mesh Provisioning Service UUID, nRF Mesh will scan for advertisements with this UUID. After connection, the Mesh Provisioning Service is used to do the provisioning.
nRF Mesh supports the following types of authentication:
Configure and control nodes
nRF Mesh offers a generic interface for configuring nodes as a configuration client. It can:
When it comes to node control, generic OnOff model is supported, but more models are planned.
The apps demonstrates the libraries
It is important to remember that the apps are just demonstrating the libraries, and a subset of the capabilities they have. So even though a feature is not visible in the app, it can still be supported by the library. And that real apps provided with end product would probably hide as much functionality as possible, automating the provisioning process.
Where to find it
The iOS app can be found on Apple App Store, and the library can be found on GitHub, here.
The Android app can be found on Google Play, and the library can be found on GitHub, here.
And as always, if you have feedback or any questions, please don’t hesitate to comment below.
Hi all, just to close this topic, on the new release 2.2.0 of the Mesh SDK we got the Generic_on_off model already, so now I was able to use the app (tested both android and iOS) to provision the light switch proxy examples for the nRF52 Dev boards. Thanks!
Hey, sorry for responding late... Here's the link where I found the issue. I just copied the things from the github in the header files to change it to generic. Here are the files I changed if you need... I didn't change the names, just the definitions...generic.zip
Thanks, when you say: "apps should be able to provision nodes with Simple OnOff client /server" do you mean that you have tried and you have being able to provision the SDK for Mesh light switch nodes with the app or you are assuming it...?
And glad you mention the Q&A section, I already did that https://devzone.nordicsemi.com/f/nordic-q-a/37254/ios-nrf-mesh-library-publishing-subscribing-configuration-and-firmware-version 27 days ago... still no answer So I am checking if there is anyone that has being able to provision the Dev boards with the app...
The apps should be able to provision nodes with the Simple OnOff client/server vendor models, but you will not be able to control servers from the app. You would need to use a node to act as the a client to do this. The app is only able to control Generic OnOff SIG server models. The Generic OnOff model was added in nRF5 SDK for Mesh 2.2.0, which was just released, so everything you need is available.
If you still have trouble I recommend you to add a question in the Q&A section.
Hey Jackes, So I got the Client "working" I think... (I can compile, flash and provision it with the app) but I am not being lucky with the server... and so, I cant be sure that the client is actually working either...
Is there a chance you could remember where you got that details? or maybe you can share the source code?