OVMS3-idf/examples/provisioning
Anurag Kar 9c0ee28670 wifi_provisioning : Added Wi-Fi Scan list feature to Provisioning Manager
List of changes in components/wifi_provisioning:
* Manager version is now v1.1
* .proto files and protocomm handler added for sending Wi-Fi scan command and receiving scan results
* Implemented handlers for wifi_scan protocomm endpoint
* Update manager context data structure to hold scan state and results
* scheme_softap now runs Wi-Fi in APSTA mode
* Wi-Fi is started in AP mode when provisioning is started. This is necessary for scan list to work
* Docs updates with information about new wifi_scan endpoint

List of changes in tools/esp_prov:
* Added functions for sending and receiving protobuf messages compatible with wifi_scan protocomm endpoint
* Added feature to display/refresh scan results and accept user selection at runtime
* New functions:
  * get_version() : only returns the protocol version string
  * has_capability() : check is a capability is present according to proto-ver response
* wifi_scan feature is provided only if the `wifi_scan` capability is present

Other changes:
* Replace recursive mutex with plain mutex
* assert on return value of mutex give / take calls
* replace all calls with macros ACQUIRE_LOCK and RELEASE_LOCK
* some checks added in scanning related private APIs
* free and nullify scanning context and state if service is stopped while ongoing scan
2019-06-26 05:24:20 +00:00
..
ble_prov examples: use new component registration api 2019-06-21 19:53:29 +08:00
console_prov examples: use new component registration api 2019-06-21 19:53:29 +08:00
custom_config examples: use new component registration api 2019-06-21 19:53:29 +08:00
manager wifi_provisioning : Added Wi-Fi Scan list feature to Provisioning Manager 2019-06-26 05:24:20 +00:00
softap_prov examples: use new component registration api 2019-06-21 19:53:29 +08:00
README.md Docs : Provisioning docs and READMEs updated with links to GitHub repositories of Android and iOS apps 2018-10-18 18:23:03 +05:30

Provisioning Application Examples

These consist of the following examples :

  • 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.

Provisioning applications are available for various platforms:

  • For Android, a provisioning application along with source code is available on GitHub : esp-idf-provisioning-android
  • For iOS, a provisioning application along with source code is available on GitHub : esp-idf-provisioning-ios
  • For all other platforms a python based command line tool is provided under "$IDF_PATH/tools/esp_prov"

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