zephyr/samples/bluetooth/mesh_provisioner
Torsten Rasmussen 407b49b35c cmake: use find_package to locate Zephyr
Using find_package to locate Zephyr.

Old behavior was to use $ENV{ZEPHYR_BASE} for inclusion of boiler plate
code.

Whenever an automatic run of CMake happend by the build system / IDE
then it was required that ZEPHYR_BASE was defined.
Using ZEPHYR_BASE only to locate the Zephyr package allows CMake to
cache the base variable and thus allowing subsequent invocation even
if ZEPHYR_BASE is not set in the environment.

It also removes the risk of strange build results if a user switchs
between different Zephyr based project folders and forgetting to reset
ZEPHYR_BASE before running ninja / make.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2020-03-27 16:23:46 +01:00
..
src
CMakeLists.txt
README.rst
prj.conf
sample.yaml

README.rst

.. _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 that support the Health Server model. For
example, one could use the sample in :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, binding the
Health Server model to that application key and then configuring the model to
publish Health Status every 10 seconds.

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.