Commit Graph

54 Commits

Author SHA1 Message Date
harshal.patil
37303266f0
fix(esp_prov): update devices tuple usage due to API deprecations
- a recent commit fixed the API deprecations,
and the BLEDevice object now needs to be accessed through a tuple.
- thus the changes were made in the code wherein the object was used,
but updating the usage in the condition when de
vname is not None got skipped.
2023-08-22 14:44:38 +05:30
Aditya Patwardhan
22d98c2c35 Merge branch 'esp_prov/update_deprecation_warnings' into 'master'
fix(esp_prov): Fixed the deprecation APIs warnings

See merge request espressif/esp-idf!24896
2023-07-28 16:24:09 +08:00
Chen Yudong
ec39de3992 change(esp_prov): also remove print_function from esp_prov 2023-07-19 21:05:30 +08:00
Chen Yudong
2ffc5ac6e6 change(esp_prov): remove future usage
drop python2 support for esp_prov
2023-07-19 21:05:06 +08:00
harshal.patil
9e1edd74c7 fix(esp_prov): Fixed the deprecation APIs warnings
- Updated the extraction of service_uuids using AdvertisementData
- Replaced the `get_services()` API with the `services` property
2023-07-19 14:24:47 +05:30
David Cermak
08c5e6e07c provisioning: Add httpd transport (alias of softAP, netif agnostic)
The script works the same way with httpd and softap mode, but it's a bit
confusing to provision the device over Ethernet or USB and call the
transport "softap". That's why we introduce an alias called httpd which
uses the same idea (http server with service name), but that service
runs on any interface (where the specified service is available)
2023-06-08 07:33:52 +02:00
harshal.patil
e7a4062a30 docs: added documentation for wifi_ctrl endpoint and updated esp_prov readme 2022-11-01 14:19:01 +05:30
harshal.patil
b7de443aaa wifi_provisioning: added wifi-ctrl reprov endpoint 2022-11-01 14:19:01 +05:30
harshal.patil
dacf44dd1d wifi_provisioning: added wifi-ctrl reset endpoint 2022-11-01 14:19:01 +05:30
harshal.patil
779aef401e esp_prov: added support for session cookie in SoftAP mode 2022-10-27 18:17:38 +05:30
Laukik Hase
aff551c4ee
esp_prov: Update deprecated APIs
- Updated deprecated APIs for bleak module
- Updated README and troubleshooting reference for
  BLE transport
2022-10-14 16:53:40 +05:30
Fu Hanxi
17e312f87b docs: improve the installation instructions 2022-08-01 15:52:21 +08:00
Fu Hanxi
d0a2849b02 feat: add requirements.ttfw.txt 2022-08-01 15:52:21 +08:00
Laukik Hase
796723a6df
esp_prov/wifi_prov_mgr: Updated README
- Added notes for interactive provisioning
2022-06-23 10:54:20 +05:30
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
740b9a9afe wifi_prov: Added support for WPA3_PSK and WPA2_WPA3_PSK APs 2022-06-21 04:24:19 +00:00
Laukik Hase
3235206624 esp_prov: Added provision for SRP6a-based security scheme 2022-06-17 13:16:20 +00:00
Laukik Hase
1ee3ee6854
protobuf: Fix v4.21.0 (python) compatibility issue
- Added auto-generated protobuf files (proto-c and python to
  pre-commit hook ignore lists
2022-05-30 09:54:31 +05:30
Fu Hanxi
e0a41cd816 ci: fix protobuf 4.0 incompatible issue 2022-05-26 14:42:16 +08:00
Laukik Hase
1481758fd7 esp_prov.py: Replaced deprecated function for loading modules 2022-01-28 10:36:10 +05:30
Laukik Hase
07f1e49566 provisioning: Remove legacy examples section from README 2022-01-28 09:58:43 +05:30
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
Shivani Tipnis
2d22374460 ble-wifi-example-tests: Add fixes and cleanups to ble and wifi tests 2021-05-28 19:50:28 +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
ab55bea55a esp_prov: Extend the timeout for HTTP connection to SoftAP 2020-06-28 22:52:45 +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
Roland Dobai
5f024e1cd4 Add protocol example tests 2020-05-19 12:17:32 +02:00
Shivani Tipnis
745e979283 CI: Fix prov example test cryptography package version exception handling 2020-04-23 00:27:40 +05:30
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
Piyush Shah
156ae68275 provisioning_examples: Move older examples to legacy/ folder
Change the manager example folder name to wifi_prov_mgr to sound more meaningful.

Signed-off-by: Piyush Shah <piyush@espressif.com>
2020-03-13 06:23:15 +00:00
He Yin Ling
c906e2afee test: update example and unit tests with new import roles:
tiny_test_fw is a python package now. import it using normal way.
2019-12-07 10:34:54 +08: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
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