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

dealing large data packet's through ble

Hi, I need to send(using BLE) large amount of data's, which are collected by the accelerometer sensor for 1 hour. I have an external NOR flash where the accelerometer data's are stored and from there data's are transmitted to the BLE stack when sync occurs. I am using nRF51822 nordic controller. Assume that, data size will be 50KB.

Regards, Balaji

  • @Marius: Notifications is a way of sending data from server to client or in other words from the Nordic device to the mobile. Write without response is the same but from client (mobile) to server (Nordic).

  • @Matthias: As far as I know, a GATT server or client has nothing to do with the GAP role. Here's a quote: "It is worth mentioning once more that GATT roles are both completely independent of GAP roles (see Roles) and also concurrently compatible with each other. That means that both a GAP central and a GAP peripheral can act as a GATT client or server, or even act as both at the same time."

  • @Marius: Apparently you know more about the details than me here. I just think that when in the respective roles the semantics are as follows:

    • Read and write operations are requested by the client and the server responds (or acknowledges).
    • Notify and indicate operations are enabled by the client but initiated by the server, providing a way to push data to the client.
    • Notifications are unacknowledged, while indications are acknowledged. Notifications are therefore faster, but less reliable.

    Source

  • I followed these suggestions and can transfer 6076 bytes in just about a second, maybe a shade over. I am using the Nordic UART service and 20 byte packet size.

  • Thank you, Ole for this example. I have noticed the fastest transfer is achieved only for the first few second. Then the data burst is 4 packet long, after which occurs a short break. I am using nRF5 SDK maybe that makes the difference, as the tasks (heart rate measurement) are timer handlers there. I stop the heart rate timer after entering the handler and I do not know where to search for constant stream. Thank you for your help!

Related