All of lore.kernel.org
 help / color / mirror / Atom feed
* Blood Pressure GATT LE profile
@ 2017-01-23 16:44 yon ar c'hall
  2017-01-24 14:45 ` Felipe Ferreri Tonello
  0 siblings, 1 reply; 5+ messages in thread
From: yon ar c'hall @ 2017-01-23 16:44 UTC (permalink / raw)
  To: linux-bluetooth

Hello,

The Blood Pressure LE profile is not listed on the
www.bluez.org/profiles web page; can you please confirm whether this
information is up to date or not regarding Bluez 5.43 ?

Note : we downloaded the last Bluez source archive, and tried to
understand how the GATT LE profiles were implemented, e.g. for the
Health Thermometer profile, but we are missing some points of the
bluez's user-space architecture (are the "doc/*-api.txt" and the
"plugin/gatt-example.c" files still valid ? Is it just a matter of
D-BUS configuration/declaration as we can see in
"test/test-thermometer.py" ?). If it turns out that we have to
implement the Blood Pressure profile, could we get a pointer to some
programming information, please ?

Thanks.
-Yon

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Blood Pressure GATT LE profile
  2017-01-23 16:44 Blood Pressure GATT LE profile yon ar c'hall
@ 2017-01-24 14:45 ` Felipe Ferreri Tonello
  2017-01-24 15:53   ` yon ar c'hall
  0 siblings, 1 reply; 5+ messages in thread
From: Felipe Ferreri Tonello @ 2017-01-24 14:45 UTC (permalink / raw)
  To: yon ar c'hall, linux-bluetooth

[-- Attachment #1: Type: text/plain, Size: 1319 bytes --]

Hi Yon,

On 23/01/17 16:44, yon ar c'hall wrote:
> Hello,
> 
> The Blood Pressure LE profile is not listed on the
> www.bluez.org/profiles web page; can you please confirm whether this
> information is up to date or not regarding Bluez 5.43 ?

Yes.

> 
> Note : we downloaded the last Bluez source archive, and tried to
> understand how the GATT LE profiles were implemented, e.g. for the
> Health Thermometer profile, but we are missing some points of the
> bluez's user-space architecture (are the "doc/*-api.txt" and the
> "plugin/gatt-example.c" files still valid ?

plugin/gatt-example.c is not in the repository, as it is relevant
anymore. gatt-example implemented a gatt-server using older deprecated API.

Anyway, there are two ways to implement a GATT client profile (Central
role). As a generic bluetoothd plugin that will export an API to
applications via D-Bus, more likely. Or in your own application using
the GATT D-Bus API that bluetoothd exports.

> Is it just a matter of
> D-BUS configuration/declaration as we can see in
> "test/test-thermometer.py" ?). If it turns out that we have to
> implement the Blood Pressure profile, could we get a pointer to some
> programming information, please ?

test/example-gatt-client implements the Heart Rate profile quite simply
using the D-Bus API.

-- 
Felipe

[-- Attachment #2: 0x92698E6A.asc --]
[-- Type: application/pgp-keys, Size: 7291 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Blood Pressure GATT LE profile
  2017-01-24 14:45 ` Felipe Ferreri Tonello
@ 2017-01-24 15:53   ` yon ar c'hall
  2017-01-24 19:02     ` Felipe Ferreri Tonello
  0 siblings, 1 reply; 5+ messages in thread
From: yon ar c'hall @ 2017-01-24 15:53 UTC (permalink / raw)
  To: Felipe Ferreri Tonello; +Cc: linux-bluetooth

Hi Felipe,

On Tue, Jan 24, 2017 at 3:45 PM, Felipe Ferreri Tonello
<eu@felipetonello.com> wrote:

> plugin/gatt-example.c is not in the repository, as it is relevant
> anymore. gatt-example implemented a gatt-server using older deprecated API.

Oops, I made a typo : the sub-folder is "plugins" (with "s"), not
"plugin", and it's still in the bluez archive (5.43).

> Anyway, there are two ways to implement a GATT client profile (Central
> role). As a generic bluetoothd plugin that will export an API to
> applications via D-Bus, more likely.

We didn't find any source of a bluetoothd plugin implementing a GATT
LE profile (such as those listed on http://www.bluez.org/profiles/ :
HTP, HoG,...). Sorry, we're still missing something... Would there be
any piece of doc that could help for creating a bluetoothd plugin, as
it looks to be the correct way to proceed ?

> Or in your own application using the GATT D-Bus API that bluetoothd exports.
> test/example-gatt-client implements the Heart Rate profile quite simply
> using the D-Bus API.

We do understand the Python code of test/example-gatt-client :-) It
clearly helps to get the whole picture.
Thanks for the pointer.

-Yon

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Blood Pressure GATT LE profile
  2017-01-24 15:53   ` yon ar c'hall
@ 2017-01-24 19:02     ` Felipe Ferreri Tonello
  2017-01-24 19:19       ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 5+ messages in thread
From: Felipe Ferreri Tonello @ 2017-01-24 19:02 UTC (permalink / raw)
  To: yon ar c'hall; +Cc: linux-bluetooth

