esp-ble-mesh.rst 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. ESP-BLE-MESH
  2. ============
  3. With various features of ESP-BLE-MESH, users can create a managed flooding mesh network for several scenarios, such as lighting, sensor and etc.
  4. For an ESP32 to join and work on a ESP-BLE-MESH network, it must be provisioned firstly. By provisioning, the ESP32, as an unprovisioned device, will join the ESP-BLE-MESH network and become a ESP-BLE-MESH node, communicating with other nodes within or beyond the radio range.
  5. Apart from ESP-BLE-MESH nodes, inside ESP-BLE-MESH network, there is also ESP32 that works as ESP-BLE-MESH provisioner, which could provision unprovisioned devices into ESP-BLE-MESH nodes and configure the nodes with various features.
  6. For 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`.
  7. Application Examples and Demos
  8. ------------------------------
  9. Please refer to Sections :ref:`esp-ble-mesh-examples` and :ref:`esp-ble-mesh-demo-videos`.
  10. API Reference
  11. -------------
  12. ESP-BLE-MESH APIs are divided into the following parts:
  13. * `ESP-BLE-MESH Definitions`_
  14. * `ESP-BLE-MESH Core API Reference`_
  15. * `ESP-BLE-MESH Models API Reference`_
  16. ESP-BLE-MESH Definitions
  17. ------------------------
  18. This section contains only one header file, which lists the following items of ESP-BLE-MESH.
  19. * ID of all the models and related message opcodes
  20. * Structs of model, element and Composition Data
  21. * Structs of used by ESP-BLE-MESH Node/Provisioner for provisioning
  22. * Structs used to transmit/receive messages
  23. * Event types and related event parameters
  24. .. include-build-file:: inc/esp_ble_mesh_defs.inc
  25. ESP-BLE-MESH Core API Reference
  26. -------------------------------
  27. This section contains ESP-BLE-MESH Core related APIs, which can be used to initialize ESP-BLE-MESH stack, provision, send/publish messages, etc.
  28. This API reference covers six components:
  29. * `ESP-BLE-MESH Stack Initialization`_
  30. * `Reading of Local Data Information`_
  31. * `Low Power Operation (Updating)`_
  32. * `Send/Publish Messages, add Local AppKey, etc.`_
  33. * `ESP-BLE-MESH Node/Provisioner Provisioning`_
  34. * `ESP-BLE-MESH GATT Proxy Server`_
  35. ESP-BLE-MESH Stack Initialization
  36. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  37. .. include-build-file:: inc/esp_ble_mesh_common_api.inc
  38. Reading of Local Data Information
  39. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  40. .. include-build-file:: inc/esp_ble_mesh_local_data_operation_api.inc
  41. Low Power Operation (Updating)
  42. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  43. .. include-build-file:: inc/esp_ble_mesh_low_power_api.inc
  44. Send/Publish Messages, Add Local AppKey, Etc.
  45. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  46. .. include-build-file:: inc/esp_ble_mesh_networking_api.inc
  47. ESP-BLE-MESH Node/Provisioner Provisioning
  48. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  49. .. include-build-file:: inc/esp_ble_mesh_provisioning_api.inc
  50. ESP-BLE-MESH GATT Proxy Server
  51. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  52. .. include-build-file:: inc/esp_ble_mesh_proxy_api.inc
  53. ESP-BLE-MESH Models API Reference
  54. ---------------------------------
  55. This section contains ESP-BLE-MESH Model related APIs, event types, event parameters, etc.
  56. There are six categories of models:
  57. * `Configuration Client/Server Models`_
  58. * `Health Client/Server Models`_
  59. * `Generic Client/Server Models`_
  60. * `Sensor Client/Server Models`_
  61. * `Time and Scenes Client/Server Models`_
  62. * `Lighting Client/Server Models`_
  63. .. note::
  64. Definitions related to Server Models are being updated, and will be released soon.
  65. Configuration Client/Server Models
  66. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  67. .. include-build-file:: inc/esp_ble_mesh_config_model_api.inc
  68. Health Client/Server Models
  69. ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  70. .. include-build-file:: inc/esp_ble_mesh_health_model_api.inc
  71. Generic Client/Server Models
  72. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  73. .. include-build-file:: inc/esp_ble_mesh_generic_model_api.inc
  74. Sensor Client/Server Models
  75. ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  76. .. include-build-file:: inc/esp_ble_mesh_sensor_model_api.inc
  77. Time and Scenes Client/Server Models
  78. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  79. .. include-build-file:: inc/esp_ble_mesh_time_scene_model_api.inc
  80. Lighting Client/Server Models
  81. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  82. .. include-build-file:: inc/esp_ble_mesh_lighting_model_api.inc