目录
一、什么是BLE Mesh Foundation Model Layer基础模型层?
一、什么是BLE Mesh Foundation Model Layer基础模型层?
BLE Mesh Foundation model Layer是蓝牙Mesh协议栈中的一个层,它定义了配置和管理蓝牙Mesh网络所需的状态、消息和模型。它确保从下层接收到的数据是正确的并传输到更高层的应用。
基础模型层(Foundation Model Layer)负责定义了状态, 消息, 模型等, 实现mesh网络的配置。
二、模型
Foundation model Layer包括两种模型:配置模型和健康模型。
- 配置模型(Configuration Model)用于设置和获取节点的各种参数,如发布地址、订阅地址、AppKey、NetKey、Relay、Proxy、Friend、Low Power等。配置模型分为配置服务端模型(Configuration Server Model)和配置客户端模型(Configuration Client Model)。配置服务端模型是每个节点都必须实现的模型,配置客户端模型是用于向配置服务端模型发送配置消息的模型。
- 健康模型(Health Model)用于检测和报告节点的故障状态,如网络拥塞、内存不足、电池低电量等。健康模型也分为健康服务端模型(Health Server Model)和健康客户端模型(Health Client Model)。健康服务端模型是每个节点都必须实现的模型,健康客户端模型是用于向健康服务端模型发送健康消息的模型。
2.1 配置模型
基础模型层(Foundation Model Layer)的配置主要是通过配置服务端模型和配置客户端模型来实现的。配置服务端模型是每个节点都必须实现的模型,它包含了一系列与配置相关的状态和消息,用于设置和获取节点的各种参数,如发布地址、订阅地址、AppKey、NetKey、Relay、Proxy、Friend、Low Power等。
配置客户端模型是用于向配置服务端模型发送配置消息的模型,它可以运行在任何支持MESH协议的设备上,如智能手机APP。
配置客户端模型和配置服务端模型之间的通信是通过配置消息来进行的,配置消息是一种特殊的上层传输层消息,它使用DevKey来加密和解密,而不是AppKey。
配置客户端模型和配置服务端模型之间的通信流程一般是这样的:
- 配置客户端模型发送一个配置消息给配置服务端模型,指定目标节点的单播地址和DevKey。
- 配置服务端模型收到配置消息后,根据Opcode和Parameters执行相应的操作,如添加AppKey、删除订阅地址等,并更新自己的状态。
- 配置服务端模型发送一个配置状态消息给配置客户端模型,指示操作的结果,如成功或失败,以及相关的状态值。
- 配置客户端模型收到配置状态消息后,根据状态值判断操作是否成功,并显示给用户。
2.2 健康模型
健康模型(Health Model)是基础模型层(Foundation Model Layer)的一种模型,它用于检测和报告节点的故障状态,如网络拥塞、内存不足、电池低电量等。健康模型也分为健康服务端模型(Health Server Model)和健康客户端模型(Health Client Model)。
健康服务端模型是每个节点都必须实现的模型,它包含了以下的状态和消息:
- 健康故障状态(Health Fault State):用于记录节点的当前故障代码,可以有多个故障代码,每个故障代码占用一个字节。
- 健康测试状态(Health Test State):用于记录节点的当前测试模式,可以有多种测试模式,每种测试模式占用一个字节。