[-- Attachment #1: Type: text/plain, Size: 1872 bytes --]

Hi Yon,

On 24/01/17 15:53, yon ar c'hall wrote:
> Hi Felipe,
> 
> On Tue, Jan 24, 2017 at 3:45 PM, Felipe Ferreri Tonello
> <eu@felipetonello.com> wrote:
> 
>> plugin/gatt-example.c is not in the repository, as it is relevant
>> anymore. gatt-example implemented a gatt-server using older deprecated API.
> 
> Oops, I made a typo : the sub-folder is "plugins" (with "s"), not
> "plugin", and it's still in the bluez archive (5.43).

That is true, but it is still not usable anymore. From git log:

commit cc80afff47938a2c93aff0f7904fd937e6333908
Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date:   Tue Nov 8 11:00:28 2016 +0200

    build: Remove gatt-example plugin

    This examples can be done over D-Bus already so it makes no sense to
have
    it as a plugin and in fact it currently it doesn't even work since
it was
    never ported to the new code under src/shared.

> 
>> Anyway, there are two ways to implement a GATT client profile (Central
>> role). As a generic bluetoothd plugin that will export an API to
>> applications via D-Bus, more likely.
> 
> We didn't find any source of a bluetoothd plugin implementing a GATT
> LE profile (such as those listed on http://www.bluez.org/profiles/ :
> HTP, HoG,...). Sorry, we're still missing something... Would there be
> any piece of doc that could help for creating a bluetoothd plugin, as
> it looks to be the correct way to proceed ?

Not really. Just source code.

You can check profile implementations under profiles/ and then just
check the code there.

> 
>> Or in your own application using the GATT D-Bus API that bluetoothd exports.
>> test/example-gatt-client implements the Heart Rate profile quite simply
>> using the D-Bus API.
> 
> We do understand the Python code of test/example-gatt-client :-) It
> clearly helps to get the whole picture.
> Thanks for the pointer.
> 

-- 
Felipe

[-- Attachment #2: 0x92698E6A.asc --]
[-- Type: application/pgp-keys, Size: 7177 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Blood Pressure GATT LE profile
  2017-01-24 19:02     ` Felipe Ferreri Tonello
@ 2017-01-24 19:19       ` Luiz Augusto von Dentz
  0 siblings, 0 replies; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2017-01-24 19:19 UTC (permalink / raw)
  To: Felipe Ferreri Tonello; +Cc: yon ar c'hall, linux-bluetooth

Hi,

On Tue, Jan 24, 2017 at 9:02 PM, Felipe Ferreri Tonello
<eu@felipetonello.com> wrote:
> Hi Yon,
>
> On 24/01/17 15:53, yon ar c'hall wrote:
>> Hi Felipe,
>>
>> On Tue, Jan 24, 2017 at 3:45 PM, Felipe Ferreri Tonello
>> <eu@felipetonello.com> wrote:
>>
>>> plugin/gatt-example.c is not in the repository, as it is relevant
>>> anymore. gatt-example implemented a gatt-server using older deprecated API.
>>
>> Oops, I made a typo : the sub-folder is "plugins" (with "s"), not
>> "plugin", and it's still in the bluez archive (5.43).
>
> That is true, but it is still not usable anymore. From git log:
>
> commit cc80afff47938a2c93aff0f7904fd937e6333908
> Author: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> Date:   Tue Nov 8 11:00:28 2016 +0200
>
>     build: Remove gatt-example plugin
>
>     This examples can be done over D-Bus already so it makes no sense to
> have
>     it as a plugin and in fact it currently it doesn't even work since
> it was
>     never ported to the new code under src/shared.
>
>>
>>> Anyway, there are two ways to implement a GATT client profile (Central
>>> role). As a generic bluetoothd plugin that will export an API to
>>> applications via D-Bus, more likely.
>>
>> We didn't find any source of a bluetoothd plugin implementing a GATT
>> LE profile (such as those listed on http://www.bluez.org/profiles/ :
>> HTP, HoG,...). Sorry, we're still missing something... Would there be
>> any piece of doc that could help for creating a bluetoothd plugin, as
>> it looks to be the correct way to proceed ?
>
> Not really. Just source code.
>
> You can check profile implementations under profiles/ and then just
> check the code there.
>
>>
>>> Or in your own application using the GATT D-Bus API that bluetoothd exports.
>>> test/example-gatt-client implements the Heart Rate profile quite simply
>>> using the D-Bus API.
>>
>> We do understand the Python code of test/example-gatt-client :-) It
>> clearly helps to get the whole picture.
>> Thanks for the pointer.
>>

In case you are looking for C examples, take a look at bluetoothctl
code under client/, it is pretty complete generic GATT client.


-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-01-24 19:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-23 16:44 Blood Pressure GATT LE profile yon ar c'hall
2017-01-24 14:45 ` Felipe Ferreri Tonello
2017-01-24 15:53   ` yon ar c'hall
2017-01-24 19:02     ` Felipe Ferreri Tonello
2017-01-24 19:19       ` Luiz Augusto von Dentz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.