All of lore.kernel.org
 help / color / mirror / Atom feed
* "complex" Bluetooth handling
@ 2016-06-15  5:10 Marco Trapanese
  2016-06-15  6:54 ` Ben-melech, Shiran
  0 siblings, 1 reply; 5+ messages in thread
From: Marco Trapanese @ 2016-06-15  5:10 UTC (permalink / raw)
  To: linux-bluetooth

Hello,

I'm working on an unattended machine (i.e. with no direct user 
interaction) which should handle the following Bluetooth features:

- A2DP
- AVRCP
- HFP
- GATT server
- ANCS consumer

all at the same time. I mean, the user might listen to a song and answer 
to incoming calls, while he's receiving the ANCS notifications and 
exchanging data through a custom GATT profile.

I have a USB / BT,BLE dongle and I'm using Raspbian Jessie with bluez 5.40.
Right now I'm just trying to make the things work before write a C++ 
application which manages all the stuff.

First question:

1. I mainly find Python scripts, but I'm interested into Qt5/C++ 
libraries. Is there something out there? Before write a new one from 
scratch....

2. Do you know any working example to subscribe to ANCS push notifications?

3. Do you have any suggestion about how to handle all those profile 
together?

Thanks!
Marco


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

* RE: "complex" Bluetooth handling
  2016-06-15  5:10 "complex" Bluetooth handling Marco Trapanese
@ 2016-06-15  6:54 ` Ben-melech, Shiran
  2016-06-15  7:20   ` Marco Trapanese
  0 siblings, 1 reply; 5+ messages in thread
From: Ben-melech, Shiran @ 2016-06-15  6:54 UTC (permalink / raw)
  To: Marco Trapanese, linux-bluetooth

Hi,

For BLE there is a library called TinyB which is pure c++ https://github.com/intel-iot-devkit/tinyb
Although I'm not sure it support classic BL profiles but I guess you can start with that.

Good Luck,

Shiran Ben-Melech
SW Engineer @ Flex Services | Intel Corporation
iNet: 8-465-3851 | Cellular: 054-6662594
Website: http://flexservices.intel.com

-----Original Message-----
From: linux-bluetooth-owner@vger.kernel.org [mailto:linux-bluetooth-owner@vger.kernel.org] On Behalf Of Marco Trapanese
Sent: Wednesday, June 15, 2016 08:11
To: linux-bluetooth@vger.kernel.org
Subject: "complex" Bluetooth handling

Hello,

I'm working on an unattended machine (i.e. with no direct user
interaction) which should handle the following Bluetooth features:

- A2DP
- AVRCP
- HFP
- GATT server
- ANCS consumer

all at the same time. I mean, the user might listen to a song and answer to incoming calls, while he's receiving the ANCS notifications and exchanging data through a custom GATT profile.

I have a USB / BT,BLE dongle and I'm using Raspbian Jessie with bluez 5.40.
Right now I'm just trying to make the things work before write a C++ application which manages all the stuff.

First question:

1. I mainly find Python scripts, but I'm interested into Qt5/C++ libraries. Is there something out there? Before write a new one from scratch....

2. Do you know any working example to subscribe to ANCS push notifications?

3. Do you have any suggestion about how to handle all those profile together?

Thanks!
Marco

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@vger.kernel.org More majordomo info at  http://vger.kernel.org/majordomo-info.html
---------------------------------------------------------------------
Intel Electronics Ltd.

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


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

* Re: "complex" Bluetooth handling
  2016-06-15  6:54 ` Ben-melech, Shiran
