esptouch_flutterFlutter Plugin para ESP-Touch para configurar la red para dispositivos ESP-8266 y ESP-32. Se ejecuta en iOS y Android.
esptouch_flutter es el paquete Flutter Plugin que contiene una API para ESP-Touch escrita en DART combinada con la implementación específica de la plataforma para Android usando Java e iOS usando Objective-C.
Este paquete proporciona una alta personalización a las tareas de Touch ESP y una interfaz de dardos idiomáticos para iniciar tareas. Los parámetros de tarea personalizados permiten a los usuarios de este complemento cambiar cuánto tiempo se ejecuta la tarea, podría establecerla en horas, si esto es lo que requiere su flujo de trabajo.
pub.dev
Para una aplicación de ejemplo completa , consulte la carpeta example en el repositorio.
La aplicación de ejemplo le permite configurar WiFi SSID, BSSID, contraseña, la duración de la tarea, el recuento de tareas esperados y muchos más.
Para una aplicación más simple posible , consulte el repositorio 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 (); Si desea personalizar la tarea, proporcione una instancia de ESPTouchTaskParameter como taskParameter a ESPTouchTask . En el ejemplo del código, especifico los tipos de claridad, pero puede omitir los tipos ya que Dart puede inferirlos.
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 ();En un ejemplo del mundo real, obtendrá las credenciales WiFi del usuario y podría mostrar el dispositivo configurado, guardarlo localmente en SQLite o enviarlo a su backend.
Use un teléfono real para el desarrollo. El complemento no funcionará en emuladores y simuladores, por lo que necesita teléfonos reales para el desarrollo. Ejecute flutter devices para verificar.
Prepare sus dispositivos incrustados. Para verificar que la aplicación ESP-Touch funcione, necesita algo de hardware con ESP8266 y ESP32 para conectarse a su red WiFi.
connectivity Puede proporcionar una manera fácil de obtener el SSID y BSSID de la red WiFi actual. Use el complemento de connectivity para descubrir el estado de la conectividad de la red (WiFi y Mobile/Cellular) en Android e iOS.
Usando ESP-Touch, puede configurar la red para dispositivos ESP8266 y ESP32.
El protocolo ESP-Touch de ESPRESSIF implementa la tecnología Smart Config para ayudar a los usuarios a conectar dispositivos Embedded ESP8266EX y ESP32 a una red Wi-Fi a través de una configuración simple en un teléfono inteligente.
Puedes leer más sobre ESP-Touch aquí:
.pdf )EspressifApp/EsptouchForIOS esp-touch para iOS usando Objective-CEspressifApp/EsptouchForAndroid ESP-touch para Android usando JavaLos módulos originales de iOS y Android tenían que estar muy personalizados y modificados para admitir parámetros de tareas personalizados.
Comenzando con iOS 14.6 el com.apple.developer.networking.multicast derecho es necesario para permitir la transmisión de paquetes IP en iOS, que utiliza Esptouch.
Para habilitarlo, debe solicitar el derecho como titular de cuentas aquí. Una vez que esté inscrito, puede configurarlo aquí 
Este es un proyecto de código abierto construido por el equipo de ingeniería de Smaho desde Munich para envolver los kits de aplicaciones móviles ESP-Touch de ESPRESSIF.
Si vienes de fondo IoT, es posible que no sepas qué es Flutter.
Flutter es el kit de herramientas de interfaz de usuario de Google para crear experiencias nativas hermosas para iOS y Android a partir de una sola base de código. Para obtener ayuda para comenzar con Flutter, vea la documentación en línea. Este repositorio contiene un paquete de complemento Flutter para ESP-Touch. Un paquete de complementos es un paquete especializado que incluye un código de implementación específico para la plataforma para Android e iOS. La parte de Flutter de la aplicación envía mensajes a su host (iOS o Android) a través de un canal de plataforma. Este complemento se basa en los canales de plataforma (canales de eventos) en gran medida.