Для работы с Wi-Fi используется библиотека wifi_iot, которая обеспечивает автоматическое управление подключениями. При первом сопряжении прибора с приложением логин и пароль от его Wi-Fi-точки передаются
по BLE и сохраняются в приложении. Эти данные используются для всех последующих подключений, что позволяет пользователю не вводить
их вручную. Когда приложение определяет, что требуется доступ
к видеопотоку или медиафайлам, оно автоматически инициирует подключение к точке доступа прибора с помощью wifi_iot и переключает передачу данных на локальную сеть устройства.
Реализована проверка состояния Wi-Fi перед подключением. Если модуль Wi-Fi на смартфоне отключён — как через системную шторку, так
и в настройках — приложение выводит уведомление с инструкцией
о необходимости включить Wi-Fi, чтобы продолжить работу. После успешного подключения приложение автоматически начинает получать RTSP-видеопоток и передавать/загружать медиафайлы.
Благодаря использованию wifi_iot и интеграции с BLE, процесс полностью автоматизирован и не требует дополнительных действий со стороны пользователя. Это обеспечивает быстрый доступ к видеотрансляции
и контенту галереи, стабильное соединение и удобство работы с прибором.
Дополнительно реализована система обработки разрывов соединения, учитывающая различные сценарии работы BLE и Wi-Fi:
1. Если прибор подключен только по BLE:
- Приложение автоматически пытается переподключиться без дополнительного запроса к пользователю.
- Если переподключение не удалось, пользователю отображается сообщение «Связь с прибором потеряна» и предлагаются два варианта действий: «Переподключиться» или «Закрыть».
2. При одновременной работе BLE и Wi-Fi:
- Если разорвано соединение по BLE, но Wi-Fi остаётся активным — применяется сценарий из пункта 1.
- Если разорвано соединение по Wi-Fi, приложение отображает окно подключения к Wi-Fi в разделах “Галерея “и “Видеотрансляция”. Если в текущем контексте Wi-Fi не требуется, ошибка не отображается.
- Если разорваны оба соединения (BLE и Wi-Fi), пользователю показывается единое сообщение «Связь с прибором потеряна» с возможностью «Переподключиться» или «Закрыть», после чего приложение действует по сценарию из пункта 1.
Если переподключиться не удаётся, пользователь автоматически переводится с экрана просмотра видеотрансляции на экран со списком активных устройств. При этом, если соединение по BLE разорвано, устройство удаляется из списка активных и становится доступным только после следующего успешного сопряжения.