2013年時,有三名工程師(分別來自一家協定堆疊供應商和兩家彼此競爭的門鎖製造商)坐在波士頓(Boston)一間沒有窗戶的會議室裡,針對建構他們的物聯網(IoT)裝置達成協議。兩家製造商的門鎖設計各具特色,都希望能融入ZigBee生態系統,並且以相同的方式進行產品通訊。這次想法交流的衝擊產生了一些具有爭議的地方,但是幾天後,這些工程師們達成了共識,形成了ZigBee叢集庫(ZigBee Cluster Library,ZCL)中的門鎖叢集(Door Lock Cluster)。

IoT網路標準的關鍵要素:通用應用層

在應用層,ZigBee透過稱為「叢集」(Cluster)的實體提供標準化的通訊協定。叢集定義了裝置能發送或接收什麼命令,以及裝置注意哪些資料或屬性。門鎖叢集定義了包括依照預定時間表的上鎖及解鎖時間以及密碼鎖等所有功能。因此,在ZigBee協定堆疊的絕對頂層,門鎖有著非常明確和標準化的方式,能與ZigBee網路的其餘部份和外部世界進行通訊。

這聽起來乎平淡無奇,但是重要的是,這些工程師進行的工作已經在ZigBee中重現了數百次。在過去的十年中,ZigBee的成員公司已經建構了ZigBee叢集庫,涵蓋範圍從照明到窗戶感測器,從恆溫器到智慧電表等各種應用功能。這是ZCL的核心,當被移植到其他網路傳輸時,它便是ZigBee所提供的真正價值。

在物聯網中,每個智慧裝置都必須在應用層中理解和使用相同語言。人們期望智慧中樞(smart hub)知道如何與現成的門鎖或恆溫器進行通訊和控制。少了通用應用層,網路層性能如何其實就不重要了。通用應用層是物聯網網路標準需求的一個關鍵要素,是將ZigBee叢集庫移植為通用、獨立應用語言的核心價值,也是ZigBee為物聯網通用語言——Dotdot所取得的成就。

Dotdot是智慧裝置在任意網路上進行通訊的通用標準應用語言。

20180418_dotdot_NT31P1 Dotdot是運行在Thread網路通訊協定上的應用層

採用Thread的理由:IP友好的網路層

Thread網路通訊協定使用6LoWPAN,這是一種IPv6的精簡形式。這使得Thread裝置能夠直接與其他IP裝置進行互動,無需像在ZigBee 3.0中通過閘道。Thread網路上的邊界路由器充當了從IPv6資料流量到雲端的通道,反之亦然。因此,Thread網路上的裝置可以直接與其他IP裝置進行互動。

採用Dotdot的原因:IP友好的應用層

Dotdot使用網際網路工程任務組(IETF)定義的通用、IP友好協定規範,例如受限制的應用層協定(CoAP)和簡明二進位物件表示(CBOR)。因此,開放資料庫可用於開發應用,大幅加速了裝置開發進程。

聯合且更進階的安全性

Dotdot over Thread (如圖)需要使用資料封包傳輸層安全(Datagram Transport Layer Security)或DTLS。這使得Thread網路上的裝置能夠確保它們不僅與受信任的裝置通訊,還確保其通訊安全。除了使用DTLS之外,Dotdot還需要在約束環境(ACE)上使用的認證和授權,通常稱為存取控制(Access Control)。存取控制允許部署裝置準確的指定一個裝置上哪些資源是可用的,甚至即使恆溫器及門鎖共用DTLS連接,它也不能直接控制鎖,除非它具備適當的存取權限。

迄今為止,產品開發人員不得不在以下技術中進行選擇:a)支援可靠的、本地的、裝置對裝置的互通性,但通常其產品(和他們的資料)在協力廠商閘道上遇到困難,或是b)將這些產品直接連接到網際網路,但是為了採用有效的方式將裝置連接在一起,不得不面對可靠性、互通性和用戶體驗帶來的挑戰。

Dotdot over Thread提供了兩全其美的解決方案。

裝置對裝置通訊

ZigBee叢集庫是針對低功耗和有損網路(Lossy Network)上裝置到裝置通訊以及電池供電裝置而建構和最佳化的。這意味著資訊被壓縮成精巧、最適於單個127位元組802.15. 4數據封包之內。另外,訊息模式基於最小化裝置之間的通訊和多餘「交流」,而電池供電的裝置開啟其大部份的通訊,這是因為它們在睡眠時無法可靠的接收。Dotdot的開發保持了ZCL中的這些基本原則和經驗,以確保同樣適用於這些低功耗和有損網路,同時轉換到已知IP友好協定。

直接連網至雲端

使用Thread可以消除在網狀網路(mesh network)上通常需要的閘道,它直接掌握如何與每個裝置通訊。透過使用通用Thread邊界路由器,就可能從網際網路上的任何位置創建一個DTLS連接本地網狀網路上的裝置,並且與該裝置安全通訊。這允許物聯網系統的「大腦」處於雲端,而能與網路上的裝置直接通訊,而無需擔心閘道上的韌體版本。Thread邊界路由器充當一個通道,因此當網狀網路的組成發生變化以及增加新裝置或升級時,它就不需要進行韌體升級。這意味著可以進行一些複雜的事情,例如透過安全通訊通道,從雲端直接更新網狀網路上的裝置韌體,進而大幅簡化網狀網路裝置的管理。

Dotdot到ZigBee通訊

由於Dotdot是從ZCL衍生出來的,因此使用閘道器在二者之間進行轉換很簡單。這是至關重要的,因為它意味著新的Dotdot裝置可以無縫橋接到現有的ZigBee裝置,確保順暢的使用者體驗和互通性。這也意味著現有的ZigBee裝置可以使用Dotdot和IP友好的協定橋接到雲端,簡化遠端裝置的控制和管理。

ZigBee已經認證了近十年的應用層功能(ZigBee叢集庫)。ZigBee聯盟(Zigbee Alliance)也在為Dotdot開發一個自動測試環境。該測試環境確保ZigBee及其成員能夠認證Dotdot裝置及其應用層功能,同時確保來自不同供應商的裝置能夠在同一網狀網路上互通。當您選擇Dotdot作為物聯網裝置的應用層時,就能擁有可靠且通過認證專案所帶來的優點。

其他IP網路上的Dotdot

雖然最初的焦點是Dotdot over Thread,但是擴展到其他IP網路也相對簡單。Dotdot基於IP友好協定和IPv6,因此,其用途可以很容易地擴展到Wi-Fi或乙太網路(Ethernet)。對於本質上不支援IPv6或IP協定的藍牙(Bluetooth)傳輸技術等,則需要進行一些調整。