ZigBee

ZigBee，也稱紫蜂，是一種低速短距離傳輸的無線網路協定，底層是採用IEEE 802.15.4標準規範的媒體存取層與實體層。主要特色有低速、低耗電、低成本、支援大量網路節點、支援多種網路拓撲、低複雜度、可靠、安全。

## 發展歷程

主要由Honeywell公司組成的ZigBee Alliance制定，從1998年開始發展，於2001年向電機電子工程師學會（IEEE）提案納入IEEE 802.15.4標準規範之中，自此將ZigBee技術漸漸成為各業界共同通用的低速短距無線通訊技術之一。

## IEEE802.15.4/ZigBee協議概述

IEEE802.15.4協議是IEEE802.15.4工作組為低速率無線個人區域網（WPAN:Wireless Personal Area Network）制定的標準，該工作組成立於2002年12月，致力於定義一種廉價的，固定、便攜或行動裝置使用的，低複雜度、低成本、低功耗、低速率的無線連接技術，並於2003年12月通過了第一個802.15.4標準。隨著無線傳感器網路技術的發展，無線傳感器網路的標準也得到了快速的發展。802.15.4標準定義了在個人區域網中通過射頻方式在設備間進行互連的方式與協議，該標準使用避免衝突的載波監聽多址接入以方式作為媒體訪問機制，同時支持星型與對等型拓撲結構。

在802.15.4標準中指定了兩個物理頻段和直接序列擴頻（DSSS）物理層頻段：868/915MHz和2.4GHz。2.4GHz的物理層支持空氣中250kb/s的速率，而868/915MHz的物理層支持空氣中20kb/s和40kb/s的傳輸速率。由於數據包開銷和處理延遲，實際的數據吞吐量會小於規定的比特率。作為支持低速率、低功耗、短距離無線通信的協議標準，802.15.4在無線電頻率和數據率、數據傳輸模型、設備類型、網路工作方式、安全等方面都做出了說明。並且將協議模型劃分為物理層和媒體接入控制層兩個子層進行實現。

ZigBee協議是由ZigBee聯盟制定的無線通信標準，該聯盟成立於2001年8月。2002年下半年，英國Invensys公司、日本三菱電氣公司、美國摩托羅拉公司以及荷蘭飛利浦半導體公司共同宣布加入ZigBee聯盟，研發名為「ZigBee」的下一代無線通信標準，這一事件成為該技術發展過程中的里程碑。ZigBee聯盟現有的理事公司包括BM Group，Ember公司，飛思卡爾半導體，Honeywell，三菱電機，摩托羅拉，飛利浦，三星電子，西門子，及德州儀器。ZigBee聯盟的目的是為了在全球統一標準上實現簡單可靠、價格低廉、功耗低、無線連接的監測和控制產品進行合作，並於2004年12月發布了第一個正式標準。

## 縮寫與用語解釋

- AF - Application Framework（應用層框架）。
- APL - Application Layer（應用層）。
- APS - Application Support sublayer（應用支撐層）。
- MAC - Media Access Control layer（媒體訪問控制層）。
- NIB - Network Information Base（網路資訊庫）
- NWK - Network layer（網路層）。
- PHY - Physical layer（實體層）。
- WPAN - Wireless Personal Area Network。為IEEE 802.15族系所規範的一系列無線個人區網標準。
- ZC - ZigBee Coordinator（ZigBee協調員）。
- ZDO - ZigBee Device Object（ZigBee設備對象）。
- ZED - ZigBee End Device（ZigBee終端設備）。
- ZR - ZigBee Router（ZigBee路由）。
- FFD - Full Function Device（全功能器件）。
- RFD - Reduce Function Device（精簡功能器件）。

## 協定層與標準說明

ZigBee協定層從下到上分別為實體層（PHY）、媒體存取層（MAC）、網路層（NWK）、應用層（APL）等。網路裝置的角色可分為ZigBee Coordinator、ZigBee Router、ZigBee End Device等三種。支援網路拓撲有星型、樹型、網型等三種。

### 網路層（NWK）

網路層負責以下工作：

- 加入與離開某個網路
- 將封包做安全性處理
- 傳送封包到目標節點
- 找尋並維護節點間的繞徑路線
- 搜尋鄰節點
- 儲存相關鄰節點資訊

ZigBee Coordinator額外工作：

- 發起一個網路
- 設定各項網路參數
- 分派網路位址並規範網路位址分發原則

#### NWK Primitives（網路層原語）

- NLDE-DATA
- NLME-NETWORK-DISCOVERY
- NLME-NETWORK-FORMATION
- NLME-PERMIT-JOINING
- NLME-START-ROUTER
- NLME-JOIN
- NLME-DIRECT-JOIN
- NLME-LEAVE
- NLME-RESET
- NLME-SYNC
- NLME-GET
- NLME-SET

ZigBee V1.1新增：

- NLME-ROUTE-ERROR
- NLME-ROUTE-DISCOVERY
- NLME-TEST

### 應用層（APL）

