1

BLE mesh defined two services for legacy devices to communicate with Mesh network over GATT-bearer. Those are:

  • Mesh Provisioning service
  • Mesh Proxy service But, the spec says

A device may support the Mesh Provisioning Service or the Mesh Proxy Service or both. If both are supported, only one of these services shall be exposed in the GATT database at a time.

Why spec constrained on having a single service at a time in the GATT database?

How these two services are used while provisioning and after provisioning to exchange actual mesh message? Can anyone elaborate on this?

Anton Menshov
  • 2,031
  • 8
  • 22
  • 37

1 Answers1

2

You don't want any given node in a Mesh network to expose both the Mesh Provisioning Service and the Mesh Proxy Service. If one were to attempt sending messages to a Mesh network through the Mesh Proxy Service before that Proxy Node was provisioned and configured, the message would likely not make it to the Mesh.

From my experience, working with Nordic's Mesh SDK v3.1.0 and the nRF52832 and nRF52840 chips, once you provision a node by writing the correct series of commands to the Mesh Provisioning Service, the node will replace the Mesh Provisioning Service with the Mesh Proxy Service. This is because, again, you don't want to send messages meant for a node within the mesh network to an unprovisioned Proxy Node.