What's BLE Mesh? -- General

BLE Smart Mesh

BLE smart mesh network consists of a set of nodes within various features.

 

Architecture

Basic Concepts

Element

An element is an addressable entity withina node. Each node has at least one element, the primary element, and may haveone or more additional secondary elements. The number and structure of elementsis static and does not change throughout the lifetime of a node.

 

Model

A model defines the basic functionality ofa node. A node may include multiple models. A model A model defines therequired states, the messages that act upon those states, and any associatedbehavior.

The server model defines a set of mandatorymessages that it can transmit or receive, the behavior required of the elementwhen it transmits and receives such messages, and any additional behavior thatoccurs after messages are transmitted or received.

A client model defines a set of messages(both mandatory and optional) that a client uses to request, change, or consumecorresponding server states, as defined by a server model. The client modeldoes not have state.

A control model may contain client modelfunctionality to communicate with other server models and server modelfunctionality to communicate with other client models.

 

State

A state is a value representing a conditionof an element. An element exposing a state is referred to as a server. Anelement accessing a state is referred to as a client.

 

Address

An address may be a unicast address, avirtual address, or a group address. There is also a special value to representan unassigned address that is not used in messages. A unicast address isallocated to an element and always represents a single element of a node. Avirtual address is a multicast address and can represent multiple elements onone or more nodes. A group address is a multicast address and can representmultiple elements on one or more nodes.

Unassigned Address:       0b'0000000000000000

Unicast Address:               0b'0xxxxxxxxxxxxxxx (excluding 0b'0000000000000000)

Virtual Address:                0b'10xxxxxxxxxxxxxx

Group Address:                 0b'11xxxxxxxxxxxxxx

Broadcast Address:    0b'1111111111111111

 

Message

All communication within a mesh network isaccomplished by sending messages. Messages operate on states. For each state,there is a defined set of messages that a server supports and a client may useto request a value of a state or to change a state.

Nodes that generate messages publish themessages to a unicast address, group address, or virtual address. Nodes thatare interested in receiving the messages will subscribe to these addresses.

 

 

A node diagram

 

Mesh Operations

Adding devices to a mesh network

Devices are added to a mesh network by a Provisioner, at which point they become nodes. A Provisioner provides the unprovisioned device with provisioning data that allows it to become a meshnode. The provisioning data includes a network key, the current IV Index, andthe unicast address for each element.

A Provisioner is typically a smart phone orother mobile computing device.

 

Publish-Subscribe

Nodes that generate messages publish the messages to a unicast address, group address, or

virtual address.

Nodes that are interested in receiving the messages will subscribe to these addresses.

Messages can be sent as replies to other messages or can be unsolicited messages. When an instance of a model is sendingunsolicited messages, it uses a model publish address as the destination address. Each instance of a model within a node has a single publish address. Anode can have any number of subscriptions per instance of a model’s element.

 

Application and network security

Encrypting and authenticating messages atthe upper transport layer and network layer is designed to secure communications within the mesh network.

An application key can only be used with asingle network key. This implies that a network key has one or more applicationkeys associated with it. This association is known as the key binding.

 

Foundational Configuration

The Foundation Models define the accesslayer states, messages, and models required to configure and manage a meshnetwork.

The foundational configurations includes publish address, subscription addresses network key list, application key list,bound map of model and application key, time to live, and etc.

 

Operation Examples


1.Device broadcast beacons


 

 

 2. Provisionprocedure

 

 

 

3.Provisioner configures node

 

 

 

4.Message publish procedure

 


 

5.Message response procedure