- ZigBee應用層包含應用程式支援子層（APS）、應用程式框架（AF）、ZigBee裝置管控物件（ZDO）與各廠商定義的應用程式物件。
- APS次層提供網路層與應用層之間的介面，維持物件之間的連結表（binding table），並在連結的裝置之間傳遞訊息，它也維持了一個APS資訊庫（APS Information Base, AIB）。
- ZDO的功能包括起始應用程式支援子層、網路層以及安全服務等。

#### 應用程式支援子層（APS）

APS子層是負責上層應用程式物件與下層網路層的協調。其工作有：

- 維護Binding表，這是用來配對兩網路節點間所需服務的對應表。
- 轉發已配對裝置間的訊息。
- 處理64位元IEEE位址與16位元NWK位址間的對應。

ZigBee V1.1新增：

- 群播位址定義，移除與過濾群播訊息。

##### APS Primitives

- APSDE-Data
- APSME-BIND
- APSME-GET
- APSME-SET
- APSME-UNBIND
- APEME-ESTABLISH-KEY
- APSME-TRANSPORT-KEY
- APSME-UPDATE-DEVICE
- APSME-REMOVE-DEVICE
- APSME-REQUEST-KEY
- APSME-SWITCH-KEY

ZigBee V1.1新增

- APSME-ADD-GROUP
- APSME-REMOVE-GROUP
- APSME-REMOVE-ALL-GROUPS

#### ZigBee裝置管制物件（ZigBee Device Object, ZDO）

ZDO可視為應用程式物件之一，所不同的是ZDO專門負責整體系統的管理事務，Endpoint 0隻能且必定由ZDO使用，每個節點都一定有此物件。負責工作有：

- 定義或調整本身裝置在網路上的角色（ZC、ZR或ZED）。
- 建構上層應用所需的資訊、發出或回應連結的要求。
- 搜尋並探知其他網路節點可用的應用程式服務。
- 起始與回應配對要求。
- 建立兩網路節點間的安全性關係。

## 版本

### ZigBee V1.0

這是第一個ZigBee標準公開版，於2005年6月開放下載，文件內記載公布時間為June 27, 2005，內部文件編號為053474r06。

### ZigBee V1.1

第二個ZigBee標準公開版，於2007年1月開放下載，文件內記載公佈時間為December 1, 2006，內部文件編號為053474r13。又稱為ZigBee 2006。

### ZigBee V1.2

第三個ZigBee標準公開版，於2008年1月開放下載，文件內記載公佈時間為January 17, 2008，內部文件編號為053474r17。又稱為ZigBee Pro、ZigBee 2007。

## 整理

### 資訊庫（Information Base）

ZigBee某些層有資訊庫儲存該層所需資訊，共有以下幾種：

- MAC資訊庫（MIB）
- NWK資訊庫（NIB）
- APS資訊庫（AIB）

### Profile

ZigBee所定義的Profile有兩種：

- Application Pro：針對各種不同應用情境所定義出的概略行為藍圖，如Home Control Lighting (HCL)和Home Automation (HA)。一般所稱的Profile通常是指此種Profile。
- Stack Pro：主要規定通用性的網路參數，如Network Specific、Home Controls (HC)、Building Automation (BA)、Plant Control等Stack Profile。原則上Application Profile中會說明可採用何種Stack Profile來作為基礎網路建構方案，如HCL中即採用HC作為網路建構方案。

### 各層定址

- MAC：可採用64位元IEEE位址或16位元NWK位址。
- NWK：16位元NWK位址。
- APS：8位元Endpoint號碼。

## 比較

方式｜Wi-Fi｜ZigBee｜電力載波｜藍牙

傳輸距離｜10-30m｜50-300m｜500m｜1-10m

傳輸速率｜9.6Gbps｜250kbps｜1000Mbps｜2Mbps

功耗｜10-50mA｜5mA｜ZigBee和Wi-Fi之間

特點｜應用最廣｜可自組網，網路節點數最大可達65000個。｜可基於電力線傳輸，無需布線。｜現時智慧型電話、智能手錶、電腦必備裝置，已成為無線鍵盤、無線滑鼠、無線免提無線揚聲器等之主流連接技術

## 外部連結

- ZigBee Alliance
- IEEE 802.15.4 WPAN Working Group
- Listing of major ZigBee semiconductor suppliers
- ZigBee Wireless Networks for Industrial Systems (white paper)
- ZigBee introduction course ZigBee簡介（英文和荷蘭文）
- Palowireless ZigBee Resource Center新聞、文件與資源
- ZigBee Chatter Slashdot使用者討論ZigBee文件的文件
- OpenBee 一個使用UML開發ZigBee程式的開發套件，並帶有ZigBee協定堆疊軟體
- A ZigBeeTM-subset/IEEE 802.15.4TM Multi-platform Protocol Stack美國密西西比州立大學所開發的WPAN套件，並不支援完整的ZigBee協定
- Using ZigBee Wireless Networking to Develop Commercial Products
- 恩智浦智能照明方案