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.
How to unprovision node using nRF Connect?Once node has been provisioned (by nRF Connect) I can't reset this node to see unprovisioned beacon.nRF Connect continue to see it as Mesh Proxy with network ID 0x00.Even after re-flashing with changed Light Switch example App.
Can I connect the mesh network to cloud using nrf cloud?
We don't have any example for connecting a Bluetooth mesh network to the cloud, it is not specified in the Bluetooth mesh specification, so this is something you would have to implement yourself.
You should be able to control Generic OnOff servers. If you are having problems I recommend you to add a questions in the Q&A section. Try to provide as much detail about what you are doing as possible.