esp-ble-mesh.rst 4.3 KB

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