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 | ✔️ | ✖️ | ✔️ (2.0.1) | ✔️ (2.0.0) |
esp_provisioning | ✖️ | ✔️ | ✔️ (1.4.1) | ✔️ (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.
- Changes on AndroidManifest.xml (<your_app>/android/app/src/main/AndroidManifest.xml):
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"
...
...
- Changes on Info.plist (<your_app>/ios/Runner/Info.plist) :
<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 (<your_app>/ios/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.
- I updated the code from the pub-package esp_softap_provisioning to null safety.
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.