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.

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/

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.

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.

  • "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." - Maybe you misunderstood the question; I'm not looking any implementation code but physical, real world devices that I could purchase in order to test my coding. For example; to test the heartrate service I purchased a ble heart rate monitor that supported 0x180D and tested my code against that hardware -i'm looking a list of hardware and what BLE profiles/services each individual hardware device supports – Mannie May 23 '18 at 13:41
  • 1
    I do not think such list exist. The only entity that could have it would be BT SIG, but a manufacturer does not need to provide that information in the SIG 'listing'. They only need to list what features of BLE spec they comply with. – MaliceInWonderland May 23 '18 at 19:27
  • Maybe FCC, ETSI, or KCC have one, but I doubt it. – MaliceInWonderland May 23 '18 at 19:42
  • thanks; was somewhat hoping that a public crowdsourced list existed but looks not to be the case. The cheap devices i've bought (near a dozen now) all have used their own transfer protocols over BLE – Mannie May 24 '18 at 7:01
  • Yeah that's sadly extremely common, hence the need for open source services. Reverse engineering services is way too tedious if you want to aggregate it into a database. – MaliceInWonderland May 25 '18 at 11:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.