Zigbeeモジュール完全解説:特徴・プロトコル・Arduino/Raspberry Pi接続・ブリッジ構築まで
Bluetoothより低複雑・長電池寿命、多数ノード対応・簡単設置のフレキシブルなネットワークが必要なら、Zigbeeモジュールが最適です。本記事では仕組み、プロトコル、無線モジュール動作、Arduino/Pi接続、Zigbee2MQTTブリッジ構築まで包括的に解説します。
Zigbeeモジュールとは
IoT向け低データレートデバイス向けに設計された低消費電力メッシュ無線トランシーバ。IEEE 802.15.4準拠、2.4GHz/900MHz/868MHz帯使用、電池駆動デバイスに最適。ネットワークあたり最大65,000ノード接続可能。DSSS(直接拡散スペクトラム拡散変調)採用、低レイテンシで128-bit AES暗号化実装。
2000年代初頭登場以来、複数回アップデート。最新は Zigbee 3.0(全デバイスクラス統合)。
Zigbeeモジュール USB ドングルの特徴
一般的なUSBメモリ似の形状だが、周囲のZigbeeデバイスとハンドシェイクし、無線経由で情報ストリームを送受信可能。2.4GHz ISM帯安定動作、WPAN標準IEEE 802.15.4準拠、RFトランシーバでDSSS変調実行。ネットワークセンサ/コーディネータ/ルータの三役を兼ね、既存Zigbeeネットワークへ容易に追加可能。
Zigbeeプロトコルの独自性
プロトコルレイヤーはOSI/ISO参照モデルに準拠。7層中、物理層(PHY)とMAC層のみを厳密実装し、低データレート・低出力無線ネットワークに特化。これら2層に独自セキュリティ機能を埋め込み。
ZigbeeモジュールとArduinoの接続手順(Series 1 / XBee互換)
初心者向けのSeries 1 (XBee互換) を例に解説。同一モデル同士でハンドシェイク可能。
手順
Step 1: 2モジュールの接続と設定
モジュール1をArduino、モジュール2をPC/マイコン/センサに接続。両方を設定。
Zigbeeモジュール設定手順(ATコマンドモード)
- シリアルアダプタで2モジュールをPCシリアルポートに接続
- PuTTY(Windows)または仮想ターミナルを用意
- ボーレート9600、データ8ビット、ストップ1、パリティなしで接続確認
- ローカルエコー有効化、OK押下
- セッション保存
- 接続ボタンクリック
- セッション名設定
- モジュール接続完了
- ATコマンドで設定変更(PAN ID、チャネル、アドレス、ボーレート等)
Step 2: 電圧レベル確認
モジュールは3.3V〜5V動作。Adafruit XBeeアダプタなら両電圧対応。未入手時は別途電源回路必要。
Step 3: 信号線接続
Arduino RX⇔モジュールTX、TX⇔RX(クロス接続)。VCC/GND共通。
Step 4: 通信フロー
Arduino→モジュール1送信 → 無線経由でモジュール2受信 → モジュール2→接続デバイス(PC等)へシリアル転送
Step 5: 返信フロー
モジュール2→モジュール1→Arduinoシリアルピンへ再送信
Step 6: Arduinoスケッチ例
ZigbeeモジュールとRaspberry Piのインターフェース
必要材料
- Raspberry Pi 4
- Zigbee 1mW ワイヤアンテナ Series 1 ×2
- Zigbee Explorer Dongle ×2
手順
- X-CTUソフトで2モジュールを同一ボーレートでペアリング
- 両モジュールをUSBドングル装着、1つをPi USBポート、もう1つをPC USBポートに接続
- PCにFTDIドライバ導入(USBシリアル通信用)
- ボーレート設定、HyperTerminal等で対応COMポート選択
Zigbeeモジュール応用例
- 無線ロボット/リモコン
- 無線ネットワークデバイス
- ホームオートメーション(無線制御)
- 無線温度センサネットワーク
Zigbeeブリッジ構築プロジェクト(Zigbee2MQTT)
必要材料
- Zigbee対応デバイス(Osram球、Philips Hue、Belkinスイッチ等)
- Zigbee対応USBアダプタドングル(CC2531等)
- Raspberry Pi
- Zigbee2MQTTアプリ
構築手順
- Zigbee2MQTTアプリ実行(バックエンドでPlatypusがMQTT通信)。OS別導入手順・対応デバイスは公式サイト参照
- ローカルにMQTTブローカー(Mosquitto等)導入・起動確認。Raspbian/Ubuntu/DebianでMosquitto切替コード:
- zigbee2MQTTインストールコード実行:
- システムサービス化コード投入:
- 設定ファイルの
permit_join: trueでデバイス参加許可。初期接続完了後falseに変更(誤参加防止)。随時切替可能 - デバイスをファクトリリセットでペアリングモードにし参加(Philips Hueアプリ、ディマー長押し10秒、専用リセットボタン等、ブランド別手順あり)
- 全デバイス参加完了後、メッシュネットワークログ確認:
- MQTT/HTTP拡張でPlatypusとRedisをZigbee経由起動:
- 設定ファイル修正でHTTPS/Zigbee認可:
- Platypusシステムサービス起動、ホストIP(Zigbee IP)をブラウザで開きネットワーク操作
- デフォルトAPI(Python/HTTP/Platypusサーバーサイド)でリクエスト通信:
FAQ
なぜZigbeeはBluetoothより優れている?
通信距離・メッシュ網構築・ノード数・電池寿命でZigbee優位。データ転送速度はBluetoothが高速。
ZigbeeはWi-Fiモジュールか?
いいえ。ZigbeeはWPANベースの別技術。Wi-Fiとは異なるプロトコルスタック。
なぜZigbeeモジュールは高い?
モジュール単価$2〜$14.7。大容量メモリフットプリントと計算量の多いプロトコルスタックが要因。
Raspberry PiにZigbeeは内蔵か?
非内蔵。RaspBee(HAT)でPiをユニバーサルZigbeeゲートウェイ化可能(標準Piケース収納サイズ)。
Raspberry PiでZigbeeを使うには?
2台のZigbeeを用意、1台をPC USB、もう1台をPi USBに接続してペアリング。
Raspberry PiをZigbeeハブにできるか?
可能。ZigbeeはRaspberry Piと互換性あり。
結び
Zigbeeモジュールは、長距離・多数ノード・セキュアネットワーク・長電池寿命が求められる低データレート用途に最適。ホームオートメーションツールとして導入検討の際は、ご質問・ご相談をお気軽にどうぞ。
産業技術
- サイリスタ技術:SCRからTRIAC、GTO、UJTまで
- COVID-19が浮き彫りにした3Dプリンティングの医療分野における重要な役割
- なぜ海にコンテナが落ちるのか? 海上コンテナ紛失増加の要因を探る
- 医療機器OEMが直面するデジタル変革の4大課題
- ISO 9001を製造戦略に統合:品質と成長を牽引する
- 製造オーダーモジュールの主要機能:効率最大化の鍵
- 製造現場での部品表(BOM)作成マスター:完全ガイド
- RTCモジュール(DS3231)完全ガイド:正確な時刻管理・Arduinoカレンダー時計製作
- 産業用無線が重要な理由:主要メリットと導入課題
- Sierra Wireless、「Octave」を発表:産業用IoT向け統合エッジ・トゥ・クラウドソリューション
- テキスタイルの科学:酸性、反応、レザー、直接染料への深い潜入