1ESP-BLE-MESH
2============
3
4With various features of ESP-BLE-MESH, users can create a managed flooding mesh network for several
5scenarios, such as lighting, sensor and etc.
6
7For an ESP32 to join and work on a ESP-BLE-MESH network, it must be provisioned firstly. By provisioning,
8the ESP32, as an unprovisioned device, will join the ESP-BLE-MESH network and become a ESP-BLE-MESH node,
9communicating with other nodes within or beyond the radio range.
10
11Apart from ESP-BLE-MESH nodes, inside ESP-BLE-MESH network, there is also ESP32 that works as ESP-BLE-MESH
12Provisioner, which could provision unprovisioned devices into ESP-BLE-MESH nodes and configure the nodes
13with various features.
14
15For information how to start using ESP32 and ESP-BLE-MESH, please see the Section :ref:`getting-started-with-ble-mesh`. If you are interested in information on ESP-BLE-MESH architecture, including some details of software implementation, please see Section :doc:`../../api-guides/esp-ble-mesh/ble-mesh-architecture`.
16
17
18Application Examples and Demos
19------------------------------
20
21Please refer to Sections :ref:`esp-ble-mesh-examples` and :ref:`esp-ble-mesh-demo-videos`.
22
23
24API Reference
25-------------
26
27ESP-BLE-MESH APIs are divided into the following parts:
28
29* `ESP-BLE-MESH Definitions`_
30* `ESP-BLE-MESH Core API Reference`_
31* `ESP-BLE-MESH Models API Reference`_
32
33
34ESP-BLE-MESH Definitions
35------------------------
36
37This section contains only one header file, which lists the following items of ESP-BLE-MESH.
38
39* ID of all the models and related message opcodes
40* Structs of model, element and Composition Data
41* Structs of used by ESP-BLE-MESH Node/Provisioner for provisioning
42* Structs used to transmit/receive messages
43* Event types and related event parameters
44
45.. include-build-file:: inc/esp_ble_mesh_defs.inc
46
47
48ESP-BLE-MESH Core API Reference
49-------------------------------
50
51This section contains ESP-BLE-MESH Core related APIs, which can be used to initialize ESP-BLE-MESH
52stack, provision, send/publish messages, etc.
53
54This API reference covers six components:
55
56* `ESP-BLE-MESH Stack Initialization`_
57* `Reading of Local Data Information`_
58* `Low Power Operation (Updating)`_
59* `Send/Publish Messages, add Local AppKey, etc.`_
60* `ESP-BLE-MESH Node/Provisioner Provisioning`_
61* `ESP-BLE-MESH GATT Proxy Server`_
62
63
64ESP-BLE-MESH Stack Initialization
65^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
66
67.. include-build-file:: inc/esp_ble_mesh_common_api.inc
68
69
70Reading of Local Data Information
71^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
72
73.. include-build-file:: inc/esp_ble_mesh_local_data_operation_api.inc
74
75
76Low Power Operation (Updating)
77^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
78
79.. include-build-file:: inc/esp_ble_mesh_low_power_api.inc
80
81
82Send/Publish Messages, add Local AppKey, etc.
83^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
84
85.. include-build-file:: inc/esp_ble_mesh_networking_api.inc
86
87
88ESP-BLE-MESH Node/Provisioner Provisioning
89^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
90
91.. include-build-file:: inc/esp_ble_mesh_provisioning_api.inc
92
93
94ESP-BLE-MESH GATT Proxy Server
95^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96
97.. include-build-file:: inc/esp_ble_mesh_proxy_api.inc
98
99
100ESP-BLE-MESH Models API Reference
101---------------------------------
102
103This section contains ESP-BLE-MESH Model related APIs, event types, event parameters, etc.
104
105There are six categories of models:
106
107* `Configuration Client/Server Models`_
108* `Health Client/Server Models`_
109* `Generic Client/Server Models`_
110* `Sensor Client/Server Models`_
111* `Time and Scenes Client/Server Models`_
112* `Lighting Client/Server Models`_
113
114
115.. note::
116
117    Definitions related to Server Models are being updated, and will be released soon.
118
119
120Configuration Client/Server Models
121^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
122
123.. include-build-file:: inc/esp_ble_mesh_config_model_api.inc
124
125
126Health Client/Server Models
127^^^^^^^^^^^^^^^^^^^^^^^^^^^
128
129.. include-build-file:: inc/esp_ble_mesh_health_model_api.inc
130
131
132Generic Client/Server Models
133^^^^^^^^^^^^^^^^^^^^^^^^^^^^
134
135.. include-build-file:: inc/esp_ble_mesh_generic_model_api.inc
136
137
138Sensor Client/Server Models
139^^^^^^^^^^^^^^^^^^^^^^^^^^^
140
141.. include-build-file:: inc/esp_ble_mesh_sensor_model_api.inc
142
143
144Time and Scenes Client/Server Models
145^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
146
147.. include-build-file:: inc/esp_ble_mesh_time_scene_model_api.inc
148
149
150Lighting Client/Server Models
151^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
152
153.. include-build-file:: inc/esp_ble_mesh_lighting_model_api.inc
154
155