Commit Graph

23 Commits

Author SHA1 Message Date
Laukik Hase
9aefcb12f5
esp_prov: Compatibility changes and refactoring
- Removed python 2 compatibility
- Removed dependencies on redundant external modules
- Interactive provisioning input for security scheme 2
- Style changes:
  Updated print statements to format strings
  Colored verbose logging
  Raised exceptions on errors instead of clean exits
2022-06-23 10:52:54 +05:30
Cody Cutrer
2c4e5c2963
esp_prov: make service_name optional for BLE
and allow interactive scanning and selection of device
2022-06-23 10:52:54 +05:30
Cody Cutrer
0a892d2818
esp_prov: prompt for passphrase if not given 2022-06-23 10:52:53 +05:30
Cody Cutrer
7989e97b3a
esp_prov: prompt for PoP if not provided and required 2022-06-23 10:52:53 +05:30
Cody Cutrer
069b82401c
esp_prov: switch from bluez/dbus to bleak
to enable multiplatform ble compatibility
2022-06-23 10:52:53 +05:30
Laukik Hase
3235206624 esp_prov: Added provision for SRP6a-based security scheme 2022-06-17 13:16:20 +00:00
Laukik Hase
583b984837 esp_prov: Removed features used in legacy provisioning examples 2022-01-19 12:09:21 +05:30
Alex Henrie
5ed53c272b Change default PoP argument of esp_prov.get_security from None to string
Signed-off-by: Shivani Tipnis <shivani@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/7130
Closes IDFGH-5380
2021-07-15 13:06:53 +05:30
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Chen Yu Dong
454edcc0a8 ci: all jobs use python3 by default 2020-11-19 03:27:58 +00:00
Angus Gratton
5bdecb3db2 esp_prov: Refactor to use new 'wait_wifi_connected' function
Means all provisioning examples will have the same retry behaviour.
2020-06-28 22:52:45 +00:00
Angus Gratton
e969a5e5ff ci provisioning: Use strings instead of "magic numbers" for connection state 2020-06-28 22:52:45 +00:00
Prasad Alatkar
8419aa85a9 Wifi_provisioning_ble: Change service_uuid to non standard 128 bit UUID
- Modifies UUIDs in scheme_ble, manager example and esp_prov tool to custom 128
  bit UUID
2020-03-16 08:20:37 +00:00
Piyush Shah
62626ac4b9 esp_prov: Add support for sending some abstract custom data
To be used with the provisioning/wifi_prov_mgr example

Signed-off-by: Piyush Shah <piyush@espressif.com>
2020-03-13 06:23:15 +00:00
Anurag Kar
61923d37b6 esp_prov : Minor refactoring in argument dependent logic
Other changes:
* Command line argument name and descriptions updated and formatted
* Some exception messages updated for clarity
* READMEs updated for tool and all provisioning examples
* Minor update in example test scripts due to change in esp_prov.get_transport() API
* Transport_HTTP now forces connect on initialization
2019-07-04 15:02:07 +05:30
Anurag Kar
b75f8b1b20 ESP Local Control Feature Added
List of changes:
* New component esp_local_ctrl added
* Example added under examples/protocols/esp_local_ctrl
* Documentation added under protocols/esp_local_ctrl
* Demo client side app esp_local_ctrl.py added under examples/protocols/esp_local_ctrl/scripts
* protocomm_ble : protocomm_ble_config_t given struct name for allowing forward declaration
* esp_prov/transport_softap renamed to transport_http
* transport_http module supports verification of server certificate
* transport_http module performs name resolution before connection
2019-07-03 21:31:04 +05:30
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
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
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
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
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
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