Bluetooth 如何在BLE Mesh中的资源调配和消息交换中使用Mesh资源调配服务和Mesh代理服务?

Bluetooth 如何在BLE Mesh中的资源调配和消息交换中使用Mesh资源调配服务和Mesh代理服务?,bluetooth,bluetooth-lowenergy,provisioning,bluetooth-gatt,mesh-network,Bluetooth,Bluetooth Lowenergy,Provisioning,Bluetooth Gatt,Mesh Network,BLE mesh为传统设备定义了两个服务,以便通过GATT承载与mesh网络通信。这些是: 网格资源调配服务 网格代理服务 但是,说明书上说 设备可支持网格供应服务或网格代理服务或两者。如果两者都支持,则GATT数据库中一次只能公开其中一项服务 为什么规范限制在GATT数据库中一次只能有一个服务 这两个服务在设置时和设置后如何使用以交换实际的mesh消息?有人能详细说明一下吗?您不希望Mesh网络中的任何给定节点同时公开Mesh Provisioning服务和Mesh代理服务。如果在设置和配

BLE mesh为传统设备定义了两个服务,以便通过GATT承载与mesh网络通信。这些是:

  • 网格资源调配服务
  • 网格代理服务 但是,说明书上说
设备可支持网格供应服务或网格代理服务或两者。如果两者都支持,则GATT数据库中一次只能公开其中一项服务

为什么规范限制在GATT数据库中一次只能有一个服务


这两个服务在设置时和设置后如何使用以交换实际的mesh消息?有人能详细说明一下吗?

您不希望Mesh网络中的任何给定节点同时公开Mesh Provisioning服务和Mesh代理服务。如果在设置和配置代理节点之前尝试通过Mesh代理服务向Mesh网络发送消息,则消息可能无法发送到Mesh

根据我的经验,使用Nordic的Mesh SDK v3.1.0以及nRF52832和nRF52840芯片,一旦通过向Mesh Provisioning Service写入正确的命令系列来配置节点,节点将用Mesh代理服务替换Mesh Provisioning Service。这是因为,同样,您不希望将mesh网络中的节点的消息发送到未配置的代理节点