XBeeシリーズ2とSeeed製品を使用したZigbeeネットワーキング
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
XBee ZBモジュールはさまざまな方法で使用できます。また、多くの設定パラメータを提供します。このチュートリアルでは、基本的な設定を簡単な手順で紹介しています。
- アプリケーションにどの設定を使用するかを決定する前に、チュートリアル全体を少なくとも一度は通読してください。
このチュートリアルでは、XBeeシリーズ2モジュールを使用しており、旧シリーズ1モジュールは使用していません。当社のBazaarではシリーズ2モジュールを販売しています。
Zigbeeモジュールとネットワーク
Zigbeeは、個人エリアネットワーク(PAN)向けのIEEE 802標準に基づいた低消費電力、短距離無線デバイスのための標準です。Zigbeeモジュールは、免許不要のISM(産業・科学・医療)バンドで動作します。Zigbeeデバイスは、ピアツーピア、ポイントツーマルチポイント、およびメッシュ通信が可能です。これらは、消費電力が重要な要素である組み込みシステム向けに便利な低消費電力無線ソリューションを提供します。Zigbeeネットワークは、コーディネータ、ルーター、エンドデバイスの3種類の異なるZigbeeデバイスで構成されます。各ネットワークには16ビットのPAN IDが割り当てられます。Zigbeeネットワーク内のすべてのデバイスには、1つのPAN IDが割り当てられます。
デバイスタイプ
ZigBeeコーディネータ (ZC): 最も高機能なデバイスであり、コーディネータはネットワークツリーのルートを形成し、他のネットワークへのブリッジを行う可能性があります。各ネットワークには1つのZigBeeコーディネータが必要です。これはネットワークを最初に開始するデバイスだからです。コーディネータはRFチャネルとPAN IDを選択して個人エリアネットワーク(PAN)を開始します。ZCはまた、ルーターやエンドデバイスがPANに参加することを許可します。ZCは、ネットワークに関する情報を保存することができ、セキュリティキーの信頼センターおよびリポジトリとしても機能します。
ZigBeeルーター (ZR): アプリケーション機能を実行するだけでなく、ルーターは中間ルーターとして機能し、他のデバイスからのデータを中継することができます。ルーターは、ZCとの接続を確立した後にのみ動作を開始できます。
ZigBeeエンドデバイス (ZED): 親ノード(コーディネータまたはルーター)と通信するための最低限の機能のみを備えています。他のデバイスからのデータを中継することはできません。この関係により、ノードは大部分の時間をスリープ状態にすることができ、長いバッテリー寿命を実現します。ZEDは、センサーデータを送信する前にルーターと同様にPANに参加する必要があります。ZEDは最小限のメモリを必要とするため、ZRやZCよりも製造コストを抑えることができます。
デバイスアドレッシング
デバイスがZigbeeネットワークに接続すると、16ビットのネットワークアドレスが割り当てられます。
各デバイス(ノード)には64ビットのデバイスアドレスがあります。XBee ZBモジュールでは、この64ビットアドレスは製造元によって割り当てられた一意の永久番号です。これはデバイスのシリアル番号でもあります。
Zigbeeデバイス間でデータを送信する際には、16ビットのネットワークアドレスと64ビットのデバイスアドレスを指定して送信されます。
Zigbeeモジュールの入手
Seeedstudio Bazaarでは現在、digiの2種類のZigbeeモジュールを販売しています:
XBee® RF Modules ZNet 2.5 RF Moduleモジュールは、ZNet 2.5ファームウェアを搭載したシリーズ2ハードウェアです。
このチュートリアルでは、XBee Znet 2.5モジュールにXBee ZBファームウェアを使用します。XBee ZNet 2.5モジュールは、XBee/XBee-PRO ZNet 2.5モジュールをZBモジュールに変換する方法に記載されている手順に従うことで、XBee ZBファームウェアにアップグレードできます。この手順は次のセクションでも説明されています。
XBee ZBハードウェアとピン配置
- XBee ZBモジュールはチップアンテナ付きで提供されています。
https://www.seeedstudio.com/depot/images/product/xbee2.jpg
- XBee ZBモジュールのピン配置は以下の通りです。
UartSBee_V3.1またはGrove - XBee Carrierを使用したXBeeファームウェアのアップグレード
USB-to-Serialポート用ドライバのインストール
**UartSBee_V3.1に接続されたXBee ZBの設定** | **Grove - XBee Carrierに接続されたXBee ZBの設定** |
---|---|
 |  |
