Hello all,
I'm currently evaluating Bluetooth Mesh as potentiell solution for a remote control system with the option to extend the range via range extenders.
To get an understanding of the timing conditions I created a test setup based on the chat and provisioner sample (using the Zephyr API with the nRF52 DK).
The basic concept is that central unit manages a property that can be changed by other network participants via a change request. That's done by sending the new property value to the address of the central. If the change request has been approved and applied then the other network participants (addressed by a group identifier) will be notified. That's done via publishing the new property value to group address.
Well, that's working so far. But I am confused because of the timings I have measured in the different scenarios. I checked the following cases:
- The central unit publishes a new property value: Here the other group units are updated in ~20ms
- A unit sends a new property value to the central: Even here the central receives a new message in ~20ms
- A unit sends a new property value to the central and waits for the notification: Here the response time from sending the message until receiving the update notification is ~360ms
The case 3 is really confusing to me. I already checked configuration options to get this time down. I found the publishing retransmission count and timing, as well as the network retransmission configuration, but that doesn't explain this behavior. My assumption is that the reason for the delay is somewhere located in the physical layer that locks message publishing directly after a message reception. From my experiences with BLE I know that there are a couple of options to modify the response times (min/max interval time), and theoretically these parameters could have an influence. But neither I know whether that's really correct nor I see the opportunity to modify these values within the context of a Bluetooth Mesh application.
That leads to my final question: Is it possible accelerate the publishing directly after a message reception in Mesh application? And if yes, how?
Thanks in advance and regards,
Oliver Weitzel