Hey all,
making the smartphone communicate with the device via bluetooth is the crucial and most difficult part of developing the cross-platform app. If anyone wants to help, it would be really appreciated.
The framework used relies upon TypeScript and Angular, a superset of JavaScript.
Living in a legislation where all google stuff is banned, including google android service and app store, I am really not interested in any platform dependency nor per-existing internet connection. I was working on RPi to make use docker to deploy a suit of postgis based GIS, and looking forward to render map on OLED etc.
Would you consider ditch the whole browser thing, or at least no vendor dependency? I am interested to discuss this but find no thread about the platform choice etc.
Ionic uses native bindings in a webapp shell, which means apps can be developed as web components whilst appearing as native. “Web” doesn’t imply having a working Internet connection as all files are locally stored and self-contained. There is no vendor-dependency except for the compilation that, for iOS, must be performed on a Mac.
The platform choice was not discussed, we had a volunteer proposing Flutter and myself Ionic. I kept working on the app while there are no news about the Flutter version.
Fun fact: both Angular and Flutter are Google-backed projects.
I have a little exposure to React, in my concept maps, if you are using a mobile browser for BLE data, you will need the browser to be “properly” built to link to the local host BLE stack. Maybe we need a layer to utilize the protobuf with lower barrier.
My presumptions are:
The BLE working with GATT profile. If debugging a bug fails on ESP32, you might need a RF protocol analyzer like ubertooth or sdr
If use a socket connection, then wifi hot-spot works for a small group of people, but managing accounts and access for a single node could introduce unnecessary complexity.
If web app is intended for users on iOS, i think a better alternative is to use a opengl or qt quirk to make a UI on OLED: do you really that trust apple? as I can build my own android firmware for my phone, my own browser for my android handheld, but none of this could be done on iOS.
Mobile development doesn’t need such low level thinking, it’s mostly wrappers around predefined API. In particular, Ionic BLE API works like Arduino Serial, respectively with a read(buf, reg)
and write(byte, reg)
method. Pairing already works, now I need to transmit and receive data using the protobufs data carrier objects.
Just e-mailed Chris Ballinger who built a BLEMeshchat ios/android solution several years back to see if he can help.