Bluetooth Mesh - The Depth



When working on the architecture of the Bluetooth Mesh system, we kept on diving deep into the roots of problems we were aiming to solve. Smart lighting is one such area, which has been the focus of the team of contributors. There are many reasons to treat lighting as the primary application for a mesh system: Lights are everywhere and they are powered. So depending how you look at it, a lighting control system may be the goal itself or may just be the initial step to develop more services that are based on the mesh - connected infrastructure. Imagine an airport. Or a hospital. Or a high rise, multi-tenant office building. Or a company campus. Now imagine you want to roll out a service that requires a dense infrastructure of radio nodes. Thousands of nodes. Rolling out that hardware would be very expensive, as each would require a mount point and power supply. Now imagine each light that is already mounted and powered is capable of supporting your wireless application. Suddenly you realize the hardware is already there: a mesh network of thousands of low power wireless computing nodes.

This is why winning the lighting category is important in the first place. And to be a winning solution, that solution has to be really good for lighting. Everything else comes afterwards.

There are many important details that contribute to why a given solution is good for lighting. Let me just bring here two examples:

Eliminating the popcorn effect. There are two challenges for wireless lighting control systems. They have to be absolutely reliable when it comes to delivery of control messages. Any single light on a ceiling, that does not turn on, will easily be noticed and considered a system failure. And the execution of the control command has to be synchronous - again any "popcorn" effect disqualifies a system. Bluetooth Mesh addresses both challenges. First, it is primarily optimized for multicast traffic. So regardless if there are ten, hundred or thousand lights in a ceiling, they can all be addressed with a single message that goes out. This message, in real life, may reach around 90% of lights. To ensure all of them are reached, we repeat the message a couple of times. With two messages, the probability that at least one message is delivered, goes up to 99%. With 5 messages in a row, the reliability jumps to five nines, or 99,999%. Now some lights will receive the first message and some lights will receive one of the latter messages. But we want all of them to turn on at exactly the same time, right? Here comes the Delay parameter to the rescue. Say the five messages are spaced 20ms apart. The first one goes out a T=0 with the Delay set to 100ms. The second is sent at T=20ms with the Delay set to 80ms. The scheme repeats until the fifth message is sent at T=100ms with the Delay set to 0. Now regardless which one is picked by a given light, all lights will turn on at exactly the same time. Of course there is the overall execution delay of 100ms, but that is below the human perception level. The speed of the underlying radio, combined with multicast transmissions and time-compensated retransmissions, guarantees the final effect matches the application requirements.

The second example is simpler but also nicely illustrates our attention to details. How does a lighting system behave when power is cut and restored later? How should it behave? The answer is - "it depends". Of course it depends on what the lights are, what purpose they serve etc. So in some cases you may not want a power cycle to turn the lights on (this is unfortunately the case with some popular home lighting systems). But in some cases this may be the desired behavior. In Bluetooth Mesh we have a configuration state called OnPowerUp Section 3.1.4 of the Mesh Model specification). It can be Off, Default or be restored to the value present before the power was cut, including Off (so when the lights were off, after power cycle they will stay off). It works in tandem with another configuration state, the Light Lightness Default (Section 6.1.2.4), which can be any arbitrary level, or the last non - zero value (e.g. when I dimmed off the lights down to 20%, and then turned them off, after power cycle they will turn on, but at 20%, not at their full brightness). Again - we believe - the attention to detail presented by the design team here goes much deeper than in most other competing systems.

There is more to talk about lighting in Bluetooth Mesh and I will continue to revisit this subject. Time will tell, but we believe, we've done a lot to ensure Bluetooth Mesh will win the lighting control market.

Comments