Бюджет: 22000 UAH Срок: 10 дней
Здравствуйте,
Оценка времени: ~2 недели (10-12 рабочих дней)
Дни 1-3: Настройка WebView и отображение интерфейса.
Дни 4-7: Реализация BLE (сканирование, подключение, разрешения Android/iOS).
Дни 8-10: Соединение Web и BLE (интеграция команд).
Дни 11-12: Тестирование (обработка разрывов связи) и финальная сборка.
Стек: Flutter (iOS + Android с единой кодовой базы, возможно написание модуля на нативе).
WebView: Использование flutter_inappwebview. Это позволяет инъектировать JavaScript-обработчики (JavaScript Handlers).
Ваш веб-интерфейс вызывает window.flutter_inappwebview.callHandler('sendCommand', data), Flutter перехватывает это, отправляет команду на устройство через BLE и возвращает результат обратно в JS.
BLE (Bluetooth): Использование проверенных библиотек для работы с GATT-характеристиками.
Я знаю нюансы работы с BLE на Android (необходимость разрешений BLUETOOTH_SCAN, ACCESS_FINE_LOCATION для старых версий) и iOS (NSBluetoothAlwaysUsageDescription).
Реализую очередь команд (Queue), чтобы данные не терялись при быстром нажатии кнопок в веб-интерфейсе.
У меня есть опыт разработки мобильных приложений, которые взаимодействуют с аппаратным обеспечением (IoT). Понимаю разницу между Write with Response и Write without Response, а также как корректно обрабатывать отключение устройства.
Вопрос: Есть ли у вас уже документация по GATT (UUID сервисов и характеристик)? Я могу просмотреть ее и дать точную оценку по времени.
Готова приступить к работе.
С уважением, Екатерина