蓝牙Mesh节点集成的Model可以分为三种类型:Server、Client和Control。
Server Model:暴露自己的状态(states)给其他Model访问,比如一个灯,可以暴露开和关的状态给其他Model访问,这个灯就可以包含一个Server Model。所有Node默认需要两个Server Model:Configuration Server(0x0000)和Health Server(0x0002)
Client Model:访问Server Model的状态,比如一个开关,可以发送Message获取灯的状态,或者设置灯的状态。
Server model需要维护States,而Client Model不需要维护States。
这里要特别注意Server、Client的相互关系和我们的常识相反,也就是Client可以理解为控制端,而Server可以理解为被控制端,比如一个温度传感器和手机组成的Mesh网络,就可以认为温度传感器集成一个Server Model,而手机集成另外一个Client Model来读取和处理Server Model发送过来的信息。
Control Model:Server Model+Client Model。比如灯的控制器,即是Client Model,需要访问传感器(环境光的亮度)的状态和控制灯的状态,又是Server Model,需要接收手机发送过来的配置信息。
任何一个Node都可以包含以上三种类型的Model。