To build a BLE app, you need
- service UUID
- the service's characteristic UUIDs
- the characteristic's permissions (read / write / notify ...)
- If you are sending any data, you need to know the value type (uint8_t, uint16_t ...)
For an instance, if it was environment sensing service, I can read this PDF from this page, and find Environmental Sensing
under GATT Service
and the UUID is 0x181A
. Then I can go on reading the same PDF and find Temperature
(although it's T emperature
in text for some reasons, and it can't be searched by Temperature
) under GATT Characteristic and Object Type
, and the UUID is 0x2A6E
.
OK, so far so good. Then I hit a wall. How about the data size (e.g. uint16_t or whatever) to notify or which permissions are allowed (e.g. read / write ...)?
After hours of googling, I finally found this github and this github. But this is not official, somebody copied and evacuated them.
How do you efficiently program a BLE app when you don't have official XML files to look up?