A Flutter plugin for provisioning ESP32 modules with SoftAP
GIF by original pub-package esp_softap_provisioning
Comparison to esp_provisioning:
Repo | softap support | ble support | cryptography | protobuf |
---|---|---|---|---|
esp_provisioning_softap | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_check_mark: (2.0.1) | :heavy_check_mark: (2.0.0) |
esp_provisioning | :heavy_multiplication_x: | :heavy_check_mark: | :heavy_check_mark: (1.4.1) | :heavy_check_mark: (1.0.1) |
Last update: 24 / 03 / 2022
Changes on pubspec.yaml
flutter pub add esp_provisioning_softap_null_safe
then, run flutter pub get
,
We need to give permissions for http connections.
Add <uses-permission android:name="android.permission.INTERNET"/>
and android:usesCleartextTraffic="true"
to AndroidManifest.xml.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<uses-permission android:name="android.permission.INTERNET"/>
<application
...
android:usesCleartextTraffic="true"
...
...
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>wifi-prov.local</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>1.0</string>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
</dict>
</dict>
</dict>
...
For iOS, it's recommended to put platform version >= 9.0 , You can edit this variable from Podfile (
Library is ready to use, you can check example app directory for implementation. Notice that Proof of posession (POP) should be matching with ESP's.
The original package by Omer Taban referred to:
I have referred to sunshine-tech esp_provisioning repository for native cipher code.
I have referred to Espressif esp_prov repository for provisioning structure.