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 11to be tested together with a device capable of being provisioned. For 12example, one could use the sample in 13:zephyr_file:`samples/bluetooth/mesh` 14or :zephyr_file:`tests/bluetooth/mesh_shell`. 15 16The application provisions itself and loads the CDB with an application 17key, then waits to receive an Unprovisioned Beacon from a device. If the 18board has a push button connected via GPIO and configured using the 19``sw0`` :ref:`devicetree <dt-guide>` alias, the application then waits 20for the user to press the button, which will trigger provisioning using 21PB-ADV. If the board doesn't have the push button, the sample will 22provision detected devices automatically. Once provisioning is done, the 23node will be present in the CDB but not yet marked as configured. The 24application will notice the unconfigured node and start configuring it. 25If no errors are encountered, the node is marked as configured. 26 27The configuration of a node involves adding an application key, getting 28the composition data, and binding all its models to the application key. 29 30Requirements 31************ 32 33* A board with Bluetooth LE support, or 34* QEMU with BlueZ running on the host 35 36Building and Running 37******************** 38 39This sample can be found under 40:zephyr_file:`samples/bluetooth/mesh_provisioner` in the Zephyr tree. 41 42See :ref:`bluetooth samples section <bluetooth-samples>` for details on 43how to run the sample inside QEMU. 44 45For other boards, build and flash the application as follows: 46 47.. zephyr-app-commands:: 48 :zephyr-app: samples/bluetooth/mesh_provisioner 49 :board: <board> 50 :goals: flash 51 :compact: 52 53Refer to your :ref:`board's documentation <boards>` for alternative 54flash instructions if your board doesn't support the ``flash`` target. 55 56To run the application on an :ref:`nrf5340dk_nrf5340`, a Bluetooth controller application 57must also run on the network core. The :ref:`bluetooth-hci-rpmsg-sample` sample 58application may be used. Build this sample with configuration 59:zephyr_file:`samples/bluetooth/hci_rpmg/nrf5340_cpunet_bt_mesh-bt_ll_sw_split.conf` 60to enable mesh support. 61