This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to send data from client to server?

Hi,

we can send data from server to client by sd_ble_gatts_hvx() in ble_app_hrs but:

1.How does the client receive those data?

2.How dose the client send data to server and how does the server receive the data?

3.Are all these transfer reliable?

Edit: format (please use the previewer), commas between tags.

    1. The GATT client receives that data through an ATT Handle Value Notification, please see this MSC. See Bluetooth Specification 4.1, Vol. 3, Part G, Section 4.10, for details.
    2. The GATT client "sends" data to the GATT server using a write procedure, please see this MSC. See Bluetooth Specification 4.1, Vol. 3, Part G, Section 4.9, for details. The GATT server receives the data, and sends a BLE_GATTS_EVT_WRITE event to the application, please see this MSC.
    3. In a connection, all packets will be acknowledged in the link layer. So that part is reliable, but you have to use the remaining layers (ATT, GATT and application) in the correct way as well.

    This question may also be helpful, explaining application level acknowledgement. Remember to vote on the question and the answer, if you find them useful.

    Bluetooth Specification 4.1

Related