Merge branch 'doc/update_several_ble_mesh_docs_v4.0' into 'release/v4.0'

doc: update ble mesh docs based on the feature and example update (v4.0)

See merge request espressif/esp-idf!6966
This commit is contained in:
Jiang Jiang Jian 2019-12-11 19:00:20 +08:00
commit bf01dd61f7
12 changed files with 116 additions and 73 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -1 +1 @@
<mxfile modified="2019-09-22T00:58:06.366Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0" etag="zTkUVhOzP7skpqIPIslP" version="11.3.0" type="device" pages="1"><diagram id="3T7Fh-tElfW0GhIRTNz5" name="Page-1">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</diagram></mxfile>
<mxfile modified="2019-11-27T01:46:07.873Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0" etag="Div9kEoT7OfzQ736Cges" version="12.3.1" type="device" pages="1"><diagram id="3T7Fh-tElfW0GhIRTNz5" name="Page-1">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</diagram></mxfile>

View File

@ -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 <bt/esp_ble_mesh/mesh_models/client/time_scene_client.c>`
- Send ESP-BLE-MESH Time Scene Client messages and receive corresponding response messages
* - :component_file:`generic_server.c <bt/esp_ble_mesh/mesh_models/server/generic_server.c>`
- Receive ESP-BLE-MESH Generic Client messages and send corresponding response messages
* - :component_file:`lighting_server.c <bt/esp_ble_mesh/mesh_models/server/lighting_server.c>`
- Receive ESP-BLE-MESH Lighting Client messages and send corresponding response messages
* - :component_file:`sensor_server.c <bt/esp_ble_mesh/mesh_models/server/sensor_server.c>`
- Receive ESP-BLE-MESH Sensor Client messages and send corresponding response messages
* - :component_file:`time_scene_server.c <bt/esp_ble_mesh/mesh_models/server/time_scene_server.c>`
- Receive ESP-BLE-MESH Time Scene Client messages and send corresponding response messages
2.2 Mesh Bearers Implementation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -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 <bluetooth/esp_ble_mesh/ble_mesh_node/tutorial/Ble_Mesh_Node_Example_Walkthrough.md>`
* :example:`Tutorial <bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/tutorial/BLE_Mesh_Node_OnOff_Client_Example_Walkthrough.md>`
* :example:`Tutorial <bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/tutorial/BLE_Mesh_Node_OnOff_Server_Example_Walkthrough.md>`
* :example:`Example <bluetooth/esp_ble_mesh/ble_mesh_node>`
* ESP-BLE-MESH Node with client model
* :example:`Tutorial <bluetooth/esp_ble_mesh/ble_mesh_client_model/tutorial/ble_mesh_client_model.md>`
* :example:`Example <bluetooth/esp_ble_mesh/ble_mesh_client_model>`
* ESP-BLE-MESH Provisioner
* :example:`Tutorial <bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/Ble_Mesh_Provisioner_Example_Walkthrough.md>`
* :example:`Tutorial <bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/BLE_Mesh_Provisioner_Example_Walkthrough.md>`
* :example:`Example <bluetooth/esp_ble_mesh/ble_mesh_provisioner>`
* ESP-BLE-MESH Fast Provisioning
* :example:`Fast Provisioning Client Model Tutorial <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/ble_mesh_fast_provision_client.md>`
* :example:`Fast Provisioning Server Model Tutorial <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/ble_mesh_fast_provision_server.md>`
* :example:`Fast Provisioning Client Model Tutorial <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/BLE_Mesh_Fast_Prov_Client_Example_Walkthrough.md>`
* :example:`Fast Provisioning Server Model Tutorial <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/BLE_Mesh_Fast_Prov_Server_Example_Walkthrough.md>`
* :example:`Example <bluetooth/esp_ble_mesh/ble_mesh_fast_provision>`
* `Demo Video <http://download.espressif.com/BLE_MESH/BLE_Mesh_Demo/V0.4_Demo_Fast_Provision/ESP32_BLE_Mesh_Fast_Provision.mp4>`__
* ESP-BLE-MESH and Wi-Fi Coexistence
* :example:`Tutorial <bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/ble_mesh_wifi_coexist.md>`
* :example:`Tutorial <bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/BLE_Mesh_WiFi_Coexist_Example_Walkthrough.md>`
* :example:`Example <bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist>`
* `Demo Video <http://download.espressif.com/BLE_MESH/BLE_Mesh_Demo/V0.5_Demo_Coexistence/ESP_BLE_MESH_%26_WIFI_Coexistence.mp4>`__
* 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
"""""""""""""""""

View File

@ -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 <https://github.com/EspressifApp/EspBLEMeshForAndroid/releases/tag/v1.0.0>`_ 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 <bluetooth/esp_ble_mesh/ble_mesh_node/tutorial/Ble_Mesh_Node_Example_Walkthrough.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_node>`.
* :example:`ESP-BLE-MESH Node OnOff Server <bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server/tutorial/BLE_Mesh_Node_OnOff_Server_Example_Walkthrough.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_node/onoff_server>`.
* :example:`ESP-BLE-MESH Client Model <bluetooth/esp_ble_mesh/ble_mesh_client_model/tutorial/ble_mesh_client_model.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_client_model>`.
* :example:`ESP-BLE-MESH Node OnOff Client <bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client/tutorial/BLE_Mesh_Node_OnOff_Client_Example_Waclthrough.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_node/onoff_client>`.
* :example:`ESP-BLE-MESH Provisioner <bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/Ble_Mesh_Provisioner_Example_Walkthrough.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_provisioner>`.
* :example:`ESP-BLE-MESH Provisioner <bluetooth/esp_ble_mesh/ble_mesh_provisioner/tutorial/Ble_Mesh_Provisioner_Example_Walkthrough.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_provisioner>`.
* ESP-BLE-MESH Fast Provisioning - :example:`Client <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/ble_mesh_fast_provision_client.md>` and :example:`Server <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/ble_mesh_fast_provision_server.md>` - this demo is used for fast provisioning networks. It takes no more than 60 seconds to provision 100 devices, see :example:`example client code <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client>` and :example:`example server code <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server>`.
* ESP-BLE-MESH Fast Provisioning - :example:`Client <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client/tutorial/BLE_Mesh_Fast_Prov_Client_Example_Walkthrough.md>` and :example:`Server <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server/tutorial/BLE_Mesh_Fast_Prov_Server_Example_Walkthrough.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_client>` and :example:`example server code <bluetooth/esp_ble_mesh/ble_mesh_fast_provision/ble_mesh_fast_prov_server>`.
* :example:`ESP-BLE-MESH and Wi-Fi Coexistence <bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/ble_mesh_wifi_coexist.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist>`.
* :example:`ESP-BLE-MESH and Wi-Fi Coexistence <bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/tutorial/BLE_Mesh_WiFi_Coexist_Example_Walkthrough.md>` - 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 <bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist>`.
* 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 <bluetooth/esp_ble_mesh/ble_mesh_console/ble_mesh_node>` and :example:`example provisioner code <bluetooth/esp_ble_mesh/ble_mesh_console/ble_mesh_provisioner>`.
* 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 <bluetooth/esp_ble_mesh/ble_mesh_console/ble_mesh_node>` and :example:`example Provisioner code <bluetooth/esp_ble_mesh/ble_mesh_console/ble_mesh_provisioner>`.
.. _esp-ble-mesh-demo-videos:

View File

@ -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