esptouch_flutterESP-Touch的Flutter插件為ESP-8266和ESP-32設備配置網絡。在iOS和Android上運行。
esptouch_flutter是Flutter插件軟件包,其中包含用於用DART編寫的Esp-Touch的API,並使用Objective-C使用Java和iOS結合了Android的平台特定實現。
該軟件包為ESP Touch任務提供了高度的可自定義性和用於啟動任務的慣用DART界面。自定義任務參數可讓此插件的用戶更改任務運行的時間,如果這是您的工作流程,則可以將其設置為數小時。
pub.dev上檢查包裝信息
有關完整的示例應用程序,請參閱存儲庫中的example文件夾。
示例應用程序使您可以配置WiFi SSID,BSSID,密碼,任務持續時間,預期任務數等。
有關最簡單的應用程序,請參見smaho-engineering/esptouch_flutter_kotlin_example存儲庫。
import 'package:esptouch_flutter/esptouch_flutter.dart' ;
// Somewhere in your widget...
final ESPTouchTask task = ESPTouchTask (
ssid : 'My WiFi network' ,
bssid : 'ab:cd:ef:12:23:34' ,
password : 'I love SMAHO' ,
);
final Stream < ESPTouchResult > stream = task. execute ();
final printResult = ( ESPTouchResult result) {
print ( 'IP: ${ result . ip } MAC: ${ result . bssid }' );
};
StreamSubscription < ESPTouchResult > streamSubscription = stream. listen (printResult);
// Don't forget to cancel your stream subscription.
// You might cancel after the UDP wait+send time has passed (default 1 min)
// or you could cancel when the user asked to cancel
// for example, either via X button, or popping a route off the stack.
streamSubscription. cancel ();如果您想自定義任務,請向ESPTouchTask提供ESPTouchTaskParameter實例作為taskParameter 。在代碼示例中,我為清晰度指定類型,但您可以省略類型,因為DART可以推斷出它們。
final ESPTouchTask task = ESPTouchTask (
ssid : 'My WiFi network' ,
bssid : 'ab:cd:ef:12:23:34' ,
password : 'I love Flutter and ESP-Touch, too' ,
// Tweak the task using task parameters
taskParameter : ESPTouchTaskParameter (waitUdpReceiving : Duration (hour : 12 )),
);
// You can still stop the task at any point by calling .cancel on the stream subscription:
streamSubscription. cancel ();在現實世界中,您將從用戶那裡獲得WiFi憑據,並且可以顯示配置的設備,將其本地保存在SQLite中,或將其發送到您的後端。
使用真實的電話進行開發。該插件將在模擬器和模擬器中不起作用,因此您需要真正的手機進行開發。運行flutter devices進行驗證。
準備嵌入式設備。為了驗證ESP-Touch應用程序是否有效,您需要使用ESP8266和ESP32的一些硬件才能連接到WiFi網絡。
connectivity您可以提供一種簡單的方法來獲取當前的WiFi網絡的SSID和BSSID。使用connectivity插件在Android和iOS上發現網絡狀態(WiFi&Mobile/Cellular)的狀態。
使用ESP-Touch,您可以為ESP8266和ESP32設備配置網絡。
Espressif的ESP-Touch協議實現了智能配置技術,以幫助用戶通過智能手機上的簡單配置將ESP8266EX-和ESP32嵌入的設備連接到Wi-Fi網絡。
您可以在此處閱讀有關ESP觸摸的更多信息:
.pdf )EspressifApp/EsptouchForIOS Esp-Touch iOS使用Objective-CEspressifApp/EsptouchForAndroid Esp-Touch for Android使用Java原始的iOS和Android模塊必須進行大量定制和調整,以支持自定義任務參數。
從iOS 14.6開始com.apple.developer.networking.multicast權利,以便允許在iOS上廣播IP軟件包,Esptouch使用。
為了啟用它,您需要在此處要求該錄音帶作為帳戶持有人。註冊後,您可以在此處進行配置
這是一個由Smaho工程團隊從慕尼黑構建的開源項目,可以包裝Espressif的Esp-Touch移動應用程序套件。
如果您來自物聯網背景,您可能不知道什麼是撲朔迷離。
Flutter是Google的UI工具包,可從單個代碼庫中為iOS和Android創建美麗的本機體驗。如需幫助開始撲朔迷離,請查看在線文檔。該存儲庫包含一個用於ESP觸摸的撲朔迷離插件包。插件軟件包是一個專業軟件包,其中包括針對Android和iOS的平台特定實現代碼。該應用程序的顫音部分通過平台頻道將消息發送給其主機(iOS或Android)。該插件嚴重依賴平台通道(事件頻道)。