2023年初,藍牙技術聯盟(Bluetooth SIG)宣布藍牙mesh 1.1最新版本,針對韌體更新和裝置配置引入全新功能,並推出全新路由功能,同時提升mesh網路安全性。
藍牙mesh的市場地位日益擴大,成為專業照明和建築領域內各種控制網路的首選技術,在商業空間領域越來越受到注目。這有可能是因為藍牙mesh的去中心化運作模式,簡化了基礎設施規畫和安裝工作。此外,該技術還擁有多項優勢,包括不一定需要使用閘道,具備標準化的安全性、可擴展性、可靠性,以及藍牙在行動電話中的普遍性。
藍牙mesh 1.1引入了多項功能,旨在實現一系列新用例,以擴展基於藍牙mesh的系統。1.1版本也為韌體更新和開通配置(Provisioning)帶來了嶄新、可靠和標準化的功能,這些都是開發人員經常面臨的挑戰。新增的功能旨在最大限度減少熟練技術人員的工作量,進而節省大量成本。這些重大改進讓基於藍牙mesh的系統在物聯網產業進一步取得競爭優勢。
藍牙1.1版本的兩項主要功能是mesh裝置韌體更新(Mesh Device Firmware Update, Mesh DFU)模型和遠端開通配置(Remote Provisioning)。Mesh DFU模型定義了更新過程標準化的基礎特性,並且提供更多方法來提高可用性。藍牙mesh 1.1還增加了二進位大物件(Binary Large Object, BLOB)傳輸模型,Mesh DFU使用它進行影像分發(Image Distribution)。另一項期待已久的功能是遠端開通配置,現在可以透過網路完成開通配置,不再需要直接的射頻連接。
本文將介紹這兩項關鍵功能,以及對應的各種用例。接著,將介紹新版本規範加入的安全增強和全新路由功能。最後,我們將討論如何整合標準化藍牙mesh設定檔以實現廣泛應用,特別是藍牙網路照明控制系統(Networked Lighting Control, NLC)的引入。
Mesh DFU
大型網路的韌體更新往往具有相當挑戰性,尤其在要求維護工作負荷最佳化和可靠性達到一流水平的情況下更加困難。新推出的藍牙mesh裝置韌體升級模型(藍牙mesh DFU)為遠端影像分發和滿足這些要求的更新過程管理提供了標準步驟。這項標準讓開發人員能夠完全透過遠端操作實現韌體升級,或者由技術人員採用簡便可靠的步驟進行在地升級。
讓我們從節點所扮演的各個角色,來開始介紹藍牙mesh DFU的基本概念。
.目標(Target):正在更新的節點。
.啟動器(Initiator):檢查網路上可用的韌體更新並控制更新步驟,這個角色可以由智慧型手機或閘道來實現。
.分發器(Distributor):接收來自啟動器的新韌體影像,將其傳遞給目標節點,並監控傳輸進展(圖1)。
.獨立更新器(Standalone Updater):為同時具備啟動器和分發器角色的節點(圖2)。
藍牙mesh裝置進行韌體更新時,啟動器在檢查網路上的可用影像之後,接下來的第一步是識別網路中需要更新的裝置,再開始分發影像。
新引入的mesh二進位大物件(BLOB)傳輸模型專門設計用於有效透過mesh網路發送BLOB,並在Mesh DFU中用於將影像從分配器傳輸到目標節點。該傳輸模型具有多播(Multicast)或單播(Unicast)傳輸選項,以便有效地將影像分發至多個目標節點。首先,分發器將韌體影像分割成適當大小的塊(Block),每個塊皆包含多個影像資料塊。接著,分發器開始將這些資料塊一個接一個傳輸至啟動器列出的目標節點。
傳輸資料塊時,分發器從目標節點收集可能丟失資料塊的相關資訊,並重新發送這些資料塊。BLOB傳輸模型也定義相關程序,以便確定每個目標節點影像傳輸的完成百分比,將這些資訊提供給使用者。驗證方法則由供應商各自規範。分發器使用該程序來確定每個目標節點是否成功驗證韌體影像。驗證之後,根據所選擇的策略,分發器可以立即觸發韌體影像安裝,或是等待來自啟動器的命令。
針對直至存取層(Access Layer)的資訊進行加密和驗證,可以確保整個更新過程的安全性。此外,也可以使用供應商的專用方法對韌體影像進行加密。
藍牙mesh DFU考慮了幾種可能的設置。例如,使用獨立的啟動器和分發器來實作系統,讓技術人員只需要在每個樓層啟動更新過程,就可以在軟體自行更新時,繼續前往下一個樓層。此外,也可以在網際網路閘道中採用獨立更新器(一個同時具有啟動器和分發器角色的節點),透過從雲端下載影像來為目標節點進行遠端更新。
除了這些核心功能,藍牙mesh DFU還可用於其他特殊案例,確保其得到正確處理,並盡量減少技術人員的額外工作。版本規範中考慮了啟動器間歇性處於網路範圍內的情況,提供在目標節點上處理更新程序中斷的方法,並讓系統在執行更新時能夠維持正常運行。此外,該規範也包括用於更新低功耗節點(Low Power Node)的機制。藍牙mesh還提供了單獨更新韌體子系統(例如應用程式、堆疊)和管理依賴關係(Dependencies)的方法。
遠端開通配置
技術人員在維護過程中進行更新的成本頗高,而安裝時的開通配置過程也將影響成本。在引入藍牙mesh 1.1之前,配置方(Provisioner)必須處於要預配到網路上的裝置(Provisionee)的範圍內。藍牙mesh 1.1規範透過引入遠端配置來解決這個問題(圖3)。
遠端的開通配置增加了一種方法,可以透過網路,將開通配置的PDU中繼傳輸至處於未開通配置裝置射頻範圍內的中繼節點(Relay Node)。中繼節點運行遠端開通配置伺服器(Remote Provisioning Server),配置方則運行遠端開通配置用戶端(Remote Provisioning Client)。中繼節點可以掃描尋找裝置,使用配置方提供的資料將裝置暫時連接至網路,並中繼傳輸接下來的開通配置PDU以完成開通配置過程。
這項功能也涵蓋添加應用層級(Application-level)功能的情況。藍牙mesh 1.1版本讓裝置能夠添加新功能,而不需要在韌體升級後進行重新開通配置(Re-provisioning)。
藍牙mesh 1.1全新功能一次看(1)
藍牙mesh 1.1全新功能一次看(2)