1.. _ble_mesh:
2
3Bluetooth: Mesh
4###############
5
6Overview
7********
8
9This sample demonstrates Bluetooth mesh functionality. It has several
10standard mesh models, and supports provisioning over both the
11Advertising and the GATT Provisioning Bearers (i.e. PB-ADV and PB-GATT).
12The application also needs a functioning serial console, since that's
13used for the Out-of-Band provisioning procedure.
14
15On boards with LEDs, a Generic OnOff Server model exposes functionality for
16controlling the first LED on the board over the mesh.
17
18On boards with buttons, a Generic OnOff Client model will send Onoff messages
19to all nodes in the network when the button is pressed.
20
21Requirements
22************
23
24* A board with Bluetooth LE support, or
25* QEMU with BlueZ running on the host
26
27Building and Running
28********************
29
30This sample can be found under :zephyr_file:`samples/bluetooth/mesh` in the
31Zephyr tree.
32
33See :ref:`bluetooth samples section <bluetooth-samples>` for details on how
34to run the sample inside QEMU.
35
36For other boards, build and flash the application as follows:
37
38.. zephyr-app-commands::
39   :zephyr-app: samples/bluetooth/mesh
40   :board: <board>
41   :goals: flash
42   :compact:
43
44Refer to your :ref:`board's documentation <boards>` for alternative
45flash instructions if your board doesn't support the ``flash`` target.
46
47Interacting with the sample
48***************************
49
50The sample can either be provisioned into an existing mesh network with an
51external provisioner device, or self-provision through a button press.
52
53When provisioning with a provisioner device, the provisioner must give the
54device an Application key and bind it to both Generic OnOff models.
55
56When self-provisioning, the device will take a random unicast address and
57bind a dummy Application key to these models.
58
59Once provisioned, messages to the Generic OnOff Server will be used to turn
60the LED on or off, and button presses will be used to broadcast OnOff
61messages to all nodes in the same network.
62