Budget: 22000 UAH Deadline: 10 days
Hello,
Time estimate: ~2 weeks (10-12 working days)
Days 1-3: Setting up WebView and displaying the interface.
Days 4-7: Implementing BLE (scanning, connecting, Android/iOS permissions).
Days 8-10: Connecting Web and BLE (integrating commands).
Days 11-12: Testing (handling connection drops) and final assembly.
Stack: Flutter (iOS + Android from a single codebase, possibly writing a module in native).
WebView: Using flutter_inappwebview. This allows injecting JavaScript handlers.
Your web interface calls window.flutter_inappwebview.callHandler('sendCommand', data), Flutter intercepts this, sends the command to the device via BLE, and returns the result back to JS.
BLE (Bluetooth): Using proven libraries to work with GATT characteristics.
I know the nuances of working with BLE on Android (the need for BLUETOOTH_SCAN, ACCESS_FINE_LOCATION permissions for older versions) and iOS (NSBluetoothAlwaysUsageDescription).
I will implement a command queue so that data is not lost when buttons are pressed quickly in the web interface.
I have experience in developing mobile applications that interact with hardware (IoT). I understand the difference between Write with Response and Write without Response, as well as how to correctly handle device disconnections.
Question: Do you already have documentation on GATT (UUIDs of services and characteristics)? I can review it and provide an accurate time estimate.
I am ready to start working.
Best regards, Kateryna