esptouch_flutterESP-8266 및 ESP-32 장치 용 네트워크를 구성하기위한 ESP 터치 용 플러터 플러그인. iOS 및 Android에서 실행됩니다.
esptouch_flutter 는 Flutter 플러그인 패키지로 DART로 작성된 ESP-Touch 용 API가 포함되어 있으며 Java 및 IOS를 사용하여 Android 용 플랫폼 별 구현 및 Objective-C를 사용하는 IOS가 포함되어 있습니다.
이 패키지는 ESP 터치 작업에 대한 높은 사용자 정의 가능성과 작업을 시작하기위한 관용 다트 인터페이스를 제공합니다. 사용자 정의 작업 매개 변수를 사용하면이 플러그인의 사용자가 작업 실행 시간을 변경할 수 있습니다. 워크 플로우가 필요한 경우 작업을 몇 시간으로 설정할 수 있습니다.
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 ();실제 예에서는 사용자로부터 Wi -Fi 자격 증명을 얻을 수 있으며 구성된 장치를 표시하거나 SQLITE에 로컬로 저장하거나 백엔드로 보낼 수 있습니다.
개발을 위해 실제 전화를 사용하십시오. 플러그인은 에뮬레이터 및 시뮬레이터에서 작동하지 않으므로 개발을 위해서는 실제 전화가 필요합니다. flutter devices 실행하여 확인하십시오.
임베디드 장치를 준비하십시오. ESP-Touch 앱이 작동하는지 확인하려면 Wi-Fi 네트워크에 연결하려면 ESP8266 및 ESP32가있는 하드웨어가 필요합니다.
connectivity 현재 WiFi 네트워크의 SSID 및 BSSID를 얻는 쉬운 방법을 제공 할 수 있습니다. Android 및 iOS에서 네트워크 상태 (WiFi & Mobile/Cellular) 연결을 발견하려면 connectivity 플러그인을 사용하십시오.
ESP-Touch를 사용하면 ESP8266 및 ESP32 장치 용 네트워크를 구성 할 수 있습니다.
Espressif의 ESP-Touch 프로토콜은 스마트 폰의 간단한 구성을 통해 사용자가 ESP8266Ex- 및 ESP32 흡착 장치를 Wi-Fi 네트워크에 연결하는 데 도움이되는 스마트 구성 기술을 구현합니다.
esp-touch에 대한 자세한 내용은 다음을 참조하십시오.
.pdf )EspressifApp/EsptouchForIOS esp-touchEspressifApp/EsptouchForAndroid esp-touch사용자 정의 작업 매개 변수를 지원하기 위해 원래 iOS 및 Android 모듈을 크게 사용자 정의하고 조정해야했습니다.
iOS 14.6부터 시작하여 com.apple.developer.networking.multicast 자격이 필요합니다. Esptouch에서 사용하는 iOS에서 IP 패키지를 방송 할 수 있습니다.
OT를 활성화하기 위해서는 여기에서 계정 소지자로서 자격을 요청해야합니다. 등록하면 여기에서 구성 할 수 있습니다 
이 프로젝트는 Espressif의 ESP 터치 모바일 앱 키트를 포장하기 위해 뮌헨의 Smaho Engineering 팀이 구축 한 오픈 소스 프로젝트입니다.
IoT 배경에서 오면 Flutter가 무엇인지 모를 수도 있습니다.
Flutter는 단일 코드베이스에서 iOS 및 Android에 대한 아름답고 기본적인 경험을 만드는 Google의 UI 툴킷입니다. Flutter로 시작하는 데 도움이 되려면 온라인 문서를보십시오. 이 저장소에는 ESP-Touch 용 플러터 플러그인 패키지가 포함되어 있습니다. 플러그인 패키지는 Android 및 iOS 용 플랫폼 별 구현 코드를 포함하는 특수 패키지입니다. 앱의 플러터 부분은 메시지를 플랫폼 채널을 통해 호스트 (iOS 또는 Android)에 보냅니다. 이 플러그인은 플랫폼 채널 (이벤트 채널)에 크게 의존합니다.