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
* Bluetooth
* LoRaWAN

## 參考文獻

## 外部連結

* 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 （頁面存檔備份，存於網際網路檔案館）
* [1] 恩智浦智慧型照明方案