| .. _ble_mesh_provisioner: |
| |
| Bluetooth: Mesh Provisioner |
| ########################### |
| |
| Overview |
| ******** |
| |
| This sample demonstrates how to use the Bluetooth mesh APIs related to |
| provisioning and using the Configuration Database (CDB). It is intended to be |
| tested together with a device capable of being provisioned. For |
| example, one could use the sample in :zephyr_file:`samples/bluetooth/mesh` or |
| :zephyr_file:`tests/bluetooth/mesh_shell`. |
| |
| The application provisions itself and loads the CDB with an application key. |
| It then waits to receive an Unprovisioned Beacon from a device which will |
| trigger provisioning using PB-ADV. Once provisioning is done, the node will |
| be present in the CDB but not yet marked as configured. The application will |
| notice the unconfigured node and start configuring it. If no errors are |
| encountered, the node is marked as configured. |
| |
| The configuration of a node involves adding an application key, getting the |
| composition data, and binding all its models to the application key. |
| |
| Please note that this sample uses the CDB API which is currently marked as |
| EXPERIMENTAL and is likely to change. |
| |
| Requirements |
| ************ |
| |
| * A board with Bluetooth LE support, or |
| * QEMU with BlueZ running on the host |
| |
| Building and Running |
| ******************** |
| |
| This sample can be found under :zephyr_file:`samples/bluetooth/mesh_provisioner` |
| in the Zephyr tree. |
| |
| See :ref:`bluetooth samples section <bluetooth-samples>` for details on how |
| to run the sample inside QEMU. |
| |
| For other boards, build and flash the application as follows: |
| |
| .. zephyr-app-commands:: |
| :zephyr-app: samples/bluetooth/mesh_provisioner |
| :board: <board> |
| :goals: flash |
| :compact: |
| |
| Refer to your :ref:`board's documentation <boards>` for alternative |
| flash instructions if your board doesn't support the ``flash`` target. |