藍(lán)牙Mesh節(jié)點(diǎn)集成的Model可以分為三種類型:Server匾嘱、Client和Control。
Server Model:暴露自己的狀態(tài)(states)給其他Model訪問鳄虱,比如一個(gè)燈烙心,可以暴露開和關(guān)的狀態(tài)給其他Model訪問,這個(gè)燈就可以包含一個(gè)Server Model选泻。所有Node默認(rèn)需要兩個(gè)Server Model:Configuration Server(0x0000)和Health Server(0x0002)
Client Model:訪問Server Model的狀態(tài)冲粤,比如一個(gè)開關(guān),可以發(fā)送Message獲取燈的狀態(tài)页眯,或者設(shè)置燈的狀態(tài)梯捕。
Server model需要維護(hù)States,而Client Model不需要維護(hù)States窝撵。
這里要特別注意Server傀顾、Client的相互關(guān)系和我們的常識相反,也就是Client可以理解為控制端碌奉,而Server可以理解為被控制端短曾,比如一個(gè)溫度傳感器和手機(jī)組成的Mesh網(wǎng)絡(luò),就可以認(rèn)為溫度傳感器集成一個(gè)Server Model赐劣,而手機(jī)集成另外一個(gè)Client Model來讀取和處理Server Model發(fā)送過來的信息嫉拐。
Control Model:Server Model+Client Model。比如燈的控制器魁兼,即是Client Model婉徘,需要訪問傳感器(環(huán)境光的亮度)的狀態(tài)和控制燈的狀態(tài),又是Server Model,需要接收手機(jī)發(fā)送過來的配置信息盖呼。
任何一個(gè)Node都可以包含以上三種類型的Model儒鹿。