To ship custom sensor data generated at 200 Hz from a BLE peripheral to a BLE Central over a GATT service I chose to start with template project in peripheral directory of SDK (version 15.0) to get the sensor data and then brought in files required for BLE NUS Service to ship this bag of bytes over to the central.
I also noticed I could have used HRS service instead of NUS service. What are the pro and cons of one over the other ?
Or would you recommend me to us re a proprietary UUID ?
The two services you mentioned are indeed proprietary services, and are designed for specific uses. The Heart Rate service (HRS) can be used for applications including monitoring the heart rate, and contains characteristics like “Heart Rate Measurement” and “Body Sensor Location”. The Nordic UART Service (NUS) makes it possible to emulate a serial port over BLE, and it includes the characteristics RX and TX.
However, you are free to create custom services for your own needs, which I would recommend for you in this case.
Here is a tutorial, with complete code for a custom service for SDK v15.0.0: https://github.com/bjornspockeli/custom_ble_service_example
Best regards Simon Iversen