ビル内の照明や空調装置,防犯装置などを無線で接続する技術ZigBee。最近名前を聞くようになったものの,仕様の詳細は明らかでなく謎が多い。まだ,ZigBeeの評価用キットがいくつか登場した段階だ。このうちの一つを使ってZigBeeの仕組みを調べた。評価キットには未実装の機能や評価用ならではの実装があるため,ZigBeeの実際とズレがあるかもしれないが,パケット転送の仕組みは大筋判明した。また,無線LANとの干渉が起こることが明らかになった。

図1●ZigBeeの構造
物理層/MAC層はIEEE802.15.4で定められた規格をそのまま利用する。機器の種別(照明など)ごとに呼び出し手順を「プロファイル」として定めている。プロファイルはベンダーが独自に定めてもよい。
図2●ZigBee機器のトポロジ
ネットワーク・コーディネータを中心としたネットワークを形成する。
図3●ZigBeeに関する疑問点
 2005年,ZigBeeは普及に向けて体制を整えた。2004年12月にZigBeeの標準化団体であるZigBee Alliance*がバージョン1.0の仕様書を完成。2005年4月には,4製品を仕様に準拠していると認証した。認証した機器を使った実用例が出てくるのもそう遠くない。

 ただその実態はベールに包まれている。仕様書を含む詳細な資料を入手できるのはZigBee Allianceの会員のみ。一般に公開しているのは,概略を説明したホワイト・ペーパーやプレゼンテーション資料程度。例えば複数のノードがパケットを中継する際に各ノードがあて先を判断する仕組みや,アドレスの割り当て方法などは不明だ。また,使用している周波数帯から無線LANと競合する可能性があるが,これに対する情報も明らかではない。

 そこで,ZigBeeの本質に迫るため,市販の評価キットを使って動作原理や無線特性などを調べた(次ページの別掲記事「実験に使用した評価キット」参照)。

ネットワーク層以上を定める

 まずZigBeeの全体像を押さえておこう。ZigBee Allianceが公開している情報によると,ZigBeeは遠隔監視や操作のための近距離無線技術である。ビルの空調や照明の制御ネットワーク,防犯用のセンサー・ネットワーク,プラント装置の監視ネットワークなどがその主たる用途である。

 ZigBeeの仕様で定めているのはOSI参照モデルにおけるネットワーク層以上の部分。具体的にはパケットの転送やセキュリティ確保の方法,アプリケーションとのインタフェースなどだ(図1[拡大表示])。物理層(PHY)とMAC層には,IEEEが標準化した近距離無線規格IEEE802.15.4を利用する。

 IEEE802.15.4は2.4GHz帯以外に868MHz帯と915MHz帯を規格として定めている。日本では周波数割り当ての関係で2.4GHz帯しか利用できない。データ転送速度は最大250kビット/秒と,無線LANやBluetoothと比較して低速である。そのぶん消費電力が低いのが特徴。電力制御をすれば単三アルカリ乾電池2本で数カ月~2年程度動作できるという。

 各アプリケーションの呼び出し手順は「プロファイル」として規定している。プロファイルには例えば,照明機器用の「Lighting」がある。プロファイルはZigBee Allianceだけでなく,ベンダーが独自に定めてもよい。

 ノードには,処理能力や消費電力に応じた2種類の実装がある。一つはパケットを中継できる実装。ルーティングのためのテーブルを持ち,別のノードから受け取ったパケットを目標のノードに送り出せる。もう一つは中継機能を持たず,自分自身の親となるノードとしか通信しない実装。親となるノードが目的地に向けてパケットを回送する。

 前者の中継機能があるノードを「Full Function Device(FFD)」,後者の中継機能がないノードを「Reduced Function Device(RFD)」と呼ぶ(図2[拡大表示])。RFDの親になるノードはFFDでなければならない。FFDが複数ある場合はそのうち一つが,「ネットワーク・コーディネータ」になる。ネットワーク・コーディネータはネットワークのすべてのノードの位置関係を把握しており,ネットワークのトポロジを決定する。

ルーティングと無線特性に残る疑問

 この説明でなるほどそういうものかとも思えるが,実際に動いている様子を想像すると,疑問がわいてくる。

 仕組み上の疑問は大きく三つ(図3[拡大表示])。まず,トポロジ決定方法である。ホワイト・ペーパーによれば「ネットワーク・コーディネータがトポロジを決定する」という。しかし,複数のFFDがある場合,ネットワーク・コーディネータをどのように決定するのか。またノード同士の接続関係はどうやって決まるのか。

 次に気になるのが,パケット転送のメカニズムである。ZigBeeでは,直接電波が届かなくても,その間に位置する複数のノードがパケットを中継して通信する。その経路はどうやって決定するのか。

 最後の疑問が中継ノードの障害時の動作である。もし中継するノードに障害があると,離れた場所にあるノード間での通信ができなくなる。こういったケースでは迂回路を探すような仕組みが入っているのだろうか。

 仕組みだけではなく,無線の特性に関する疑問もある。その一つが到達距離。ZigBeeの出力は数mWと小さい。どの程度の距離を中継なしに通信できるのだろうか。また無線LANとの干渉も気になる。ZigBeeではIEEE802.11b/gと同じ2.4GHz帯を利用するからだ。


実験に使用した評価キット

写真●米Helicomm社のEZ-Net DevKit
ZigBeeの評価/開発キット。ハードウェアはZigBeeモジュール(右),インタフェース・ボード(中央),RS-232Cケーブル(左)からなる。RS-232Cケーブルを使ってZigBeeモジュールをパソコンに接続し,設定や情報を収集する。キットにはハードウェアが6セット付いてくる。

 今回の実験には米Helicomm社のZigBeeの評価キット「EZ-Net DevKit」を使った。EZ-Net DevKitには,ZigBeeモジュールのほか,このモジュールをパソコンに接続するためのインタフェース・ボード,RS-232Cケーブルなどが含まれる。モジュールの設定や情報収集には付属ソフトウェアを利用する。

 EZ-Net DevKitで評価できるのはZigBeeの仕様のうち,ネットワークに関する部分。暗号や認証などのセキュリティ機能は搭載しておらず,試せなかった。このため,今回はネットワーク機能と無線特性を中心に評価を行った。製品は国内販売代理店であるエーアイコーポレーションから借用した。

 なお,EZ-Net DevKitは2005年5月6日時点でZigBee Allianceの仕様準拠製品とはなっていない。本文中でも触れたように,いくつかZigBeeの仕様とは異なる部分もある。ただしHelicomm社はZigBee Allianceの会員企業であり,評価のため変えた面もありそうだ。