diff --git a/docs/_static/esp-ble-mesh-architecture.png b/docs/_static/esp-ble-mesh-architecture.png index 79e55d9be..a3ad4e8c4 100644 Binary files a/docs/_static/esp-ble-mesh-architecture.png and b/docs/_static/esp-ble-mesh-architecture.png differ diff --git a/docs/_static/esp-ble-mesh-architecture.xml b/docs/_static/esp-ble-mesh-architecture.xml index 527131e6b..7897a6793 100644 --- a/docs/_static/esp-ble-mesh-architecture.xml +++ b/docs/_static/esp-ble-mesh-architecture.xml @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/en/api-guides/esp-ble-mesh/ble-mesh-architecture.rst b/docs/en/api-guides/esp-ble-mesh/ble-mesh-architecture.rst index 53f5563f6..fdeb5f410 100644 --- a/docs/en/api-guides/esp-ble-mesh/ble-mesh-architecture.rst +++ b/docs/en/api-guides/esp-ble-mesh/ble-mesh-architecture.rst @@ -308,6 +308,14 @@ Mesh Models are used to implement the specific functions of model in nodes. Serv - Send ESP-BLE-MESH Sensor Client messages and receive corresponding response messages * - :component_file:`time_scene_client.c ` - Send ESP-BLE-MESH Time Scene Client messages and receive corresponding response messages + * - :component_file:`generic_server.c ` + - Receive ESP-BLE-MESH Generic Client messages and send corresponding response messages + * - :component_file:`lighting_server.c ` + - Receive ESP-BLE-MESH Lighting Client messages and send corresponding response messages + * - :component_file:`sensor_server.c ` + - Receive ESP-BLE-MESH Sensor Client messages and send corresponding response messages + * - :component_file:`time_scene_server.c ` + - Receive ESP-BLE-MESH Time Scene Client messages and send corresponding response messages 2.2 Mesh Bearers Implementation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/en/api-guides/esp-ble-mesh/ble-mesh-feature-list.rst b/docs/en/api-guides/esp-ble-mesh/ble-mesh-feature-list.rst index 84955793b..12a35edff 100644 --- a/docs/en/api-guides/esp-ble-mesh/ble-mesh-feature-list.rst +++ b/docs/en/api-guides/esp-ble-mesh/ble-mesh-feature-list.rst @@ -1,5 +1,5 @@ -Espressif ESP-BLE-MESH Feature List -=================================== +ESP-BLE-MESH Feature List +========================= Supported Features ------------------ @@ -22,7 +22,8 @@ Mesh Core * IV Update Procedure * Friend * Low Power - * Proxy + * Proxy Server + * Proxy Client * Multiple Client Models Run Simultaneously * Support multiple client models send packets to different nodes simultaneously @@ -34,13 +35,13 @@ Mesh Core Mesh Models """"""""""" -* Foundation Models - * Configuration Server Model - * Configuration Client Model - * Health Server Model - * Health Client Model +* Foundation models + * Configuration Server model + * Configuration Client model + * Health Server model + * Health Client model -* Generic Client Models +* Generic client models * Generic OnOff Client * Generic Level Client * Generic Default Transition Time Client @@ -50,43 +51,81 @@ Mesh Models * Generic Location Client * Generic Property Client -* Sensor Client Models +* Sensor client models * Sensor Client -* Time and Scenes Client Models +* Time and Scenes client models * Time Client * Scene Client * Scheduler Client -* Lighting Client Models +* Lighting client models * Light Lightness Client * Light CTL Client * Light HSL Client * Light xyL Client - * Light LC Client + * Light LC Client -* Generic Server Models - * Generic OnOff Server (Simple) +* Generic server models + * Generic OnOff Server + * Generic Level Server + * Generic Default Transition Time Server + * Generic Power OnOff Server + * Generic Power OnOff Setup Server + * Generic Power Level Server + * Generic Power Level Setup Server + * Generic Battery Server + * Generic Location Server + * Generic Location Setup Server + * Generic User Property Server + * Generic Admin Property Server + * Generic Manufacturer Property Server + * Generic Client Property Server + +* Sensor server models + * Sensor Server + * Sensor Setup Server + +* Time and Scenes server models + * Time Server + * Time Setup Server + * Scene Server + * Scene Setup Server + * Scheduler Server + * Scheduler Setup Server + +* Lighting server models + * Light Lightness Server + * Light Lightness Setup Server + * Light CTL Server + * Light CTL Temperature Server + * Light CTL Setup Server + * Light HSL Server + * Light HSL Hue Server + * Light HSL Saturation Server + * Light HSL Setup Server + * Light xyL Server + * Light xyL Setup Server + * Light LC Server + * Light LC Setup Server Mesh Applications """"""""""""""""" * ESP-BLE-MESH Node - * :example:`Tutorial ` + * :example:`Tutorial ` + * :example:`Tutorial ` * :example:`Example ` -* ESP-BLE-MESH Node with client model - * :example:`Tutorial ` - * :example:`Example ` * ESP-BLE-MESH Provisioner - * :example:`Tutorial ` + * :example:`Tutorial ` * :example:`Example ` * ESP-BLE-MESH Fast Provisioning - * :example:`Fast Provisioning Client Model Tutorial ` - * :example:`Fast Provisioning Server Model Tutorial ` + * :example:`Fast Provisioning Client Model Tutorial ` + * :example:`Fast Provisioning Server Model Tutorial ` * :example:`Example ` * `Demo Video `__ * ESP-BLE-MESH and Wi-Fi Coexistence - * :example:`Tutorial ` + * :example:`Tutorial ` * :example:`Example ` * `Demo Video `__ * ESP-BLE-MESH Console Commands @@ -99,15 +138,7 @@ Future Release Features Mesh Core """"""""" -* Proxy Client - -Mesh Models -""""""""""" - -* Generic Server Models -* Sensor Server Models -* Time and Scenes Server Models -* Lighting Server Models +* Provisioner NVS Storage Mesh Applications """"""""""""""""" diff --git a/docs/en/api-guides/esp-ble-mesh/ble-mesh-index.rst b/docs/en/api-guides/esp-ble-mesh/ble-mesh-index.rst index 33f9736eb..dbda97e83 100644 --- a/docs/en/api-guides/esp-ble-mesh/ble-mesh-index.rst +++ b/docs/en/api-guides/esp-ble-mesh/ble-mesh-index.rst @@ -2,13 +2,13 @@ ESP-BLE-MESH ************ -Bluetooth mesh networking enables many-to-many (m:m) device communications and is optimized for creating large-scale device networks. +Bluetooth® mesh networking enables many-to-many (m:m) device communications and is optimized for creating large-scale device networks. Devices may relay data to other devices not in direct radio range of the originating device. In this way, mesh networks can span very large physical areas and contain large numbers of devices. It is ideally suited for building automation, sensor networks, and other IoT solutions where tens, hundreds, or thousands of devices need to reliably and securely communicate with one another. Bluetooth mesh is not a wireless communications technology, but a networking technology. This technology is dependent upon Bluetooth Low Energy (BLE) - a wireless communications protocol stack. -Built on top of Zephyr ESP-BLE-MESH stack, the ESP-BLE-MESH implementation supports device provisioning and node control. It also supports such node features as Proxy, Relay, Low power and Friend. +Built on top of Zephyr Bluetooth Mesh stack, the ESP-BLE-MESH implementation supports device provisioning and node control. It also supports such node features as Proxy, Relay, Low power and Friend. Please see the :doc:`ble-mesh-architecture` for information about the implementation of ESP-BLE-MESH architecture and :doc:`ESP-BLE-MESH API Reference <../../api-reference/bluetooth/esp-ble-mesh>` for information about respective API. @@ -43,7 +43,7 @@ Hardware: Software: -* Example application :example:`bluetooth/esp_ble_mesh/ble_mesh_node` code to load to the ESP32 boards. +* Example application :example:`bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server` code to load to the ESP32 boards. * Mobile App: **nRF Mesh** for Android or iOS. Optionally you can use some other Apps: - `EspBleMesh `_ Android App @@ -70,12 +70,12 @@ Both `ESP32-DevKitC`_ and `ESP-WROVER-KIT`_ development boards are supported for Step 2. Configure Software """""""""""""""""""""""""" -Enter the :example:`bluetooth/esp_ble_mesh/ble_mesh_node` example directory, run :code:`idf.py menuconfig` to select your board and then run :code:`idf.py build` to compile the example. +Enter the :example:`bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server` example directory, run :code:`idf.py menuconfig` to select your board and then run :code:`idf.py build` to compile the example. Step 3. Upload Application to Nodes """"""""""""""""""""""""""""""""""" -After the :example:`bluetooth/esp_ble_mesh/ble_mesh_node` example is compiled successfully, users can run :code:`idf.py flash` to upload the same generated binary files into each of the three development boards. +After the :example:`bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server` example is compiled successfully, users can run :code:`idf.py flash` to upload the same generated binary files into each of the three development boards. Once boards are powered on, the RGB LED on each board should turn **GREEN**. @@ -185,7 +185,7 @@ Step 5. Operate Network After all the Generic OnOff Server Models within the three elements are bound with proper AppKey, users can use the App to turn on/off the RGB LED. -In the :example:`bluetooth/esp_ble_mesh/ble_mesh_node` example, the first Generic OnOff Server Model is used to control the **RED** color, the second one is used to control the **GREEN** color and the third one is used to control the **BLUE** color. +In the :example:`bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server` example, the first Generic OnOff Server Model is used to control the **RED** color, the second one is used to control the **GREEN** color and the third one is used to control the **BLUE** color. .. figure:: ../../../_static/ble-mesh-generic-onoff.png :align: center @@ -209,17 +209,17 @@ The following screenshot shows different board with different color on. ESP-BLE-MESH Examples ===================== -* :example:`ESP-BLE-MESH Node ` - shows the use of ESP-BLE-MESH as a node device having a Configuration Server model and a Generic OnOff Server model. A ESP-BLE-MESH provisioner can then provision the node and control a RGB LED representing on/off state, see :example:`example code `. +* :example:`ESP-BLE-MESH Node OnOff Server ` - shows the use of ESP-BLE-MESH as a node having a Configuration Server model and a Generic OnOff Server model. A ESP-BLE-MESH Provisioner can then provision the unprovisioned device and control a RGB LED representing on/off state, see :example:`example code `. -* :example:`ESP-BLE-MESH Client Model ` - shows how a Generic OnOff Client model works within a node. The node has a Configuration Server model, a Generic OnOff Server model and a Generic OnOff Client model, see :example:`example code `. +* :example:`ESP-BLE-MESH Node OnOff Client ` - shows how a Generic OnOff Client model works within a node. The node has a Configuration Server model and a Generic OnOff Client model, see :example:`example code `. -* :example:`ESP-BLE-MESH Provisioner ` - shows how a device can act as a ESP-BLE-MESH provisioner to provision devices. The provisioner has a Configuration Server model, a Configuration Client model and a Generic OnOff Client model, see :example:`example code `. +* :example:`ESP-BLE-MESH Provisioner ` - shows how a device can act as an ESP-BLE-MESH Provisioner to provision devices. The Provisioner has a Configuration Server model, a Configuration Client model and a Generic OnOff Client model, see :example:`example code `. -* ESP-BLE-MESH Fast Provisioning - :example:`Client ` and :example:`Server ` - this demo is used for fast provisioning networks. It takes no more than 60 seconds to provision 100 devices, see :example:`example client code ` and :example:`example server code `. +* ESP-BLE-MESH Fast Provisioning - :example:`Client ` and :example:`Server ` - this example is used for showing how fast provisioning can be used in order to create a mesh network. It takes no more than 60 seconds to provision 100 devices, see :example:`example client code ` and :example:`example server code `. -* :example:`ESP-BLE-MESH and Wi-Fi Coexistence ` - a demo that demonstrates the Wi-Fi and Bluetooth (BLE/BR/EDR) coexistence feature of ESP32. Simply put, users can use the Wi-Fi while operating Bluetooth, see :example:`example code `. +* :example:`ESP-BLE-MESH and Wi-Fi Coexistence ` - an example that demonstrates the Wi-Fi and Bluetooth (BLE/BR/EDR) coexistence feature of ESP32. Simply put, users can use the Wi-Fi while operating Bluetooth, see :example:`example code `. -* ESP-BLE-MESH Node Console - a demo that implements BLE mesh node basic features. Within this demo a node can be scanned and provisioned by provisioner and reply to get/set message from provisioner, see :example:`example node code ` and :example:`example provisioner code `. +* ESP-BLE-MESH Node Console - an example that implements BLE Mesh node basic features. Within this example a node can be scanned and provisioned by Provisioner and reply to get/set message from Provisioner, see :example:`example node code ` and :example:`example Provisioner code `. .. _esp-ble-mesh-demo-videos: diff --git a/examples/bluetooth/esp_ble_mesh/README.md b/examples/bluetooth/esp_ble_mesh/README.md index 43ed0cabb..aa69e954a 100644 --- a/examples/bluetooth/esp_ble_mesh/README.md +++ b/examples/bluetooth/esp_ble_mesh/README.md @@ -1,72 +1,76 @@ -# ESP BLE Mesh Examples +# ESP-BLE-MESH Examples -[ESP BLE Mesh]($IDF_PATH/components/bt/esp_ble_mesh/) is the official BLE Mesh stack of Espressif Systems. We will provide long-term support for new features, performance optimization, etc. +[ESP-BLE-MESH]($IDF_PATH/components/bt/esp_ble_mesh/) is the official Bluetooth® Mesh stack of Espressif Systems. We will provide long-term support for new features, performance optimization, etc. -Please help note that breaking changes may be introduced into ESP BLE Mesh on [minor IDF versions](https://docs.espressif.com/projects/esp-idf/en/latest/versions.html). +Please help note that breaking changes may be introduced into ESP-BLE-MESH on [minor IDF versions](https://docs.espressif.com/projects/esp-idf/en/latest/versions.html). -Note: To use examples in this directory, you need to have Bluetooth enabled in configuration and Bluedroid selected as the host stack. ESP BLE Mesh will support NimBLE host soon, and currently the integration of NimBLE host with ESP BLE Mesh stack is under development. +Note: To use examples in this directory, you need to have Bluetooth enabled in configuration, and either Bluedroid or NimBLE can be selected as the host stack. # Example Layout -This directory includes examples to demonstrate BLE Mesh functionality based on Zephyr (https://github.com/zephyrproject-rtos/zephyr) Mesh stack. - -## ble_mesh_client_model - -This example shows how ESP32 acts as a BLE Mesh Node with Generic OnOff Client & Server Models in the Primary Element. - -See the [README.md](./ble_mesh_client_model/README.md) file in the example [ble_mesh_client_model](./ble_mesh_client_model/). +This directory includes examples to demonstrate ESP-BLE-MESH functionality based on [Zephyr Bluetooth Mesh stack](https://github.com/zephyrproject-rtos/zephyr/tree/master/subsys/bluetooth/mesh). ## ble_mesh_console -This example demonstrates how ESP BLE Mesh uses Console for message transmitting/receiving tests. +This example demonstrates how ESP-BLE-MESH uses Console for message transmitting/receiving tests. -### ble_mesh_node +#### ble_mesh_node This example shows how ESP32 acts as a BLE Mesh Node and sends vendor messages for testing. -See the [README.md](./ble_mesh_console/ble_mesh_node/README.md) file in the example [ble_mesh_node](./ble_mesh_console/ble_mesh_node/). +See [ble_mesh_node](ble_mesh_console/ble_mesh_node) folder for more details. -### ble_mesh_provisioner +#### ble_mesh_provisioner This example shows how ESP32 acts as a BLE Mesh Provisioner and sends vendor messages for testing. -See the [README.md](./ble_mesh_console/ble_mesh_provisioner/README.md) file in the example [ble_mesh_provisioner](./ble_mesh_console/ble_mesh_provisioner/). +See [ble_mesh_provisioner](ble_mesh_console/ble_mesh_provisioner) folder for more details. ## ble_mesh_fast_provision -This example illustrates the solution of ESP BLE Mesh Fast Provisioning. +This example illustrates the solution of ESP-BLE-MESH Fast Provisioning. -### ble_mesh_fast_prov_client +#### ble_mesh_fast_prov_client -This example shows how ESP32, acting as a BLE Mesh Fast Provisioning Client, provisions other unprovisioned devices and then control the nodes. +This example shows how ESP32, acting as a BLE Mesh Fast Provisioning Client, provisions other unprovisioned devices and then controls the nodes. -See the [README.md](./ble_mesh_fast_provision/ble_mesh_fast_prov_client/README.md) file in the example [ble_mesh_fast_prov_client](./ble_mesh_fast_provision/ble_mesh_fast_prov_client/). +See [ble_mesh_fast_prov_client](ble_mesh_fast_provision/ble_mesh_fast_prov_client) folder for more details. -### ble_mesh_fast_prov_server +#### ble_mesh_fast_prov_server This example illustrates the process that: -1. Firstly as a BLE Mesh Fast Provisioning Server, ESP32 is provisioned into a Node; -2. and then provisions other unprovisioned devices as a Temporary Provisioner. +1. ESP32 as a BLE Mesh Fast Provisioning Server is provisioned into a node; +2. ESP32 as a Temporary Provisioner provisions other unprovisioned devices. -See the [README.md](./ble_mesh_fast_provision/ble_mesh_fast_prov_server/README.md) file in the example [ble_mesh_fast_prov_server](./ble_mesh_fast_provision/ble_mesh_fast_prov_server/). +See [ble_mesh_fast_prov_server](ble_mesh_fast_provision/ble_mesh_fast_prov_server) folder for more details. ## ble_mesh_node -This example shows how ESP32 acts as a BLE Mesh Node with only Generic OnOff Server Model in the Primary Element. +This example demonstrates how ESP32 acts as a BLE Mesh node with Generic OnOff Server model or Generic OnOff Client model on board. -See the [README.md](./ble_mesh_node/README.md) file in the example [ble_mesh_node](./ble_mesh_node/). +#### onoff_client + +This example shows how ESP32 acts as a BLE Mesh Node with Generic OnOff Client model in the Primary Element. + +See [onoff_client](ble_mesh_node/onoff_client) folder for more details. + +#### onoff_server + +This example shows how ESP32 acts as a BLE Mesh Node with only Generic OnOff Server model in the Primary Element. + +See [onoff_server](ble_mesh_node/onoff_server) folder for more details. ## ble_mesh_provisioner This example shows how ESP32 acts as a BLE Mesh Provisioner and provisions other unprovisioned devices. -See the [README.md](./ble_mesh_provisioner/README.md) file in the example [ble_mesh_provisioner](./ble_mesh_provisioner/). +See [ble_mesh_provisioner](ble_mesh_provisioner) folder for more details. ## ble_mesh_wifi_coexist This example shows how ESP32 acts as a BLE Mesh Fast Provisioning Server and coexists with Wi-Fi iperf functionality. -See the [README.md](./ble_mesh_wifi_coexist/README.md) file in the example [ble_mesh_wifi_coexist](./ble_mesh_wifi_coexist/). +See [ble_mesh_wifi_coexist](ble_mesh_wifi_coexist) folder for more details. # More diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/ble_mesh_fast_provision_client.md b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/BLE_Mesh_Fast_Prov_Client_Example_Walkthrough.md similarity index 100% rename from examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/ble_mesh_fast_provision_client.md rename to examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/BLE_Mesh_Fast_Prov_Client_Example_Walkthrough.md diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/ble_mesh_fast_provision_server.md b/examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/BLE_Mesh_Fast_Prov_Server_Example_Walkthrough.md similarity index 100% rename from examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/ble_mesh_fast_provision_server.md rename to examples/bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/BLE_Mesh_Fast_Prov_Server_Example_Walkthrough.md diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/tutorial/ble_mesh_client_model.md b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/tutorial/BLE_Mesh_Node_OnOff_Client_Example_Walkthrough.md similarity index 100% rename from examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/tutorial/ble_mesh_client_model.md rename to examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/tutorial/BLE_Mesh_Node_OnOff_Client_Example_Walkthrough.md diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/tutorial/Ble_Mesh_Node_Example_Walkthrough.md b/examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/tutorial/BLE_Mesh_Node_OnOff_Server_Example_Walkthrough.md similarity index 100% rename from examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/tutorial/Ble_Mesh_Node_Example_Walkthrough.md rename to examples/bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/tutorial/BLE_Mesh_Node_OnOff_Server_Example_Walkthrough.md diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/Ble_Mesh_Provisioner_Example_Walkthrough.md b/examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/BLE_Mesh_Provisioner_Example_Walkthrough.md similarity index 100% rename from examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/Ble_Mesh_Provisioner_Example_Walkthrough.md rename to examples/bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/BLE_Mesh_Provisioner_Example_Walkthrough.md diff --git a/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/ble_mesh_wifi_coexist.md b/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/BLE_Mesh_WiFi_Coexist_Example_Walkthrough.md similarity index 100% rename from examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/ble_mesh_wifi_coexist.md rename to examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/BLE_Mesh_WiFi_Coexist_Example_Walkthrough.md