I'm designing a BLE peripheral with a custom profile composed by Hearbeat, Device Information and Battery service plus a custom service for device operation parameters configuration and, somehow, create an attribute that is ~60KB which should be updated at a worst case scenario every 10 seconds. This device must be able to talk to all major mobile phone OS plus Windows/Linux (with or without default stack).
- What's the best option for the 60KB object transfer? I saw Object Transfer Profile (OTP) and "long write", does any of it solves the problem? It seems that OTP is not support by Nordic nor other BLE stacks (e.g. Android and iOS) and I'm not sure that is possible to use a long write for 60KB;
- If I'm using a custom profile will I still be recognized by applications that only use Heartbeat/Battery/Device Information service or usually they only look at profiles and not services? Meaning, does a fitness app will I look for Hearbeat service inside the device profile or I only look at the devices that implement Hearbeat Profile? My idea is that if the reader doesn't have support for my custom services it could use the ones that are standard;
I'm using a NRF52832 using SDK 12.0