esp-idf/examples/provisioning
Mahavir Jain 6a3d50c952 provisioning: use memcpy instead of strncpy for copying SSID
Per WiFi library requirement, SSID can be non-null terminated string
if its length goes to 32 bytes (maximum). Use of strncpy in this case,
along with compiler optimization level -O2 results in some warnings
for potential use of non-null terminated strings.

Fix here ensures use of memcpy to copy SSID string upto appropriate
desired length. This helps to avoid compiler specific workaround
flags added earlier.

Closes https://github.com/espressif/esp-idf/issues/5866
Closes IDFGH-3983
2020-09-17 12:59:22 +05:30
..
legacy provisioning: use memcpy instead of strncpy for copying SSID 2020-09-17 12:59:22 +05:30
wifi_prov_mgr esp_prov: Refactor to use new 'wait_wifi_connected' function 2020-06-28 22:52:45 +00:00
README.md wifi_prov_mgr: Add config options to switch transport and support for custom data 2020-03-13 06:23:15 +00:00

Provisioning Application Examples

This primarily consists of a single unified example wifi_prov_mgr

  • wifi_prov_mgr Abstracts out most of the complexity of Wi-Fi provisioning and allows easy switching between the SoftAP (using HTTP) and BLE transports. It also demonstrates how applications can register and use additional custom data endpoints.

Provisioning applications are available for various platforms:

Legacy Examples

The legacy examples require own implementation of provisioning functions and handlers. The Wi-Fi provisioning component abstracts out most of this complexity and provides a simpler interface and so, that is recommended for use. However, if you want to use lower level provisioning and protocomm APIs, you can check the these examples under legacy/ folder:

  • softap_prov Provisioning involves Wi-Fi station configuration via an HTTP server running on the device, which is initially configured to be in SoftAP mode. After provisioning, device runs in Wi-Fi station mode only and connects to the AP whose credentials were provided during provisioning.

  • ble_prov Provisioning involves Wi-Fi station configuration via BLE service endpoints running on the device initially. After provisioning, BLE is turned off and device runs in Wi-Fi station mode, connecting to the AP whose credentials were provided during provisioning.

  • console_prov Provisioning involves Wi-Fi station configuration via UART console. This is intended for debugging protocomm and provisioning related features.

  • custom_config Similar to softap_prov examples, but allows for configuration of custom (device-local) information during provisioning. This is intended as an example for implementing custom provisioning schemes.

Refer to the README.md files in each example directory for more information.