Bluetooth Low Energy (a.k.a Bluetooth LE, BTLE, Bluetooth Smart)

Gatt Client support

20 Jul 2015

@JPaul: I haven't looked at your logs very carefully, but it seems you've made progress with your project.

Regarding sharing code: you could send me a link to an unlisted repository (under your account) on mbed.org; my user-id is rgrover1.

20 Jul 2015

@Rohit Message sent

21 Jul 2015

@JPaul Carpenter: My email setting on mbed.org was incorrect. Could you please resend? thanks.

21 Jul 2015

@Rohit New Private Message Sent

22 Jul 2015

@JPaul Carpenter: I get an access denied error for that repo. It says: "Sorry, you do not have sufficient permissions to perform this operation."

22 Jul 2015

Sorry Fixed issue

27 Jul 2015

@Rohit So overall I am trying by the end of the month to either setup a gatt client using the soft device on the RBL nrf51822 or use this API... Any suggestions on how to start building a custom nRF51 device using the mBed platform and the sordic sdk?

JPaul Carpenter

05 Aug 2015

I guess what I am having trouble with is how does the Discovered characteristics write specify the characteristic to be written?

Jpaul Carpenter

06 Aug 2015

A DiscoveredCharacteristic is obtained during service-discovery; and does contain a attribute handle of the remote characteristic in its internal representation.

06 Aug 2015

Is it possible to configure a BLE device both as Gatt Client and server. The scenario is such that a device acting as a Gatt client writes some value on one of the characteristic, which is read by the Gatt server. Once this value is read and callback associated with onDataWritten method is called, I want this Gatt Server to initiate a connection with another( a different) device and write a value to characteristics of another Gatt Server (or in other words act as Gatt CLient). I am encountering problem because the BLE_API for the GATT client and the GATT server are different. I tried to add a few files like discoveredCharacteristic.h, GattCient.h etc. in the BLE_API used for the Gatt_Server but was not able to resolve the errors. Any suggestion on how this can be done?

06 Aug 2015

So what I understand is that you would like device a) to be the peripheral device b) to the central which is also connected to device c). You would like the code to send signal/indication/notify from b to c when a meets a certain standard?

This sounds similar to UART example, except now your working as the central. If you are using a nordic chip as your BLE, I would recommend looking at their SDK v8.1 in the S130 Soft Devices Folder specific to the Multi-Linking Heart Rate Monitor(HRM) example. Essentially what I recall is that you have to invoke a second instance of the BLE in order to have a separated Server Client, but simpler than this would be to use the server side notify option in a schema similar to a cell phone notifying a watch. It sets the standard to allow the client to push a notify to the server.

These are my inexperienced understanding

07 Aug 2015

Hi, this is correct for bond my nrf51822 with a smarthphone?

bool enableBonding = true; bool requireMITM = true; ble.securityManager().init(enableBonding, requireMITM);

Why when i click on (my iphone) "forghet this device" the device still connect?! Thanks Enrico!

07 Aug 2015

Yes, what you are saying is exactly what I want to do. Thank you so much.. I'll start working on this and see how it goes.

Regards Swati

07 Aug 2015

Yes, work, but if you try to "Forger this Device" and the nrf51822 and iphone are connected iPhone forghet the device but stell connect. if you find out a solution tell me. Enrico

08 Aug 2015

Any BLE C/C++ library to talk to Mbed LE device from Linux desktop? Not blueZ

09 Aug 2015
08 Sep 2015

Hi, i have 1 board nrf51422_DK and 1 board nrf51822.

i have put on 51422 the application BLE_LEDBlinker and on the another board (51822) BLE_LED appllication.

but i can't create a connection whit ble from the 2 board.

Why?

someone can show me how to connect the board?

thanks and sorry for my bad english;)

08 Sep 2015

Can you try variations of the PeerAddrType? https://github.com/ARMmbed/ble/blob/master/ble/Gap.h#L221 Are you able to scan and discover the peer?

08 Sep 2015

it's the first time that i try to do this connection, no i'am not able to scan and discover the peer

08 Sep 2015

i have tried to chang the peerAddrType, but change nothing

08 Sep 2015

are you able to scan the target peripheral from another BLE device? (perhaps from a smartphone)

08 Sep 2015

yes i can see the target from my smartphone and i can turn on and turn off the led with ble application

08 Sep 2015

are you able to run the following on an mbed device and discover your target? https://developer.mbed.org/teams/Bluetooth-Low-Energy/code/BLE_Observer/

08 Sep 2015

yes i can discover the target with this appllication that you send me

08 Sep 2015

then you should be able to connect using the same scan parameters (at best you might have to change the addressType).

08 Sep 2015

i dont understand why ble_ledBlinker doesn't work

08 Sep 2015

workkkkkkk!!!!!!!!!! thanks!!! a lot!!! i'am happy:) thankssss!!!!

08 Sep 2015

its more generic than ledBlinker. You are not able to connect using mbed BLE. I think we need to dig into what BLE_API does to connect and check for error returns. surely the system would be returning some error at some point which we aren't checking. By the way, does connect() return an error?

08 Sep 2015

i dont see any error, how can i undestand if the board are connected or not?! the periferal board blink endless, but if i turn off the central board the led dont blink

08 Sep 2015

i dont see any error, how can i undestand if the board are connected or not?! the periferal board blink endless, but if i turn off the central board the led dont blink