隨著物聯網裝置的普及,低功耗無線網路技術的重要性日益凸顯。Zigbee 和 Z-Wave 作為兩種主流的無線通訊協議,在智慧家居、工業自動化等領域得到廣泛應用。本文將深入比較 Zigbee 和 Z-Wave 的技術特性,包括網路拓撲、資料速率、安全性以及各自的優缺點,並探討其在物聯網中的應用場景。同時,文章還會分析 IEEE 802.15.4 標準與 Zigbee 的關係,以及 IP 協定在物聯網中的應用。
調製技術
IEEE 802.15.4 協定使用不同的調製技術來實現資料傳輸。BPSK(二元相位調製)和 O-QPSK(偏移四元相位調製)是其中兩種常用的調製技術。BPSK 使用二元相位調製來傳輸資料,而 O-QPSK 則使用四元相位調製來提高資料傳輸速率。
地域覆蓋範圍
IEEE 802.15.4 協定在不同地域使用不同的頻率頻段。例如,在歐洲,868.3 MHz 頻段被使用,而在北美,902-928 MHz 頻段被使用。這些頻段的選擇取決於地域的無線電頻率分配和幹擾情況。
資料速率
IEEE 802.15.4 協定支援不同的資料速率,從 20 Kbps 到 250 Kbps。資料速率的選擇取決於應用的需求和無線電頻率的可用性。
內容解密:
上述內容介紹了 IEEE 802.15.4 協定的基本架構和特點,包括其運作頻率、調製技術、地域覆蓋範圍和資料速率。這些內容對於瞭解 IEEE 802.15.4 協定的工作原理和應用場景非常重要。
圖表翻譯:
graph LR A[IEEE 802.15.4] --> B[868.3 MHz] A --> C[902-928 MHz] A --> D[2400 MHz] B --> E[歐洲] C --> F[北美] D --> G[全球] E --> H[BPSK] F --> I[O-QPSK] G --> J[O-QPSK]
這個圖表顯示了 IEEE 802.15.4 協定的運作頻率和地域覆蓋範圍,以及各個頻段使用的調製技術。這個圖表可以幫助讀者快速瞭解 IEEE 802.15.4 協定的基本架構和特點。
IEEE 802.15.4無線個人區域網路技術
IEEE 802.15.4是一種低速率、低功耗的無線個人區域網路(WPAN)技術,主要用於物聯網(IoT)應用。它的工作頻率範圍包括868 MHz、915 MHz和2.4 GHz,分別對應不同的地域和應用。
物理層(PHY)
IEEE 802.15.4的物理層(PHY)負責符號編碼、位元調製、位元解調製和封包同步等功能。它使用了多種調製技術,包括BPSK(二元相移鍵控)、O-QPSK(偏移四相移鍵控)和ASK(振幅移鍵控)。這些技術使得IEEE 802.15.4能夠在不同的頻率帶下工作,並且能夠適應不同的環境條件。
媒體存取控制層(MAC)
IEEE 802.15.4的媒體存取控制層(MAC)負責管理無線頻道的存取,避免不同裝置之間的碰撞。它使用了一種稱為CSMA/CA(載波感知多存取碰撞避免)的機制,來確保裝置之間的通訊是可靠和高效的。MAC層還負責管理裝置的睡眠和喚醒,節省能耗。
通訊模式
IEEE 802.15.4支援兩種通訊模式:beacon模式和beaconless模式。在beacon模式下,裝置會週期性地傳送beacon訊號,來同步其他裝置的時鐘和頻率。在beaconless模式下,裝置之間的通訊是根據需求的,沒有固定的beacon訊號。
保證時間槽(GTS)
IEEE 802.15.4提供了一種稱為保證時間槽(GTS)的機制,允許裝置在特定的時間槽內進行通訊。這種機制可以保證裝置之間的通訊是可靠和高效的,尤其是在需要低延遲和高吞吐量的應用中。
應用
IEEE 802.15.4技術已經被廣泛應用於各種領域,包括智慧家居、工業自動化、醫療保健等。它的低功耗和低成本使得它成為了一種非常有吸引力的選擇,尤其是在需要大量裝置連線的應用中。
Mermaid 圖表
graph LR A[裝置] -->|beacon|> B[協調器] B -->|GTS|> C[裝置] C -->|通訊|> D[裝置] D -->|beacon|> B
圖表翻譯
上述Mermaid圖表展示了IEEE 802.15.4的beacon模式下,裝置之間的通訊過程。裝置A傳送beacon訊號給協調器B,協調器B分配GTS給裝置C,裝置C與裝置D進行通訊,裝置D傳送beacon訊號給協調器B。這種過程保證了裝置之間的通訊是可靠和高效的。
內容解密
IEEE 802.15.4技術的物理層和媒體存取控制層是它的核心部分。物理層負責符號編碼和位元調製等功能,而媒體存取控制層負責管理無線頻道的存取和裝置之間的通訊。保證時間槽(GTS)機制是IEEE 802.15.4的一個重要特點,它可以保證裝置之間的通訊是可靠和高效的。
IEEE 802.15.4 無線個人區域網路技術
IEEE 802.15.4是一種低速率、低功耗的無線個人區域網路(WPAN)技術,主要適用於物聯網(IoT)裝置、智慧家居、工業自動化等領域。該技術提供了一種低成本、低功耗的無線通訊解決方案,適合於需要低速率資料傳輸的應用場景。
超框架(SuperFrame)結構
IEEE 802.15.4的超框架(SuperFrame)結構由16個相等的時間槽組成,其中一個時間槽用作信標(Beacon)。超框架的長度可以根據具體應用需求進行調整。超框架結構如下:
- 信標(Beacon):用於同步和協調網路中的裝置
- 內容競爭期(Contention Period):裝置競爭通道訪問權
- 保證時間槽(GTS):保證裝置訪問通道的時間槽
無信標網路
IEEE 802.15.4還支援無信標網路模式,在這種模式下,裝置不需要等待信標就可以傳送資料。無信標網路模式使用無槽CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)協議,裝置在傳送資料前需要進行清除通道評估(CCA),如果通道空閒,裝置就可以傳送資料。
清除通道評估(CCA)
CCA是CSMA/CA協議的一部分,裝置在傳送資料前需要進行CCA,以確保通道是否空閒。CCA有四種模式:
- 模式1:能量超過閾值
- 模式2:載波感知
- 模式3:載波感知和能量超過閾值
- 模式4:載波感知和計時器
網路拓撲
IEEE 802.15.4支援兩種網路拓撲:
- 星形拓撲(Star Topology):裝置之間的通訊需要透過協調器(PAN Coordinator)
- 網狀拓撲(Mesh Topology):裝置之間可以直接通訊
裝置型別
IEEE 802.15.4定義了兩種裝置型別:
- 全功能裝置(FFD):支援任何網路拓撲,可以作為協調器
- 減功能裝置(RFD):只能作為星形拓撲中的裝置,不能作為協調器
地址模式和包結構
IEEE 802.15.4使用64位的唯一地址(IEEE地址或MAC地址)。但是,為了節省頻寬和降低功耗,裝置可以使用16位的本地地址(PAN ID)。PAN ID由協調器分配。
IEEE 802.15.4的包結構包括:
- 資料幀(Data Frame):用於應用資料傳輸
- 確認幀(Acknowledgement Frame):用於確認接收
- 信標幀(Beacon Frame):用於同步和協調網路
- MAC命令幀(MAC Command Frame):用於MAC層管理
啟動序列
IEEE 802.15.4的啟動序列包括:
- 裝置初始化其堆疊(PHY和MAC層)
- 建立協調器
- 協調器聆聽其他網路並獲得唯一的PAN ID
- 裝置加入網路並獲得PAN ID
總之,IEEE 802.15.4是一種低速率、低功耗的無線個人區域網路技術,適合於需要低速率資料傳輸的應用場景。其超框架結構、無信標網路模式、清除通道評估和網路拓撲等特點使其成為物聯網和智慧家居等領域的重要技術。
個人區域網路(PAN)協調器的選擇和網路啟動
在個人區域網路(PAN)中,協調器(PAN coordinator)扮演著至關重要的角色。它負責選擇一個適合網路使用的無線電頻率。這個過程是透過能量偵測掃描實現的,掃描所有物理層(PHY)可以支援的頻率,以找到一個安靜的頻道。
一旦網路啟動,協調器就可以接受其他裝置的加入請求。這些請求可以透過主動或被動的方式進行。在主動方式中,裝置直接向協調器傳送加入請求;而在被動方式中,裝置可以掃描頻道以尋找協調器發出的信標(beacon),然後傳送加入請求。
網路安全性
IEEE 802.15.4 標準提供了安全機制,包括加密和認證。這些安全機制可以根據成本、效能、安全性和功耗的需求進行選擇。不同的安全套件包括根據 AES 的加密,使用計數器模式和 CBC-MAC 模式。這些安全套件提供了認證和加密的保護。
每個裝置都需要維護一個存取控制列表(ACL),以控制哪些安全套件和金鑰被使用。ACL 包括了被授權通訊的節點地址、安全套件、金鑰和初始向量(IV)等資訊。
安全模式和特性
IEEE 802.15.4 標準定義了多種安全模式和特性,包括無安全保護、AES-CTR 加密、AES-CBC-MAC 認證等。每種模式都提供了不同的安全級別和功能,包括機密性、幀完整性和順序新鮮度。
程式碼實現
以下是使用 Python 實現的簡單的 PAN 協調器和裝置加入過程:
import random
class PANCoordinator:
def __init__(self):
self.frequency = random.choice([2400, 2410, 2420]) # 選擇一個隨機的頻率
self.devices = [] # 記錄已加入的裝置
def start_network(self):
print(f"網路啟動,頻率:{self.frequency} MHz")
def accept_join_request(self, device):
self.devices.append(device)
print(f"裝置 {device} 加入網路")
class Device:
def __init__(self, address):
self.address = address
def join_network(self, coordinator):
print(f"裝置 {self.address} 傳送加入請求")
coordinator.accept_join_request(self)
# 建立一個 PAN 協調器和兩個裝置
coordinator = PANCoordinator()
device1 = Device("001")
device2 = Device("002")
# 啟動網路和裝置加入
coordinator.start_network()
device1.join_network(coordinator)
device2.join_network(coordinator)
圖表翻譯
以下是使用 Mermaid 語法繪製的 PAN 協調器和裝置加入過程圖表:
flowchart TD A[網路啟動] --> B[裝置傳送加入請求] B --> C[協調器接受加入請求] C --> D[裝置加入網路] D --> E[網路執行]
圖表翻譯
這個圖表展示了 PAN 協調器和裝置之間的加入過程。首先,網路啟動,然後裝置傳送加入請求,協調器接受加入請求,最後裝置加入網路,網路開始執行。
加密與訊息鑑別碼(MAC)技術
在現代密碼學中,Advanced Encryption Standard(AES)是一種廣泛使用的對稱金鑰加密演算法。然而,加密只是保證資料機密性的第一步,還需要確保資料的完整性和真實性,這就是訊息鑑別碼(Message Authentication Code, MAC)的作用。
AES 加密
AES是一種分組加密演算法,將資料分成固定大小的分組(block)進行加密。AES的加密過程涉及多輪的替換和排列,使用一個金鑰來控制這個過程。AES支援多種金鑰長度,包括128位、192位和256位。
訊息鑑別碼(MAC)
訊息鑑別碼是一種用於驗證訊息完整性和真實性的技術。它透過對訊息進行雜湊(hash)並使用金鑰加密,生成一個固定長度的程式碼。這個程式碼可以用來驗證訊息是否被竄改過。
AES-CBC-MAC
AES-CBC-MAC是一種使用AES加密演算法和CBC(Cipher Block Chaining)模式來生成MAC的方法。這種方法使用AES對訊息進行加密,並將最後一分組的加密結果作為MAC。
CCM模式
CCM(Counter with CBC-MAC)模式是一種結合了加密和MAC的模式。它使用AES加密演算法和CBC-MAC來提供資料的機密性和完整性。CCM模式支援多種分組大小和MAC長度,包括64位、96位和128位。
比較不同的MAC長度
不同的MAC長度提供了不同的安全性和效率。一般來說,較長的MAC長度可以提供更好的安全性,但也會增加計算的複雜度。
- MAC-64:64位的MAC長度相對較短,可能不夠安全。
- MAC-32:32位的MAC長度甚至更短,安全性更低。
- CCM-128:128位的MAC長度提供了較好的安全性,適合需要高安全性的應用。
- CCM-64和CCM-32:這些模式提供了較短的MAC長度,可能適用於效率要求較高的應用,但安全性可能會有所妥協。
Zigbee 協定概述
Zigbee 是一種根據 IEEE 802.15.4 的 WPAN 協定,主要用於商業和住宅 IoT 網路。它是一種低功耗、低成本的無線網路技術,適合於物聯網應用。
Zigbee 歷史
Zigbee 的概念始於 1990 年代,當時低功耗無線網路技術開始受到重視。2002 年,Zigbee 聯盟成立,旨在推動 Zigbee 技術的發展。2004 年,IEEE 802.15.4 標準被批准,Zigbee 協定也隨之被提出。2005 年,Zigbee 2004 版本被發布,之後又發布了 2006 和 2007 版本。
Zigbee 架構
Zigbee 網路由三個主要元件組成:
- Zigbee 控制器 (ZC):這是一種高功能的裝置,負責形成和啟動網路功能。每個 Zigbee 網路都有一個 ZC,扮演著 802.15.4 2003 PAN 協調器 (FFD) 的角色。
- Zigbee 路由器 (ZR):這是一種可選的元件,負責處理網路路由和協調。ZR 也可以扮演 FFD 的角色,並參與多跳路由。
- Zigbee 端點裝置 (ZED):這是一種簡單的端點裝置,例如燈開關或恆溫器。它只具有基本的功能,無法進行路由或協調。
Zigbee 資料傳輸
Zigbee 支援三種型別的資料傳輸:
- 週期性資料:以固定的速率傳輸資料,例如感測器定期傳輸資料。
- 間歇性資料:在應用程式或外部刺激下傳輸資料,例如燈開關。
- 重複低延遲資料:Zigbee 可以分配時間槽進行傳輸,具有很低的延遲,適合於電腦滑鼠或鍵盤等應用。
Zigbee 安全性
Zigbee 支援多種安全功能,包括加密、驗證和授權。Zigbee 網路可以使用不同的安全模式,例如 AES-128 加密和 HMAC-SHA-256 驗證。
Zigbee 網路拓樸和協定堆疊
Zigbee是一種低功耗、低成本的無線個人區域網路(WPAN)技術,支援三種基本的網路拓樸:星型網路、叢集樹網路和網狀網路。星型網路是一種簡單的網路拓樸,僅有一個協調器(ZC)和多個終端裝置(ZED)。叢集樹網路是一種多跳的網路拓樸,使用信標和路由協定來延伸網路覆蓋範圍。網狀網路是一種動態路由的網路拓樸,允許任意兩個裝置之間的路由。
Zigbee協定堆疊包括網路層(NWK)和應用層(APS)。網路層負責裝置管理、路由發現和路由維護。應用層提供了一個介面,允許應用程式之間的通訊。Zigbee協定堆疊還包括了一個安全服務提供者、ZDO管理平面和Zigbee裝置物件(ZDO)。
Zigbee 網路地址和封包結構
Zigbee網路地址是一個16位元的地址,用於識別裝置在網路中的位置。Zigbee封包結構包括了網路層封包(NWK)和應用層封包(APS)。網路層封包負責路由和裝置管理,應用層封包負責應用程式之間的通訊。
Zigbee 安全性
Zigbee安全性是根據IEEE 802.15.4的安全規範,使用CCM模式提供驗證和加密。Zigbee安全性包括了裝置驗證、資料加密和金鑰管理。
Zigbee 應用
Zigbee是一種低功耗、低成本的無線技術,適合於各種應用,包括智慧家居、工業自動化、醫療保健等。Zigbee可以用於各種裝置之間的通訊,例如燈光、溫度控制、安全系統等。
Zigbee 網路拓樸優點
- 低功耗
- 低成本
- 高可靠性
- 簡單的網路拓樸
Zigbee 網路拓樸缺點
- 有限的網路覆蓋範圍
- 單點故障的風險
Zigbee 應用優點
- 低功耗
- 低成本
- 高可靠性
- 簡單的應用開發
Zigbee 應用缺點
- 有限的網路覆蓋範圍
- 單點故障的風險
graph LR A[Zigbee 網路拓樸] --> B[星型網路] A --> C[叢集樹網路] A --> D[網狀網路] B --> E[低功耗] B --> F[低成本] C --> G[高可靠性] C --> H[簡單的網路拓樸] D --> I[動態路由] D --> J[高可靠性]
圖表翻譯:
此圖表展示了Zigbee網路拓樸的三種基本型別:星型網路、叢集樹網路和網狀網路。每種網路拓樸都有其優點和缺點,例如星型網路的低功耗和低成本,叢集樹網路的高可靠性和簡單的網路拓樸,網狀網路的動態路由和高可靠性。瞭解這些網路拓樸的優點和缺點,可以幫助使用者選擇適合的網路拓樸,滿足其特定的需求。
import networkx as nx
# 建立一個空的圖
G = nx.Graph()
# 新增節點
G.add_node("Zigbee 網路拓樸")
G.add_node("星型網路")
G.add_node("叢集樹網路")
G.add_node("網狀網路")
# 新增邊
G.add_edge("Zigbee 網路拓樸", "星型網路")
G.add_edge("Zigbee 網路拓樸", "叢集樹網路")
G.add_edge("Zigbee 網路拓樸", "網狀網路")
# 列印圖的節點和邊
print(G.nodes())
print(G.edges())
內容解密:
此程式碼使用NetworkX庫建立了一個空的圖,然後添加了四個節點和三個邊。節點代表Zigbee網路拓樸的三種基本型別,邊代表這些型別之間的關係。列印圖的節點和邊,可以幫助使用者瞭解網路拓樸的結構和關係。
Zigbee 網路技術與安全機制
Zigbee是一種非IP基礎的無線個人區域網路(WPAN)技術,廣泛應用於物聯網(IoT)裝置和智慧家居系統。它使用兩種唯一地址:長地址(64位)和短地址(16位)。長地址由IEEE分配,短地址則是可選的。
Zigbee 網路路由
Zigbee使用兩種路由演算法:AODV(Ad hoc On-Demand Distance Vector)和樹狀路由演算法。AODV是一種按需路由系統,當兩個節點需要通訊時,才會發現彼此的路由。樹狀路由演算法則形成了一個自組織網路,具有自我修復和冗餘的能力。
Zigbee支援多種路由模式,包括廣播、網狀路由、樹狀路由和源路由。廣播是將封包傳送給所有節點,網狀路由是使用路由表來傳送封包,樹狀路由是使用樹狀結構來傳送封包,源路由則是使用源節點來傳送封包。
Zigbee 安全機制
Zigbee的安全機制是根據IEEE 802.15.4的安全規範。它提供三種安全機制:存取控制列表(ACL)、128位AES加密和訊息新鮮度計時器。Zigbee的安全模型分佈在多個層次,包括應用層、網路層和MAC層。
Zigbee使用多種金鑰來管理安全,包括主金鑰、網路金鑰和鏈路金鑰。主金鑰是預先安裝的,網路金鑰則提供網路級別的保護,鏈路金鑰則形成了一個安全的繫結關係。
金鑰管理
金鑰管理是Zigbee安全的關鍵。Zigbee使用一個信任中心來分發金鑰給所有節點。信任中心可以是ZC,也可以是外部的信任中心。信任中心提供三種服務:信任管理、網路管理和配置管理。
安全模式
Zigbee支援兩種安全模式:住宅模式和商業模式。在住宅模式中,信任中心不會與網路裝置建立金鑰關係,而在商業模式中,信任中心會與所有網路裝置建立金鑰關係。
Z-Wave技術概述
Z-Wave是一種無線個人區域網路(WPAN)技術,主要用於家居和消費者自動化。它是一種低頻寬的技術,旨在與感測器和開關進行通訊。Z-Wave的設計根據ITU-T G.9959標準,在物理層和媒體存取控制層。
Z-Wave的頻率和資料率
Z-Wave使用多個頻率帶,包括908.4 MHz、916.0 MHz等。它支援三種資料率:100 Kbps、40 Kbps和9.6 Kbps。每個頻率帶都有一個單一的通道,使用頻率偏移鍵控(FSK)進行資料傳輸。
Z-Wave的網路拓樸
Z-Wave網路由不同的節點組成,包括控制器、從屬節點和橋接器。控制器是網路的主節點,負責路由表的管理和網路拓樸的建立。從屬節點是執行命令的節點,不能直接與其他從屬節點進行通訊。橋接器是一種特殊的控制器,能夠連線Z-Wave網路和其他網路系統。
Z-Wave的協議棧
Z-Wave的協議棧由五層組成:物理層(PHY)、媒體存取控制層(MAC)、傳輸層、路由層和應用層。每一層都有其特定的功能,例如PHY層負責訊號調製和頻率分配,MAC層負責節點識別和路由表的管理。
Z-Wave的地址機制
Z-Wave的地址機制相對簡單,使用兩個基本的地址識別符:Home ID和Node ID。Home ID是一個32位的唯一識別符,預先程式設計在控制器裝置中。Node ID是一個8位的值,分配給每個從屬節點。
Z-Wave的路由和拓樸
Z-Wave的路由層負責框架的傳輸和路由表的建立。路由表是一個簡單的表格,指定哪個節點連線到另一個節點。Z-Wave使用源路由演算法來導航網路拓樸,最大路由躍點數為四個。
Z-Wave的優點和缺點
Z-Wave的優點包括低功耗、低成本和簡單的網路拓樸。然而,Z-Wave的缺點包括有限的頻寬和路由躍點數。
內容解密:
Z-Wave是一種無線個人區域網路技術,主要用於家居和消費者自動化。它的設計根據ITU-T G.9959標準,在物理層和媒體存取控制層。Z-Wave的協議棧由五層組成,包括物理層、媒體存取控制層、傳輸層、路由層和應用層。Z-Wave的地址機制相對簡單,使用兩個基本的地址識別符:Home ID和Node ID。Z-Wave的路由層負責框架的傳輸和路由表的建立,使用源路由演算法來導航網路拓樸。
圖表翻譯:
graph LR A[控制器] --> B[從屬節點] B --> C[橋接器] C --> D[其他網路系統] A --> E[路由表] E --> F[源路由演算法] F --> G[網路拓樸]
這個圖表展示了Z-Wave的網路拓樸,包括控制器、從屬節點、橋接器和其他網路系統。控制器負責路由表的管理和網路拓樸的建立。從屬節點是執行命令的節點,不能直接與其他從屬節點進行通訊。橋接器是一種特殊的控制器,能夠連線Z-Wave網路和其他網路系統。路由表是一個簡單的表格,指定哪個節點連線到另一個節點。源路由演算法是用來導航網路拓樸的演算法,最大路由躍點數為四個。
網際網路通訊協定(IP)在物聯網(IoT)中的應用
物聯網(IoT)是一個龐大的網路,連線著數十億個裝置,包括感測器、物體和執行器。這些裝置需要使用適當的通訊媒介來與其他裝置進行通訊,以便執行某些動作。這是無線個人區域網路(WPAN)的角色。WPAN使用無授權頻譜,允許裝置之間進行通訊。
本章將探討IP基礎的WPAN和區域網路(WLAN)。WPAN通常不使用傳輸控制協定/網際網路協定(TCP/IP),但有一些適應性協定可以讓WPAN裝置使用IP進行通訊。例如,Zigbee-IP和IPSP(IP over Bluetooth)可以讓WPAN裝置使用IP進行通訊。
無線個人區域網路(WPAN)技術正經歷著從非IP走向IP的轉型,這對物聯網(IoT)的發展至關重要。本文分析了Zigbee、Z-Wave等非IP基礎WPAN技術的架構、拓撲、安全機制等核心要素,也探討瞭如何透過Zigbee-IP、6LoWPAN等協定橋接至IP網路。非IP的WPAN技術在低功耗、低成本方面具有優勢,但其有限的網路覆蓋範圍和互通性是其主要的限制。而IP網路的廣泛普及和豐富的應用生態,為WPAN技術的發展提供了新的方向。雖然IP化的WPAN技術在功耗和成本方面仍有最佳化的空間,但其互通性和可擴充套件性更能滿足未來IoT大規模部署的需求。玄貓認為,隨著IPv6的普及和相關技術的成熟,IP化的WPAN技術將成為未來IoT的主流通訊方式,值得相關產業持續關注和投入。