I spent many hours this week learning about BLE. I've never used any BLE devices in projects before, so I needed to get up to date.
I found some good training videos online.
This set of videos from Ellisys is very good:
https://www.youtube.com/watch?v=eZGixQzBo7Y&list=PLYj4Cw17Aw7ypuXt7mDFWAyy6P661TD48
Nordic Semiconductor also posted a few BLE videos:
https://www.youtube.com/watch?v=pLgnHuGI69s
https://www.youtube.com/watch?v=YAADUQ_Vxpk
It's interesting that one module can have more than one BLE role at the same time.
The basic protocol for data from a sensor is by declaring it as a service characteristic.
Some of the BLE definitions can be found in BLE_PeripheralServer.h
/** \brief Start of <i>Manufacturer Specific Data</i> containing ON * Semiconductor <i>Company Identifier Code</i> <t>0x0362</t>. */ #define BDK_BLE_MANUFACTURER_ID "\xff\x62\x03" #define BDK_BLE_MANUFACTURER_ID_LENGTH 3
Some of these services and characteristic UUIDs are already defined in the BLE spec.
https://www.bluetooth.com/specifications/
https://www.bluetooth.com/specifications/gatt/characteristics/
https://www.bluetooth.com/specifications/assigned-numbers/16-bit-uuids-for-members/
Other useful information comes from road test reviews like the one from shabaz
ON Semi RSL10-SENSE-DB-GEVK Sensor Board - Review
I spent some time "fiddling" with his RSL10 browser app.
Then I found the ON semiconductor docs:
C:\Users\username\ON_Semiconductor\PACK\ONSemiconductor\RSL10\3.2.608\documentation\ceva
Now I feel confident enough to try and modify the example code.
Top Comments