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

BLE Reduce power usage using notification or read characteristic

FormerMember
FormerMember

I have written an application which transfers data from an nrf51822 device to a phone once a day. It currently uses notifications to transfer data, at 20 bytes per notification.

A colleague, pointed out a characteristic can be up to a length of 512 bytes, so it should be possible to use a readCharacteristic command to receive 512 bytes in a single request. Of course there is the overhead of receiving multiple readCharacteristic commands.

The amount of data, could possibly be more than 6kilobytes, so which ever method is used more than one data transfer is required.

The thought behind this is if you use a bigger packet size, the power usage should be lower. This sounds quite logical, but is it?

Parents
  • Yes, a characteristic can be larger than 20 bytes(long characteristic) and it can be read/written to using long write/read.

    However, the maximum payload size is still 20bytes, meaning that the characteristic will be read/written to in 20 byte chunks and buffered untill all the packets have been sent/received before notifying the application. Thus, to the application, it will appear as if the characteristic is read/written to in one transfer, but in reality it is characteristic size / 20 transfers.

    Hence, you will not reduce the current consumption by using long characteristics

    Bjørn

Reply
  • Yes, a characteristic can be larger than 20 bytes(long characteristic) and it can be read/written to using long write/read.

    However, the maximum payload size is still 20bytes, meaning that the characteristic will be read/written to in 20 byte chunks and buffered untill all the packets have been sent/received before notifying the application. Thus, to the application, it will appear as if the characteristic is read/written to in one transfer, but in reality it is characteristic size / 20 transfers.

    Hence, you will not reduce the current consumption by using long characteristics

    Bjørn

Children
No Data
Related