24小時聯系電話:18217114652、13661815404
中文
行業資訊
工業,家庭環境的藍牙網格的設計注意事項
藍牙是一種無處不在的通信協議,在消費電子,醫療保健,工業自動化和資產跟蹤中有無數的應用。現在,通過添加低功耗藍牙(BLE)網格作為網絡層,甚至可以同時控制和監視數百個(甚至數千個)設備。但是,這些新功能為開發人員增加了復雜性。
藍牙的眾多優勢已使其無處不在。藍牙標準由專業小組(SIG)維護和改進,該小組在撰寫本文時在150個國家/地區擁有約33,000個成員。原始標準指定了點對點(1:1)連接,后來又添加了多點(一對多或1:m)和網格(許多對多或m:m)。經典藍牙支持基本速率(BR)和增強數據速率(EDR)的1:1和1:m通信。低功耗藍牙(BLE)是唯一支持m:m網狀網絡的模式。
BLE Mesh網絡的出現進一步擴大了藍牙潛在應用的規模和范圍。BLE Mesh支持超過30,000個網絡節點,可以處理跨越大型建筑物,醫療保健企業和校園的應用程序。
藍牙的采用已迅速增長,并預計將繼續快速發展(圖1)。如此普遍的使用使藍牙網絡幾乎遍及所有平臺,包括智能手機和平板電腦,智能手表,筆記本電腦以及從鍵盤和鼠標到揚聲器和耳機的外圍設備。這種跨接口的普遍性和各個品牌之間普遍的互操作性建立了已安裝的基礎和開發人員/用戶的熟悉度,這使藍牙成為許多新應用程序的明顯選擇。
1.藍牙在整個終端市場中繼續普遍使用,隨著時間的推移,低功耗模式將扮演越來越重要的角色
BLE網格概述
網狀網絡拓撲具有兩個顯著優勢:幾乎無限的可擴展性和高彈性,這兩者都促使該協議在產品設計工程師中廣受歡迎。這些優勢源于多對多通信,這些通信形成了整個網絡中從源到目的地的多條路徑(圖2)。
2. BLE Mesh幾乎無限的可擴展性和高彈性使其適用于各種新的和苛刻的用例
m:m連接可確保成功進行通信,即使多個節點發生故障或暫時或退出服務也是如此。換種說法:BLE Mesh網絡可以擴展到很遠而沒有任何單點故障。
網格節點類型
可擴展拓撲使BLE Mesh網絡理論上最多支持32,767個節點,這個數目對實際應用沒有實際限制。該標準定義了四種類型的節點,并且可以將任何單個節點配置為支持多種類型:
中繼節點重新傳輸或中繼接收到的消息,以在整個網狀網絡中傳播它們。僅當消息的生存時間(TTL)值大于零時,才會中繼消息。除低功耗節點外,所有BLE Mesh設備均應支持此功能。
低功耗節點(LPN)主要用于電池供電的低占空比傳感器。為了較大程度地降低功耗,通常會為LPN分配一個伴隨的“節點”,以充當消息的中介。
節點代表其分配的LPN接收消息,并將消息存儲在隊列中以備以后傳遞。每個LPN都會定期“喚醒”并輪詢其Friend Node以接收可能在其隊列中的任何新消息。
代理節點在BLE Mesh網絡中的面向連接的通用屬性(GATT)承載和廣告承載之間中繼消息。此功能使支持BLE(但不支持BLE Mesh堆棧)的設備能夠與網狀網絡通信,而無需專用網關或其他特殊要求。
網格節點元素
每個節點都必須具有定義其基本功能的主要標識元素。它們還可以可選地具有一個或多個輔助元素以定義其他功能。例如,開關(主要元件)也可能具有占用傳感器作為次要元件?;蛘?,占用傳感器(主要元素)也可能具有照明級別傳感器作為次要元素。
網狀網絡地址
BLE Mesh網絡中有四種類型的地址,所有這些地址都是在安全設置過程中分配的。請注意,地址已分配給元素,這意味著具有多個元素的節點將具有多個地址。
單播地址唯一地標識每個單獨的元素,以實現點對點通信。
組地址代表啟用多播通信的多個元素。藍牙SIG定義了四個固定組地址:全代理,全友,全中繼和全節點。
虛擬地址創建元素或節點的虛擬組,以啟用其他動態多播通信功能。
未分配的地址標識尚未配置其單播,組和/或虛擬地址的元素。
網格節點模型
BLE Mesh節點采用三種不同類型的模型之一:客戶端,服務器或控制。這些模型由節點的一個或多個基本功能決定,因為可以在單個節點中實現多個模型。
服務器模型包含并公開元素的狀態;例如,照明器打開或關閉或處于某個中間亮度水平。
客戶端模型通過發送和接收消息與服務器模型進行交互。例如,當使用開關關閉或調暗燈具時。
控制模型在單個節點中結合了客戶端和服務器模型,并且通常包括控制邏輯(即規則和行為)。例如,具有環境光傳感器的室外照明器可以被配置為在黃昏時打開并且在黎明時關閉并且可以打開和關閉室內入口照明器。
消息和消息
BLE Mesh網絡中的消息分為兩類:用于實現應用程序的訪問消息和用于管理Mesh網絡操作的控制消息。訪問消息對產品設計工程師尤其重要,因為訪問消息是請求,發送或更改元素狀態值的方法。例如,打開或關閉照明器。
訪問消息的三種類型是GET,SET和STATUS。發送GET消息以從元素或元素組中請求狀態值,然后發送STATUS消息作為響應。發送SET消息以更改元素或元素組中的狀態值,這些狀態值通常通過發送STATUS消息來確認更改。也可以不確認SET,在這種情況下,不會發送STATUS消息來響應更改。除了GET和SET響應外,STATUS消息還可以由元素發起,以定期報告其狀態值。
通信作為可管理的消息泛濫在BLE Mesh網絡中進行。“泛洪”傳達了消息在整個網狀拓撲中的流動方式,同時進行“管理”以確保有效有效地利用可用帶寬。托管洪水的關鍵是所使用的發布/訂閱組消息傳遞。任何節點都可以發布或發送消息,并且每個節點都配置為僅訂閱或處理其收到的某些消息,而其他所有消息則根據需要進行中繼。這兩個方面的結合有助于使BLE Mesh網絡具有行業領先的價格/性能,可伸縮性和可靠性。
設備配置
必須先配置所有已安裝的設備,然后才能加入BLE Mesh網絡。設置通常由智能手機,平板電腦或PC上運行的應用程序執行。這是BLE Mesh的顯著優勢,因為可以從Mesh參與者運行Provisioner應用程序和(可選)Mesh User Application代碼(圖3)。調配是確定性和安全的過程,涉及交換密鑰以進行相互認證。
3.分層架構使軟件工程師可以將開發工作完全集中在Mesh用戶和Provisioner應用程序上,而不是BLE Mesh網絡上
網狀網絡安全
BLE Mesh協議的設計具有強大的安全性。設置,身份驗證和消息傳遞必須經過高度加密。網絡,應用程序和設備安全性都可以使用不同的密鑰分別應用,這提供了讓多個實體管理不同元素的方法。這些規定可防止各種形式的物理和虛擬攻擊,包括蠻力,重放,中間人和垃圾桶,并提供用戶數據隱私。
軟件架構
圖3描繪了BLE Mesh節點中的軟件層。請注意,Mesh用戶和Provisioner應用程序如何位于體系結構的頂部,庫和核心功能的上方,以使它們獨立于底層BLE Mesh網絡。還請注意,網格供應商模型庫如何使添加專有功能,同時保持與藍牙標準的兼容性成為可能。
開發BLE Mesh產品
本節重點介紹BLE Mesh開發過程,包括使用的工具,并探討關鍵的設計注意事項。盡管BLE Mesh網絡適用于多種應用和用例,但出于兩個原因,此處以智能照明為例。其中之一是建立了以照明為基本用例的標準。另一個是這種“智能建筑”應用程序的普及,根據針對藍牙技術聯盟(Bluetooth SIG)進行的研究,預計到2023年,單位出貨量的復合年均增長率(CAGR)為46%。
基本的開發過程始于定義設備的配置,該配置必須至少包括其節點類型,元素,模型以及所有特定于硬件和/或應用程序的狀態以及回調函數。下一步涉及為應用程序和BLE Mesh網絡實現回調函數。
在開發過程中,從頭到尾通常會使用各種開源和特定于產品的工具。
對于支持BLE Mesh網絡的產品,設計注意事項至少涉及設備功能(或元素),mesh網絡大小,天線范圍,內存要求,功耗和成本。必須單獨考慮在智能手機,平板電腦或PC上運行的預配,管理和其他軟件的設計。
在所有產品開發工作中,通常都需要在各種設計注意事項之間進行權衡。這種權衡的需要將在以下三種智能照明應用中常用的產品中解決:開關,傳感器和照明器。如將顯示的那樣,大多數折衷方案的設計考慮因素是功耗。
為了較大程度地提高多功能性并因此較大化智能照明的優勢,用戶將希望能夠在幾乎任何地方部署開關和傳感器。由于某些設備可能部署在不易接近的位置,因此使用可充電電池收集能量可能是理想的功能。對于測量照度或感測乘員的有無的傳感器尤其如此。相比之下,物理開關從其本質上就很容易訪問,因此,在沒有交流電源的地方,可以用可更換的原電池進行設計。
對于BLE Mesh網絡,將電池供電的設備設計為低功耗節點是有利的,這取決于Friend Node功能的可用性。此要求可以在產品的文檔中加以說明和/或在確保具有外部電源的系列產品(例如照明器)中提供。
因為BLE Mesh網絡的主要優點是可擴展性,所以它們可能會變得很大。盡管大的數量的節點和大量的躍點很少是限制因素,但是產品應設計為在需要跨越較大區域(可能是室外且節點相對較少)的小規模部署中工作。在這些使用情況下,可能有必要促進增加產品的天線范圍和/或在單獨的(可選)專用產品中提供中繼節點功能。
功耗與發射范圍有著千絲萬縷的聯系,而BLE Mesh標準為設計工程師提供了一些強大的功能(如雙關語),可以進行所需的折衷。一種這樣的能力是能夠通過減小帶寬來擴大范圍而不增加功耗。逆向能力也是可能的;也就是說,通過減小范圍來增加帶寬,而又不會增加功耗。
產品的其他方面可以提高其功耗的重要性。例如,傳感器需要有多敏感,以及需要多久輪詢一次狀態變化?更頻繁的通信意味著更多的功耗,從而增加了對更大的原電池或對可充電電池的能量收集的需求。
圖4顯示了可用于產品原型設計和開發的評估板示例。請注意,其中包括了智能照明應用中通常需要的三個功能:用于照明設備的LED,開關以及用于占用傳感器的PIR運動檢測器。電路板底部邊緣中心的模塊包含BLE Mesh網絡以及運行應用程序軟件所需的CPU,內存和天線。
4.顯示的是用于原型設計和開發智能照明產品的評估板。背面的電池盒未顯示
顯示的是用于原型設計和開發智能照明產品的評估板。背面的電池盒未顯示。
考慮到智能手機,平板電腦和PC中普遍存在藍牙技術,這些系統通常用于供應,配置和管理BLE Mesh產品,例如智能照明應用中使用的開關,傳感器和照明設備。如上所述,由于Mesh用戶和Provisioner應用程序位于BLE Mesh庫和核心功能之上,因此軟件開發人員可以將精力專門放在應用程序而不是網絡上。這是網格用戶和預配器應用程序可能需要支持的一些功能的示例:
創建和刪除BLE Mesh網絡和組
設置和刪除單個節點
配置發布和訂閱
發布GET消息以查詢元素的狀態
發布SET消息,對于照明應用,該消息可能包括“開/關”,“水平”,“亮度和亮度色相”,“飽和度”,“亮度色溫”和“ Delta UV”
發布SET消息以獲取供應商數據和供應商模型
執行空中(OTA)固件升級
選擇BLE網格組件
上一節中未涉及的另一個設計考慮因素是成本,這始終是開發任何產品的重要因素。成本始終具有兩個方面:設計產品和制造產品。選擇具成本效益的BLE Mesh組件還具有兩個方面:芯片及其軟件。芯片是片上系統(SoC)或系統級封裝(SiP)模塊,軟件是它們隨附的開發工具。
由于互操作性是 標準的根本原因,因此選擇BLE Mesh組件的基本要求是經認證符合Bluetooth SIG標準。這同樣適用于芯片和軟件,包括完整的藍牙BR / EDR和BLE Mesh協議棧以及所有相關庫。使用經過藍牙SIG認證的SoC,SiP和其他組件,設計工程師無需進行嚴格的鑒定和互操作性測試。
在撰寫本文時,認證適用于藍牙核心規范的5.0版和BLE Mesh規范的1.0版。BLE Mesh規范的2.0版預計將于2020年發布。
選擇BLE Mesh平臺時,設計工程師應尋求滿足以下大多數或所有標準的解決方案:
從基本的電池供電傳感器到現在和可預見的將來可能需要的最復雜的設備,可以滿足各種需求的模塊系列。
完全集成的模塊,較大限度地減少了對外部組件的需求,加快了產品上市時間,并降低了開發和制造成本。
超低功耗設計,具有天線類型和發射功率,可適應所有預期的節點到節點距離。
對于所有可預見的應用程序和升級,有足夠的CPU,內存(閃存和RAM)和I / O。
對于可能需要BLE Mesh網絡與Wi-Fi網絡通信的應用程序,將需要某種形式的網關功能。例如,家庭安全系統可以用于打開或關閉某些燈,以模擬人們在家中或被授權代碼停用。在這些情況下,同時支持Wi-Fi和BLE網絡的SoC或SiP組合模塊可簡化設計工作。
由于軟件開發環境,工具和庫與芯片同樣重要,因此請努力尋找滿足以下大多數或全部標準的解決方案:
易于使用的集成開發環境(IDE),抽象了底層協議的復雜性
軟件開發套件(SDK),示例軟件,原型硬件和開發人員社區,以協助軟件開發和測試工作
適用于在Android,iOS,Linux和Windows操作系統上運行的控制應用程序的參考軟件設計
藍牙已經在“個人區域網絡”應用程序中無處不在,并且BLE Mesh的出現極大地擴展了這種流行協議的潛在用例的規模和范圍。BLE Mesh網絡提供的幾乎無限的可擴展性和高彈性的結合,現在使藍牙應用程序可以跨越建筑物,校園甚至整個城市。盡管此處使用的智能照明應用程序是一個很好的例子,但BLE Mesh的潛在用例僅受想象力的限制。
它的普遍存在還給藍牙帶來了另一個重要的優勢:開發新產品所需的成熟技術,工具和軟件的可用性。鼓勵有興趣進一步了解這些資源的硬件和軟件工程師閱讀以下“參考”部分中列出的文檔和鏈接。