Zephyr操作系統支持藍牙mesh,智能樓宇帶你體驗智能生活
試想一下,在寒冷的冬天當你驅車到達公司樓下時,安全系統能夠為你放行,并自動分配停車位;當你走進辦公室,LED射燈和臺燈已經開啟,并且完全符合你喜歡的亮度水平,而且辦公室的溫度也符合你的個人偏好;當你走近電腦時,它已經自動登錄,一天的工作順利開始。樓宇會根據你的需求作出回應、同時考慮到你的偏好,可見系統的利用相當有效。那么,如何使得這一設想成為現實?
答案是利用藍牙mesh網絡。有了藍牙mesh,用戶可以從mesh照明系統開始添加占位傳感器、環境傳感器、無線溫控系統和基于mesh的停車場管理系統。藍牙mesh網絡能夠更簡單、以更低的成本來進行樓宇服務的控制、與其進行無線交互、并實現自動化的操作。
關于藍牙mesh
你一定想知道:智能樓宇系統如何通過藍牙mesh進行組網?我們需要先了解一下什么是藍牙mesh?
藍牙mesh是2017年推出的一個新的標準, 多對多的多跳拓撲結構。不需要新的藍牙硬件,以洪水/波紋 (flooding/ripple) 方式進行廣播和中繼,主要用于傳輸信號而不是大型數據, 大大擴展了傳輸范圍。
² 設備和節點:當用戶想跟蹤一個設備,可以將其設為節點;
² 元素:一些節點具有多個組成部分,每個都能獨立進行控制,這些部分被稱為“元素”;
² 訂閱和發布:使用這一機制,用戶就可以在整個網絡當中任意添加或者刪除設備,而不需要對網絡當中的每一個設備進行程序更新;
² 可控性的廣播機制:通過滿足一系列的條件來使得這個廣播信息在網絡中以節能、可控的方式進行數據的傳遞;
² 低功耗:在藍牙Mesh網絡中還有一類節點是專門為低功耗節點服務的,其具有Friend特性,也可以稱為Friend節點。Friend節點與低功耗節點可以建立Friendship關系;
² 代理:藍牙mesh使用了廣播機制,但是出于某種考慮,不是所有廣播數據包都開放給開發者,開發者無法進行修改,因此手機接入mesh網絡時需要使用代理機制;
² 多級安全性:藍牙mesh網絡使用了非對稱加密和對稱加密兩種機制,還使用了帶外驗證的方法,目的就是保證今后的應用能夠為用戶提供一個具有高安全性的方案。
藍牙mesh架構
如上圖2所示,mesh消息需要基礎的通信系統來進行傳輸和接收。承載層定義了網絡PDU如何由給定的通信系統進行處理,這時定義了兩個承載層,即廣播承載層和GATT承載層。網絡層定義各種消息地址類型,以及允許承載層傳送傳輸層PDU的mesh消息格式。底層傳輸層從上層傳輸層接收PDU,并將其發送到對等設備的底層傳輸層。上層傳輸層負責對傳入和傳出接入層的應用數據進行加密、解密和認證。訪問層負責定義應用如何利用上層傳輸層,包括:定義應用數據的格式,定義并控制在上層傳輸層執行的加密和解密過程。在將數據上傳到堆棧之前,對來自上層傳輸層的數據進行驗證,判斷其是否適用于該網絡和應用。 基礎模型層負責mesh網絡的配置和管理相關模型的實施。模型層涉及模型的實施,因此涉及一個或多個模型規格中定義的行為、消息、狀態、狀態綁定等的實現。
在安全方面,藍牙mesh采用了一種安全性架構,包括:在配置期間進行身份驗證;多層保護,在網絡層和應用層均實施了加密和認證;重放保護,包括IV 索引(32 位)、序列號(24 位)、IV 索引更新過程;密鑰刷新,設立節點黑名單,這能夠解決部署大型無線設備網絡的公司所面臨的安全性問題。
Zephyr* OS 支持藍牙mesh
智能樓宇包含數量龐大的組網設備,它們并非都是功能單一的元素,其中功能復雜的物聯網設備需要搭載合適的操作系統,才能為用戶提供優異的性能。Zephyr作為一款專門為資源受限設備推出的物聯網操作系統,其具有開源性、模塊化、可配置的優點,自推出以來受到越來越多開發者的關注,并逐步被各種物聯網設備所采用。為了滿足物聯網的碎片化需求,Zephyr操作系統盡可能支持多種架構,目前包括ARM、x86、ARC、NIOS-II、RISC-V、Xtensa六種架構。
那么,這些搭載Zephyr操作系統的物聯網設備能否被添加到藍牙mesh網絡中呢?答案是肯定的。Zephyr 操作系統從1.9 版本開始支持藍牙mesh,實現了所有強制特性,并針對其它多種實施方案進行了測試,現已移植到 MyNewt,并且已將多個重要的修復程序移植回 Zephyr 中,可使用許多流行的開發板進行支持 Zephyr 的演示。
在資源占用方面,Zephyr操作系統占用的 RAM 極小(包含網格的整個操作系統)只有約 12kB,甚至適用于受限最嚴格的 16k 開發板,比如 BBC micro:bit,可見非常適合資源受限的物聯網設備進行安裝。
Linux* 支持藍牙mesh
除了Zephyr操作系統,Linux操作系統也開始支持藍牙mesh。其在BlueZ 5.47 中發布了 meshctl 工具,包括GATT 客戶端和PB-GATT 配備設備。在用戶空間 (BlueZ) 和內核中持續運行,在內核中管理廣播和掃描,通過管理 API 擴展來實現控制,用戶空間中的其他所有資源幾乎都已網格化。
未來,網格供應商 HCI 擴展將得到 Linux 和 Zephyr 支持,同時增加更多針對 Zephyr 好友支持的特性,提供更多標準模型,使用各種開發板進行更多演示。
關于Zephyr
Zephyr 項目是一款小型且可擴展的操作系統,尤其適用于資源受限的硬件系統,可支持多種架構;該系統高度開源,對于開發人員社區完全開放,開發人員可根據需要對該系統進行二次開發,以支持***硬件、工具和設備驅動程序;該系統高度模塊化平臺,可輕松集成任何架構的第三方庫和嵌入式設備。