Commit Graph

13 Commits

Author SHA1 Message Date
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
Angus Gratton
02f1e9fc20 Merge branch 'feature/prov_mgr' into 'master'
Wi-Fi Provisioning Manager

See merge request idf/esp-idf!4805
2019-06-11 09:46:50 +08:00
Anurag Kar
a92ace034f esp_prov : Support new JSON format of version string while maintaining backward compatibility
Other changes:
* Version check only happens if command line argument is specified
* Minor bugfix in processing apply_config response
2019-06-10 15:13:50 +05:30
Anurag Kar
1831a375ec protocomm_ble : Example updated to use custom 128bit service UUID
Also removed old hardcoded UUIDs from README of esp_prov
2019-05-29 13:53:08 +05:30
Anurag Kar
015922f8d9 esp_prov : Runtime discovery of Service UUID and endpoint name mapping
List of changes:
* Retrieve UUID property from Bluez device object before connecting to retrieve UUID contained in advertisement
* Read Characteristic User Descriptions attribute of each UUID for mapping endpoint names
* To support older implementations with hardcoded Name-UUID map, revert to fallback mode in order if advertisement data has no UUID field
2019-05-15 12:27:03 +00:00
Anurag Kar
048cd2a887 esp_prov : Catch DBus exception when reading/writing to BLE GATT characteristic
This is useful in the context of provisioning when server initiates disconnection if secure session establishment fails.
2019-03-14 18:33:34 +05:30
Anurag Kar
a1d37c833c protocomm : version endpoint behavior simplified
List of changes:
* Version endpoint now sends the set version string instead of verifying the incoming version string. This simplifies fetching version info from the provisioning application.
* esp_prov script updated to expect version string as response.
2019-02-15 10:45:34 +00:00
Roland Dobai
4ca2b149e5 examples, tools: Fix Python3 deprecation warning for the imp module 2018-12-20 12:44:33 +01:00
Roland Dobai
bfa9610f58 tools: Fix the Python coding style 2018-12-19 11:56:24 +01:00
Anurag Kar
66a9762b2a esp_prov : python coding style fixed as per conventions 2018-12-13 11:03:43 +05:30
Anurag Kar
5e0d222188 esp_prov : Added config option for enabling exception throw from within APIs
Example tests updated to enable exception throwing feature of esp_prov
2018-12-13 11:01:33 +05:30
Anurag Kar
3fe8065b7f provisioning : tweak example test timeouts to reduce failures 2018-12-13 11:01:33 +05:30
Anurag Kar
84f094453b Examples : Added provisioning examples, tests and client tool.
* BLE and softAP provisioning examples added along with tests.
* An application specific example added for demonstrating custom provisioning scheme.
* tools/esp_prov/esp_prov.py can be used as a provisioning client for SoftAP, BLE and CLI based transports.

Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30