藍芽mesh組網實踐(透傳模型的使用)
阿新 • • 發佈:2022-05-18
CH582的官方EVT中,除了代理節點例程外都提供了透傳模型。
模型位於藍芽mesh網路協議中的最上層,負責標準化使用者應用場景的例項,比如說開關模型、亮度模型、風速模型。由於藍芽mesh網路中所有資料都經由廣播承載層傳輸,只根據網路地址來區分節點收到的資料包是否接收處理,也就缺少了管道、路由、埠等的區分資料種類、路徑的工具和手段,故需要模型來對資料進行判別。對於模型來說,舉個例子,一個智慧小燈,只支援開啟或者關閉,程式中只有一個開關模型,這時候收到一個指令讓它調節色溫,就會出錯;要想小燈能夠識別該指令,就需要新增色溫模型來處理指令。
對於請求、設定服務端狀態的一邊,稱之為客戶端;對於儲存模型狀態以及收到訊息時的應對方法的一邊,稱之為服務端。配網器作為網路的“中心節點”,包含的模型為客戶端;其他節點除了代理節點沒有包含透傳模型外,都使用服務端模型。
客戶端透傳模資料傳送函式,一個有應答機制,函式為:int vendor_message_cli_send_trans(struct send_param *param, uint8_t *pData, uint16_t len);
一個無應答機制,函式為:int vendor_message_cli_write(struct send_param *param, uint8_t *pData, uint16_t len)。
------------------------待更新---------------------------