- Added MBEDLTS_PRIVATE(...) wherever necessary - For functions like mbedtls_pk_parse_key(...), it is necessary to pass the RNG function pointers as parameter. Solved for dependent components: wpa_supplicant & openSSL - For libcoap, the SSLv2 ClientHello handshake method has been deprecated, need to handle this. Currently, corresponding snippet has been commented. - Examples tested: hello-world | https_request | wifi_prov_mgr mbedtls-3.0: Fixed ESP32-C3 & ESP32-S3 build issues - Removed MBEDTLS_DEPRECATED_REMOVED macro from sha1 port - DS peripheral: esp_ds_rsa_sign -> removed unsused 'mode' argument - Added MBEDTLS_PRIVATE(...) wherever required mbedtls-3.0: Fixed ESP32-S2 build issues - Fixed outdated function prototypes and usage in mbedlts/port/aes/esp_aes_gcm.c due to changes in GCM module mbedtls-3.0: Fixed ESP32-H2 build issues ci: Fixing build stage - Added MBEDTLS_PRIVATE(...) wherever required - Added RNG function parameter - Updated GCM Module changes - Updated Copyright notices - Tests: - build_esp_idf_tests_cmake_esp32 - build_esp_idf_tests_cmake_esp32s2 - build_esp_idf_tests_cmake_esp32c3 - build_esp_idf_tests_cmake_esp32s3 ci: Fixing build stage (mbedtls-related changes) - Added MBEDTLS_PRIVATE(...) wherever required - Updated SHAXXX functions - Updated esp_config according to mbedtls changes - Tests: - build_examples_cmake_esp32 - build_examples_cmake_esp32s2 - build_examples_cmake_esp32c3 - build_examples_cmake_esp32s3 ci: Fixing build stage (example-related changes) - Added MBEDTLS_PRIVATE(...) wherever required - Updated SHAXXX functions - Updated esp_config according to mbedtls changes - Tests: - build_examples_cmake_esp32 - build_examples_cmake_esp32s2 - build_examples_cmake_esp32c3 - build_examples_cmake_esp32s3 ci: Fixing target_test stage - Updated test SSL version to TLS_v1_2 - Tests: - example_test_protocols 1/2 ci: Fixing build stage - Added checks for MBEDTLS_DHM_C (disabled by default) - Updated esp_cryptoauthlib submodule - Updated factory partition size for legacy BLE provisioning example - Tests: - build_examples_cmake_esp32 - build_examples_cmake_esp32s2 - build_examples_cmake_esp32c3 - build_examples_cmake_esp32s3 Co-authored-by: Laukik Hase <laukik.hase@espressif.com>
ESP-BLE-MESH Examples
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.
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 ESP-BLE-MESH functionality based on Zephyr Bluetooth Mesh stack.
ble_mesh_console
This example demonstrates how ESP-BLE-MESH uses Console for message transmitting/receiving tests.
ble_mesh_fast_provision
This example illustrates the solution of ESP-BLE-MESH Fast Provisioning.
fast_prov_client
This example shows how ESP32, acting as a BLE Mesh Fast Provisioning Client, provisions other unprovisioned devices and then controls the nodes.
See fast_prov_client folder for more details.
fast_prov_server
This example illustrates the process that:
- ESP32 as a BLE Mesh Fast Provisioning Server is provisioned into a node;
- ESP32 as a Temporary Provisioner provisions other unprovisioned devices.
See fast_prov_server folder for more details.
ble_mesh_node
This example demonstrates how ESP32 acts as a BLE Mesh node with Generic OnOff Server model or Generic OnOff Client model on board.
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 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 folder for more details.
ble_mesh_provisioner
This example shows how ESP32 acts as a BLE Mesh Provisioner and provisions other unprovisioned devices.
See ble_mesh_provisioner folder for more details.
ble_mesh_vendor_model
This example demonstrates how ESP32 acts as a BLE Mesh Provisioner with vendor client model or as a BLE Mesh node with vendor server model.
vendor_client
This example shows how ESP32 acts as a BLE Mesh Provisioner with a vendor client model in the Primary Element.
See vendor_client folder for more details.
vendor_server
This example shows how ESP32 acts as a BLE Mesh Node with a vendor server model in the Primary Element.
See vendor_server 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 ble_mesh_wifi_coexist folder for more details.
More
See the README.md file in the upper level examples directory for more information about examples.