Synchronizing Actuation of Low Power Bluetooth Mesh Nodes

Hello,

I am working on a simple Bluetooth Mesh application for light control.

I started from the provided samples:
- github.com/.../light
- github.com/.../light_switch

Goal:
When pressing the switch, I want all the low-power light nodes to turn on simultaneously. To achieve this, I created a group containing all the lights.

What I tried:
- Reduced the low-power node polling timeout to the minimum (1 second) to improve responsiveness.
- Added a 2000 ms transition delay to the message, hoping it would compensate for propagation delays.

Issue:
Despite these adjustments, the lights do not switch on at the same time. The delay works, but the nodes still toggle at slightly different moments, rather than in sync.

Question:
How can I make sure all low-power light nodes switch simultaneously when triggered by the switch? Is there a recommended approach for achieving synchronization in Bluetooth Mesh with low-power nodes?

Thanks,
Marco

Parents
  • Actually, we were able to measure that even the normal (non low power) nodes do not executed synchronized commands when the command is relayed in the mesh.

    TX -> node1 -> node2

    Where node2 is not in range of TX.

    Then, even applying the delay to the SET message, node1 and node 2 do not execute the command in sync.

    Is this a wanted behavior? I was thinking that BLE MES was able to execute synchronized commands.

  • Hi, 

    How can I make sure all low-power light nodes switch simultaneously when triggered by the switch? Is there a recommended approach for achieving synchronization in Bluetooth Mesh with low-power nodes?

    LPN - Friend communication is always reduced till p2p communication between them, which includes randomness by self. Even more, if a couple of LPNs have the same Friend, they will compete during communication and collide with each other with frequent polling that will add random desynchronization among them.

    The only way to reach synchronousness is to spread a turning-on message over broadcast (multicast) within 1 hop (not for LPN) or using a Scheduler Server instead. You can send a scheduled event to set the OnOff state at an exact time on all devices. It will work only if time is synchronized among devices (read details in the Scheduler and Time models documentation). 

    barbiz said:
    Is this a wanted behavior? I was thinking that BLE MES was able to execute synchronized commands.

    This is expected. BLE Mesh does not provide true synchronized execution of commands across nodes, even for always-on nodes, and even when using transition delays. 

    Regards,
    Amanda H.

  • Hello Amanda,

    thanks for your answer.

    I was furtherly thinking. Even with a Scheduler Server and Time Model, the protocol itself is not aware of the propagation delay across nodes, so it will never be able to syncronize better than the propagation delay. Does this sound correct to you?

    Thanks

    Marco

Reply Children
No Data
Related