I have made some progress on BLE and Android. At first, I tried to exchange simple values like the battery level between the LEDzep’s Android app and the nRF81822. It helped me to understand how the Android API works with BLE.
Then, I decided that we should establish all the services we are going to need to exchange data between the balloons and the operator.
After some thinking, I came up with this first draft:
- Battery Service : to exchange the battery level
- Generic Access : to exchange balloon’s name and some other useful information
- Link Loss : to be alerted if we lose radio link with a balloon
- Immediate Alert : to be alerted if a balloon collides with something
- Tx Power Level : to exchange data about the Tx power level
Those services are the standard services defined by the Bluetooth SIG (see https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx). We also have to add some services because they are not standard:
- Command service: to exchange command data for motors and servomotor
- Altitude service: to exchange data provided by the altimeter
- Compass service: to exchange data provided by the compass
As I said, this is an early draft and it is very likely that we have to change it a bit.
Thanks to Alexis’s mail, I was able to set up a BLE sniffer. It’s going to be really useful for the upcoming work on Android and nRF51822.
More to come soon!