Бюджет: 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 сервісів та характеристик)? Я можу переглянути її та дати точну оцінку по часу.
Готова приступити до роботи.
З повагою, Катерина