Page 1 of 2

BLE GATT Services

Posted: Thu Feb 16, 2017 3:10 pm
by dperez
Hi,

After exploring into the esp-idf and its files/examples, I haven't found any reference to Bluetooth SIG specified GATT Services like Alert Notification Service, Battery Service, Current Time Service, etc.

My doubt is about if espressif is going to facilitate examples or code to implement these already defined and specified common services or each developer must implement the service on its own.

I would like to know if it is planned on your roadmap...
Specified GATT Services sources or implementations: Y/N? if Y, when?
More complete BLE examples: Y/N? if Y, when?

Thanks in advance!

Re: BLE GATT Services

Posted: Fri Feb 24, 2017 8:01 am
by dperez
No one from Espressif can answer this doubts/questions?

Re: BLE GATT Services

Posted: Sun Feb 26, 2017 6:30 am
by ESP_Sprite
Not sure if this is on the timeline, but at the moment, we're working on getting base features like BT Classic working first. If there's need for it (and your voice has been heard in that respect) we will look at more high-level examples and framework solutions later.

Re: BLE GATT Services

Posted: Sun Feb 26, 2017 7:56 pm
by Lucas.Hutchinson
I would also like to see some more in depth examples of both the GATTC and GATTS.

In particular on gatt_server:
- clearer examples/documentation on how to setup a service
- how to then add multiple characteristics to this service
- How to handle the the client characteristic configuration (eg notifications)
- How and where to alter and set values for particular characteristics.

An example such as a UART<->BLE bridge on both the GATT_Server and GATT_Client would be very useful, both as an example and as a way of explaining what certain stack functions do and how we should use the BLE stack.

Nordic has an example that does this that i have used in the past as a great way to understand how their BLE tack works and should be used. Links https://devzone.nordicsemi.com/tutorials/4/ and https://github.com/NordicSemiconductor/ ... T-examples.

Re: BLE GATT Services

Posted: Tue Feb 28, 2017 2:01 am
by MarkIngle
I second the request for more examples on gatt_server! Thanks in advance!

Re: BLE GATT Services

Posted: Tue Feb 28, 2017 8:09 pm
by madscientist_42
Lucas.Hutchinson wrote:I would also like to see some more in depth examples of both the GATTC and GATTS.

In particular on gatt_server:
- clearer examples/documentation on how to setup a service
- how to then add multiple characteristics to this service
- How to handle the the client characteristic configuration (eg notifications)
- How and where to alter and set values for particular characteristics.

An example such as a UART<->BLE bridge on both the GATT_Server and GATT_Client would be very useful, both as an example and as a way of explaining what certain stack functions do and how we should use the BLE stack.

Nordic has an example that does this that i have used in the past as a great way to understand how their BLE tack works and should be used. Links https://devzone.nordicsemi.com/tutorials/4/ and https://github.com/NordicSemiconductor/ ... T-examples.

Knowing a bit abut BLE and all, I don't think that a UART<->BLE bridge is a good thing to work via GATT. GATT's more for the current "general" model of use which is for grabbing small snippets of info off of a device like temp, heart rate, etc. You're grabbing an attribute or writing to it. You can certainly DO that sort of thing, but I'd think you're better served with a L2CAP channel set up for that sort of thing. That way it can stream and it's how most would've implemented things if you've got 4.1 capable hardware and firmware in the first place. It's still a good use of LE to make a low-speed, 115k or less, UART link with- but not with GATT it isn't. Clumsy. Painful.

Re: BLE GATT Services

Posted: Thu Mar 02, 2017 6:49 am
by dperez
I think that some examples about GATT Server and client would be great to understand how to manage the stack and it features. Also taking into account security and different ways of pairing/bonding.

This kind of high level examples focused on BLE GATT server/client will make it easier any develop on ESP32.

Until you give some documentation or examples is there any other way instead of digging into the code to learn how to develop BLE application? any reference documentation, application note or similar?

Thanks in advance.

Re: BLE GATT Services

Posted: Thu Mar 02, 2017 2:39 pm
by madscientist_42
dperez wrote:I think that some examples about GATT Server and client would be great to understand how to manage the stack and it features. Also taking into account security and different ways of pairing/bonding.

This kind of high level examples focused on BLE GATT server/client will make it easier any develop on ESP32.

Until you give some documentation or examples is there any other way instead of digging into the code to learn how to develop BLE application? any reference documentation, application note or similar?

Thanks in advance.
Part of it would be the LE sections of the Bluetooth 4.0/4.1/4.2 specification. It's convoluted, but it explains a lot of the things about what you're talking to. A little easier API to drive would've been appreciated, but hey, that equates to larger footprint in most cases, so you live with it. Right now, I'm trying to sort out the disconnect I currently have with making a GATT connection/session and driving it within the framework. I've got devices including the Nordic Android App running on my phone that should be connectable, etc. and my mods to the GATT client app aren't doing what I expected of them. That's today's work for the most part.

Re: BLE GATT Services

Posted: Sat Mar 04, 2017 5:20 am
by MarkIngle
BLE seems like a lot of work for little gain at the moment. Init, event handler, adv profile, then service profile with characteristics, etc....lot of steps and really hard to grasp the different architecture concepts. But maybe this is how the standard pulls off the low energy part...by reducing the amount of data passed .....passing hex values that the client translates into meaningful data categories and values. I think I understand the concept but boy is BLE hard to learn!

Re: BLE GATT Services

Posted: Fri Apr 14, 2017 4:44 pm
by BeardOfDoom
Grettings,

I'm also very interested in BT LE and a more high-level approach for setting up a simple GATT-service and
sharing sensor values with the world would be awesome :)
Until then i try to find out how stuff works by digging into the example code.

Also: can you guys recommend a good android app for BT LE testing? I currently use "BLE TOOL" but i've got a feeling that there exists something better out there...