Skip to content

Latest commit

 

History

History

mesh_provisioner

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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, then waits to receive an Unprovisioned Beacon from a device. If the board has a push button connected via GPIO and configured using the sw0 :ref:`devicetree <dt-guide>` alias, the application then waits for the user to press the button, which will trigger provisioning using PB-ADV. If the board doesn't have the push button, the sample will provision detected devices automatically. 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.

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.