This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

how can I improve throughput for ble link?

I found many relative topics about improving throughput for ble link on this website. And this one How do I calculate throughput for a BLE link? told me how can I calculate the throughput. I thought "n" is beyond my control. It should be decided by protocol stack, right? This discussion dealing large data packet's through ble gave me an example and told me many details. I did in another similar way. I didn't use heart rate service but Nordic UART service, and I confirmed configurations, such as vlen = 1, max_len = 20, hvx_paprams.type = BLE_GATT_HVX_NOTIFICATION and so on, are the same as I was told. My peripheral is base on nrf51822 and s110_nrf51822_6.0.0_softdevice, while the central is Nexus 7 with android 4.4.4. I got just about 16Kbps throughput. But it's said that it should be more. Whatever connection parameters I set, it didn't seem helpful. What did I do in a wrong way?

Parents
  • There is a demo app on android catching the data from peripheral. Each data packet contains a sequence number. The received data sequenced without any missing. About 100 packets were received per second. So I thought the speed is about 16Kbps. Of cause I had read the example @Asbjørn pointed out. I hadn't found any distinguish difference. From the sniffer data, it owns a double speed to my nus project's. Should the service kinds make it different?

Reply
  • There is a demo app on android catching the data from peripheral. Each data packet contains a sequence number. The received data sequenced without any missing. About 100 packets were received per second. So I thought the speed is about 16Kbps. Of cause I had read the example @Asbjørn pointed out. I hadn't found any distinguish difference. From the sniffer data, it owns a double speed to my nus project's. Should the service kinds make it different?

Children
No Data
Related