- FT232RLチップ用の必要なドライバを以下の手順でインストールしてください:
Windows
- Windows OSでは、デバイス(UartSBeeまたはGrove - XBee Carrier)を初めて接続すると、ドライバのインストールを求められる場合があります。
FTDIのウェブサイトからVirtual COMポートドライバをダウンロードしてインストールしてください:
https://www.ftdichip.com/Drivers/VCP.htm
- ドライバをインストールするためのウィザードが開きます。「リストまたは特定の場所からインストール」を選択してください。
- ダウンロードしたドライバのパスを選択してください。
- 未署名のドライバをダウンロードした場合、以下のウィンドウが表示されます。「続行」をクリックしてください。
- UartSBeeドライバが正常にインストールされました。WindowsはFT232RLにCOMポート名(例:COM10、COM11など)を割り当てます。デバイスマネージャで正確な名前を確認してください。この場合、COM16がUartSBeeに割り当てられています。
GNU/Linux
すべての最新のGNU/Linux OSにはFT232RLドライバが含まれています。UartSBeeまたはGrove - XBee Carrierが検出されているか確認するには、lsusbコマンドを実行してください。以下のような出力が表示されるはずです。
GNU/Linuxでは、デバイス名として/dev/ttyUSB0、/dev/ttyUSB1などが割り当てられます。
DigiのX-CTU(XCTU)ソフトウェアの使用
X-CTUは、XBeeのConfiguration(設定)およびTest Utility(テストユーティリティ)です。主にDigiのXBeeモジュールを設定し、オンボードMCUファームウェアをアップグレードするために使用されます。また、ATコマンドを使用してXBeeモデムと対話するためのシリアルターミナルも備えています。X-CTUはWindowsアプリケーションですが、Wineを使用することでGNU/Linuxでも動作することが知られています。
DigiのX-CTUページからX-CTUをダウンロードしてください。
X-CTUをインストールします。
X-CTUを開き、PC Settingsタブに移動します。
UartSBeeまたはGrove - XBee Carrierに接続されているUSBシリアルポートを選択します。
Test / Queryボタンをクリックします。
ダイアログボックスにモデムタイプ、モデムファームウェアバージョン、およびシリアル番号が表示されます。
この場合、XBee ZNet 2.5モデムはXB24-Bとして表示されます。これをXB24-ZBファームウェアにアップグレードする必要があります。
Modem Configurationタブを開きます。
Download New Versionsボタンをクリックします。
- 以下のダイアログボックスが開きます:
Webボタンをクリックします。これにより、Digiのサーバーからすべてのデバイスファームウェアがダウンロードされます。
最新のファームウェアがダウンロードされると、更新の概要が表示されます。これにより、問題なく更新が行われたことが確認できます。このダイアログボックスが表示されない場合は、上記の手順を繰り返してください。
モデム設定タブを開きます。
「Modem Parameters and Firmware」→「Read」ボタンをクリックします。
XBee ZNet 2.5 ファームウェア XB24-B が検出され、すべての設定済みパラメータが表示されます。
また、ファームウェアのFunction SetがZIGBEE ROUTER/END DEVICE ATであり、バージョンが1220であることも示されます。
Function Setは、XBeeモジュールに既にプログラムされている、またはこれからプログラムするファームウェアを決定します。シリーズ2デバイスは、さまざまなモード(ZC、ZR、ZED)で使用できます。適切なファームウェアのFunction Setを選択する必要があります。
次に、ファームウェアをXB24-ZBに更新します。(注意:XB24-Bファームウェアは使用せず、XBee ZNet 2.5モジュールハードウェアと互換性のある別のファームウェアセットを使用します)
モデムをXB24-ZBとして選択します。
Function SetをZIGBEE COORDINATOR ATとして選択します。
- 注意:ZIGBEE COORDINATOR ATは次のセクションで使用するFunction Setの1つです。アプリケーションに適したFunction Setを選択できます。
最新バージョンのファームウェアを選択します。このガイド執筆時点では208Cです。
「Write」ボタンをクリックします。これにより、ファームウェアがXBeeモジュールに永久的に書き込まれます。
XBee ZBモジュールとPCを使用したワイヤレスUARTデモ
このデモでは、2つのXBeeモジュールを設定し、電源投入時に自動的に接続し、データを継続的に送受信するようにします。このセットアップは、2台のPCまたはシリアルポートを持つ2つのMCUを接続するためのワイヤレスUARTとして使用できます。
これらのモジュールをPCのシリアルポートに接続し、ドライバがインストールされていることを確認します。
X-CTUを開き、以下のようにデバイスのUSB-シリアルポートを選択します:
1つのモジュールにCOORDINATOR AT Function Setファームウェアを、もう1つのモジュールにROUTER AT Function Setファームウェアをプログラムします。常に最新バージョンのファームウェアを使用してください。ファームウェアのプログラム方法については、上記のセクションを参照してください。
次に、モデム設定タブを開き、両方のモジュールの宛先アドレスを以下のように設定します:
COORDINATORの宛先アドレスHighをROUTERのシリアル番号Highに設定します。
COORDINATORの宛先アドレスLowをROUTERのシリアル番号Lowに設定します。
ROUTERの宛先アドレスHighをCOORDINATORのシリアル番号Highに設定します。
ROUTERの宛先アドレスLowをCOORDINATORのシリアル番号Lowに設定します。
- これらのパラメータをモジュールに書き込みます。
パラメータ設定中にPAN IDは変更されませんでした。近くに1つのZigbeeネットワークしかないため、0のままにしました。ただし、両方のモジュールのPAN IDを16ビットの番号に変更することを検討してください。
両方のモジュールのターミナルタブを開き、「Show Hex」ボタンをクリックします。
COORDINATORターミナルにメッセージを入力すると、ワイヤレスでROUTERに送信されます。同様に、ROUTERターミナルに入力されたテキストはCOORDINATORターミナルに送信されます。
XBee ZBモジュールとArduinoを使用したワイヤレスUARTデモ
XBee ZBモジュールを使用したワイヤレスセンサーネットワーク(WSN)デモ
参考文献
- Wikipedia Zigbeeページ - デバイスの種類 (CC-BY-SA)
関連プロジェクト
XBeeを使用して素晴らしいプロジェクトを作りたい場合、以下のプロジェクトを参考にしてください。
ハミングバード
このプロジェクトでは、ZigbeeメッシュとGPRS SIM900カードを使用してサーバーと通信します。サーバーはデータを分析し、ユーザーにリアルタイム情報と予測を提供します。
太陽熱温水ボイラープロジェクト
太陽熱温水ボイラーは、無料の太陽エネルギーを使用してお湯を提供するため素晴らしいですが、太陽が十分でない場合や、すでに誰かがお湯を使い切ってしまった場合はどうでしょうか?このプロジェクトは、適切な判断を下すのに役立ちます。お湯がなくなったときに警告し、電気加熱をオンにすることができます。また、いつお風呂やシャワーを浴びることができるかも教えてくれます!
あなたの素晴らしいプロジェクトを私たちと共有してください
作ることと共有することの精神を持って生まれた、それが私たちが信じる「メイカー」の本質です。
そして、この精神があるからこそ、オープンソースコミュニティは今日のように繁栄しています。
あなたが何者であろうと、何を作ったとしても、ハッカー、メイカー、アーティスト、エンジニアであろうと関係ありません。
自分の作品を他の人と共有し始めるだけで、
あなたはオープンソースコミュニティの一員となり、貢献をしているのです。
今すぐRecipeであなたの素晴らしいプロジェクトを共有し、Seeedのコアユーザーになるチャンスを手に入れましょう。
- コアユーザーとは、Seeed製品に高い関心を持ち、重要な貢献をしている人々のことです。
- 私たちはコアユーザーと協力して新製品を開発します。つまり、コアユーザーはSeeedの新製品を公式発売前に体験する機会を得ることができ、その見返りとして、製品性能やユーザー体験を向上させるための貴重なフィードバックを期待しています。ほとんどの場合、コアユーザーが何か良いアイデアを持っている場合、私たちはハードウェア部品、PCBAサービス、技術サポートを提供します。また、コアユーザーとのさらなる商業的な協力も十分に可能です。
技術サポートと製品ディスカッション
弊社の製品をお選びいただき、ありがとうございます!お客様が弊社製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しております。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。