3

I'm looking a simple reference list that would shows me the supported BLE Services on each devices - for example;

  • MIO Heart Rate Global -> (Heart Rate 0x180D)
  • Archon Wireless Bike Meter -> (Cycling Speed & Cadence 0x1816)

Rationale: I'm developing a generic app that supports as many of the published BLE services as possible however, in order for me to test this app I need physical hardware to validate my code against as I've searched for BLE hardware emulators but none seem to exist so I now need to travel down the physical hardware route in order to test and validate my coding.

Mannie
  • 179
  • 1
  • 4

3 Answers3

5

I think the only place that may have such a list would be the Bluetooth SIG as they will know what products are certified.

Otherwise each profile might list a few examples of devices that implement it.

The closest example of something similar I can think of is the ANT+ sig which hosts the following directory of devices/profiles https://www.thisisant.com/directory/

hardillb
  • 12,813
  • 1
  • 21
  • 34
2

Yes, Bluetooth SIG is the best place to look for all the services and profiles available till date. As of hardware, I have worked on PSoC4 BLE by Cypress Semiconductors. It is a pretty good device that supports BLE version 4.0 (newer boards support higher version of BLE as well). It has all the services and profiles listed by SIG. The PSoC Creator IDE is very user friendly, so you don't have to code for different services and profiles i.e. it supports graphical UI. You can find the tutorial here.

ron123456
  • 423
  • 4
  • 12
1

You are asking the wrong question.

Every BLE device is able to implement almost any given service, after all it's just a look-up table (ATtribute Table). The juicy parts is how you interact with the content of that table.

An official BT SIG BLE profile has some mandatory features and some optional features. This makes it easier to share the implementation of any such service (the juicy parts), but this is rarely done as the implementation is usually found in a BLE device vendors SDK (under license not to be used on another vendors platform).

Due to the fact that implementing a service is labor intensive, the BLE device vendors will usually have implemented only few official BLE profiles (in their SDKs), with their mandatory features and only some of their optional features.

This in turn means the it is up to the individual developer to implement any service, which highlights the fact that sharing this service with the community is paramount as it is fairly easy to re-use a service cross-platform.

What you are looking for are generic C-implementations of the official BT SIG profiles and common third party profiles, and for that you will have to search manually. There are countless project on github, but finding them is the hard part.