esptouch_flutterESP-8266およびESP-32デバイス用のネットワークを構成するためのESP-Touchのフラッタープラグイン。 iOSとAndroidで実行されます。
esptouch_flutterは、DARTで記述されたESPタッチのAPIを含むフラッタープラグインパッケージと、Objective-Cを使用してJavaとiOSを使用してAndroidのプラットフォーム固有の実装を組み合わせたものです。
このパッケージは、ESPタッチタスクに対する高いカスタマイズ可能性と、タスクを起動するための慣用的な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 ();タスクをカスタマイズしたい場合は、 ESPTouchTaskParameterインスタンスをESPTouchTaskに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アプリが機能することを確認するには、WiFiネットワークに接続するには、ESP8266とESP32のハードウェアが必要です。
connectivity現在のWiFiネットワークのSSIDおよびBSSIDを取得するための簡単な方法を提供する場合があります。 AndroidおよびiOSでのネットワーク(WiFi&Mobile/Cellular)接続の状態を発見するには、 connectivity Pluginを使用してください。
ESP-Touchを使用して、ESP8266およびESP32デバイス用のネットワークを構成できます。
EspressifのESP-Touchプロトコルは、スマートフォン上の簡単な構成を介して、ユーザーがESP8266EXおよびESP32埋め込まれたデバイスをWi-Fiネットワークに接続するのに役立つスマート構成テクノロジーを実装しています。
ESP-Touchの詳細については、こちらをご覧ください。
.pdf )EspressifApp/EsptouchForIOS Objective-cを使用したiOSのESP-TouchEspressifApp/EsptouchForAndroid ESP-Touchカスタムタスクパラメーターをサポートするために、元のiOSおよびAndroidモジュールを大幅にカスタマイズおよび調整する必要がありました。
iOS 14.6から始めて、 com.apple.developer.networking.multicastの資格が必要です。これは、Esptouchが使用するiOSでのIPパッケージのブロードキャストを許可します。
OTを有効にするには、ここでアカウント所有者として権利を要求する必要があります。登録されたら、ここで構成できます
これは、ミュンヘンのSMAHOエンジニアリングチームによって構築されたオープンソースプロジェクトで、EspressifのESPタッチモバイルアプリキットをラップします。
IoTのバックグラウンドから来ている場合、フラッターが何であるかわからないかもしれません。
Flutterは、単一のコードベースからiOSとAndroidの美しいネイティブエクスペリエンスを作成するためのGoogleのUIツールキットです。 Flutterを始めるのに役立つように、オンラインドキュメントをご覧ください。このリポジトリには、ESP-Touch用のフラッタープラグインパッケージが含まれています。プラグインパッケージは、AndroidおよびiOS向けのプラットフォーム固有の実装コードを含む特殊なパッケージです。アプリのフラッター部分は、プラットフォームチャネルを介してホスト(iOSまたはAndroid)にメッセージを送信します。このプラグインは、プラットフォームチャネル(イベントチャネル)に大きく依存しています。