Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Delay in Bluetooth Low Energy



  • Hello all!

    I am trying to evaluate the suitability of some different wireless interfaces for our project on 2xRaspberry Pi 4 and currently I’m evaluating Bluetooth Low Energy. Therefore I have written an Central and Peripheral device application with the Qt framework (5.15). In my case the latency time between messages are important, because of some security aspects. The message size of each command is around 80-100 Bytes. In one of my tests I have send 80 Bytes commands every 80ms. Ideally the messages should be received on the other device in 80ms interval as well. For the LAN (TCP) interface this test works well.

    For Bluetooth Low Energy I observed that messages, which are send from Peripheral to Central works quite good and I measured no big delay. Different results I got for the Central to Peripheral direction. Here, I have received the messages in the interval of 100ms to 150ms really exactly. It seems that here couldn’t be a very big magic behind, so is there any plausible explanation for it? I tested it with a Python script as well and I observed same results. So it seems, that the Qt implementation shouldn’t be the problem.

    During research I found out, that the connection interval may influence this, but in Qt the QLowEnergyConnectionParameterRequest (QLowEnergyConnectionParameters Class | Qt Bluetooth 5.15.4) doesn’t work for me. Is there any command, where I can set the connection interval for test purposes at the command line on Linux?

    Kind regards,
    Benjamin


Log in to reply