@ 2016-06-15  7:20   ` Marco Trapanese
  2016-06-15  7:53     ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 5+ messages in thread
From: Marco Trapanese @ 2016-06-15  7:20 UTC (permalink / raw)
  To: Ben-melech, Shiran, linux-bluetooth

Il 15/06/2016 08:54, Ben-melech, Shiran ha scritto:
> For BLE there is a library called TinyB which is pure c++ https://github.com/intel-iot-devkit/tinyb
> Although I'm not sure it support classic BL profiles but I guess you can start with that.

Thanks, it's interesting but I think it's just a guide to make my own 
library because it doesn't support GATT server yet:

> At this time it is not possible to create a BLE server

(from https://github.com/intel-iot-devkit/tinyb/issues/16)

I found an example in Qt5:

https://doc-snapshots.qt.io/qt5-dev/qtbluetooth-heartrate-server-example.html

I will try it as soon as possible.
If it works only ANCS is still uncovered.

Best regards
Marco




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

* Re: "complex" Bluetooth handling
  2016-06-15  7:20   ` Marco Trapanese
@ 2016-06-15  7:53     ` Luiz Augusto von Dentz
  2016-06-15  7:59       ` Marco Trapanese
  0 siblings, 1 reply; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2016-06-15  7:53 UTC (permalink / raw)
  To: Marco Trapanese; +Cc: Ben-melech, Shiran, linux-bluetooth

Hi Marco,

On Wed, Jun 15, 2016 at 10:20 AM, Marco Trapanese
<marcotrapanese@gmail.com> wrote:
> Il 15/06/2016 08:54, Ben-melech, Shiran ha scritto:
>>
>> For BLE there is a library called TinyB which is pure c++
>> https://github.com/intel-iot-devkit/tinyb
>> Although I'm not sure it support classic BL profiles but I guess you can
>> start with that.
>
>
> Thanks, it's interesting but I think it's just a guide to make my own
> library because it doesn't support GATT server yet:
>
>> At this time it is not possible to create a BLE server
>
>
> (from https://github.com/intel-iot-devkit/tinyb/issues/16)
>
> I found an example in Qt5:
>
> https://doc-snapshots.qt.io/qt5-dev/qtbluetooth-heartrate-server-example.html
>
> I will try it as soon as possible.
> If it works only ANCS is still uncovered.

I guess you don't want a mixed topology with both LE/BR, in that case
you will probably need to work in support GATT over BR/EDR properly
since the focus was on LE link. For audio, and media in general, that
have been a lot of work around car IVI systems, so provided you use
the same components (e.g. PulseAudio, oFono) this should work out of
the box.

-- 
Luiz Augusto von Dentz

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

* Re: "complex" Bluetooth handling
  2016-06-15  7:53     ` Luiz Augusto von Dentz
@ 2016-06-15  7:59       ` Marco Trapanese
  0 siblings, 0 replies; 5+ messages in thread
From: Marco Trapanese @ 2016-06-15  7:59 UTC (permalink / raw)
  To: Luiz Augusto von Dentz; +Cc: Ben-melech, Shiran, linux-bluetooth

Il 15/06/2016 09:53, Luiz Augusto von Dentz ha scritto:
>
> I guess you don't want a mixed topology with both LE/BR, in that case
> you will probably need to work in support GATT over BR/EDR properly
> since the focus was on LE link. For audio, and media in general, that
> have been a lot of work around car IVI systems, so provided you use
> the same components (e.g. PulseAudio, oFono) this should work out of
> the box.

Yes, PulseAudio and oFono "work out of the box" after fixing a looooot 
of issues :)
But I still need a library to handle them for example to enable them or 
manage connections, pairing, trusting, etc.. from my application.

About LE it's the only topology I need to exchange data, i.e. no need 
for "old" RFCOMM.
But still I need to have both a GATT server and an ANCS consumer (which 
should be a GATT client acting as a Central as far as I understand) 
working at the same time.

Thanks
Marco


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

end of thread, other threads:[~2016-06-15  7:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-15  5:10 "complex" Bluetooth handling Marco Trapanese
2016-06-15  6:54 ` Ben-melech, Shiran
2016-06-15  7:20   ` Marco Trapanese
2016-06-15  7:53     ` Luiz Augusto von Dentz
2016-06-15  7:59       ` Marco Trapanese

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.