This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE Mesh questions

Hi, I've read through partially of the "getting started" docs, and I'm still having questions about these issues:

  • Will there be one dedicated provisioner interfacing with an external device (a desktop PC for example) with the rest of the mesh being provisionee or every node in the mesh can switch rather conveniently between the role as a provisioner or a provisionee, at the command of an external device?
  • What is the delay when sending messages? 10 hops for example?
  • Does every node store a copy of the mesh network information or just its own? I want to confirm this, based on what I read only the provisioner node know about the entire network, and it doesn't have to if it's communicating with a PC.
  • Does the whole mesh thing has a route table somewhere? By that I mean does the whole mesh network operate in "dumb" mode, that is it floods whatever information across the entire network or in "smart" mode, which efficiently relay the messages with a clear pathway in mind? Again based on my preliminary reading it appears that it works in "dumb" mode, which could cause server delays when heavy traffic takes place.

Please help provide some brief information, thanks.

  • Hi Mitch,

    A1: The most sensible approach is to have a dedicated provisioner in form of a PC or phone/tablet application. The provisioner needs to keep information about the entire network, and this is not needed for each node. Nodes in the network normally operates only as provisionees before the become nodes.

    A2: The latency will largely depend on number of hops between source and destination, and the advertising interval. Some time for processing in the node, and possibility of queuing in the node must be accounted for, which should be less than 2 ms.

    Worst case: (2ms + Advertising_Interval) * no_of_hop, assuming no packet loss.

    Still assuming no packet loss, but averaging out on the wait time to advertise will give: (2ms + Advertising_Interval)/2 * no_of_hop.

    A3: Each device that is provisioned into the mesh by a provisioner will only stores a range of addresses, a network key, and a device key. It is only the provisioner that has access to the full list of devices in the network and their addresses.

    A4: No, the Nordic BLE Mesh is a flooding mesh, i.e. a broadcast-based network protocol, where every device in the network sends and receives all messages to and from all devices within radio range. This is in accordance with the Bluetooth Mesh Specification, found here. Adding routing is possible, but it will then be considered a proprietary feature.

    The flooding based approach to message relaying can cause a lot of redundant traffic on air, which may impact the throughput and reliability of the network. While all devices in a network may act as relays, it is highly recommended to limit the number of relays to restrict this effect. The rate of relay-enabled devices in the network is a trade-off between message route-redundancy and reliability. It should be tuned according to network density, traffic volumes, network layout, and requirements to reliability and responsiveness.

    Best regards

    Bjørn

  • Loud and clear! Thank you Bjørn, I have no more question as of now! Thank you!

Related