1.. _ble_mesh_provisioner: 2 3Bluetooth: Mesh Provisioner 4########################### 5 6Overview 7******** 8 9This sample demonstrates how to use the Bluetooth mesh APIs related to 10provisioning and using the Configuration Database (CDB). It is intended to be 11tested together with a device capable of being provisioned. For 12example, one could use the sample in :zephyr_file:`samples/bluetooth/mesh` or 13:zephyr_file:`tests/bluetooth/mesh_shell`. 14 15The application provisions itself and loads the CDB with an application key. 16It then waits to receive an Unprovisioned Beacon from a device which will 17trigger provisioning using PB-ADV. Once provisioning is done, the node will 18be present in the CDB but not yet marked as configured. The application will 19notice the unconfigured node and start configuring it. If no errors are 20encountered, the node is marked as configured. 21 22The configuration of a node involves adding an application key, getting the 23composition data, and binding all its models to the application key. 24 25Please note that this sample uses the CDB API which is currently marked as 26EXPERIMENTAL and is likely to change. 27 28Requirements 29************ 30 31* A board with Bluetooth LE support, or 32* QEMU with BlueZ running on the host 33 34Building and Running 35******************** 36 37This sample can be found under :zephyr_file:`samples/bluetooth/mesh_provisioner` 38in the Zephyr tree. 39 40See :ref:`bluetooth samples section <bluetooth-samples>` for details on how 41to run the sample inside QEMU. 42 43For other boards, build and flash the application as follows: 44 45.. zephyr-app-commands:: 46 :zephyr-app: samples/bluetooth/mesh_provisioner 47 :board: <board> 48 :goals: flash 49 :compact: 50 51Refer to your :ref:`board's documentation <boards>` for alternative 52flash instructions if your board doesn't support the ``flash`` target. 53