esptouch_flutterПлагин Flutter для ESP-Touch для настройки сети для устройств ESP-8266 и ESP-32. Бежит на iOS и Android.
esptouch_flutter -это пакет плагина Flutter, который содержит API для ESP-Touch, написанный в DART в сочетании с специфичной для платформы реализации для Android с использованием Java и iOS с использованием Objective-C.
Этот пакет обеспечивает высокую настраиваемость для задач ESP Touch и идиоматического интерфейса DART для запуска задач. Пользовательские параметры задачи позволяют пользователям этого плагина изменить, как долго выполняется задача, вы можете установить его на часы, если это то, что требует ваш рабочий процесс.
pub.dev
Для полного примера приложения см. example папки в репозитории.
Пример приложения позволяет настроить Wi -Fi 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 в качестве taskParameter для ESPTouchTask . В примере кода я указываю типы ясности, но вы можете опустить типы, поскольку 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 Вы можете предоставить простой способ получить текущую сеть Wi -Fi SSID и BSSID. Используйте плагин connectivity для обнаружения состояния сети (Wi -Fi & Mobile/Cellular) на Android и iOS.
Используя ESP-Touch, вы можете настроить сеть для устройств ESP8266 и ESP32.
Протокол ESPPREANS ESPPRESIF реализует технологию Smart Config, чтобы помочь пользователям подключить устройства ESP8266EX- и ESP32, встроенные в сеть Wi-Fi с помощью простой конфигурации на смартфоне.
Вы можете прочитать больше о ESP-Touch здесь:
.pdf )EspressifApp/EsptouchForIOS ESP-Touch для iOS с использованием Objective-CEspressifApp/EsptouchForAndroid ESP-Touch для Android с использованием JavaОригинальные модули iOS и Android должны были быть в значительной степени настроены и настроены, чтобы поддержать пользовательские параметры задачи.
Начиная с iOS 14.6 com.apple.developer.networking.multicast , требуется право, чтобы разрешить вещание IP -пакетов на iOS, которое используется ESPTouch.
Чтобы включить его, вам необходимо запросить Enditlemant в качестве владельца учетной записи здесь. После того, как вы зарегистрируетесь, вы можете настроить его здесь 
Это проект с открытым исходным кодом, построенный командой инженерной команды Smaho от Munich для завершения мобильных наборов ESP-Touch от ESPPRESSIF.
Если вы приходите из IoT, вы можете не знать, что такое Flutter.
Flutter - это инструментарий пользователя Google для создания красивых, местных опытов для iOS и Android из одной кодовой базы. Для начала работы с Flutter, просмотрите онлайн -документацию. Этот репозиторий содержит пакет плагинов Flutter для ESP-Touch. Пакет плагинов-это специализированный пакет, который включает в себя код реализации для Android и iOS для Android и iOS. Флэттерская часть приложения отправляет сообщения своему хосту (iOS или Android) по каналу платформы. Этот плагин сильно полагается на каналы платформы (каналы событий).