XBeeでZigBeeネットワークを構築するために、まずはネットワークの構成(コーディネータ、ルータ、エンドデバイス)を理解しましょう。また、モジュールの各種設定はXCTUというS/Wで書き込みます。このS/Wの使い方についても説明します。
ZigBeeネットワーク
イーサネットネットワークと同様に、ZigBeeネットワークは、定義されたネットワークスタックに基づいて、スタック内の各レイヤがデータメッセージの特定の返還を担当します。
また、他のネットワークと同様にZigBeeネットワークは、メッセージルーティング、アドホックネットワークの作成、自己修復メッシュトポロジをサポートしています。これらの機能を利用するために、無線アドレスとPANアドレスが必要になります。
メッシュトポロジでは、各ノード(ここではXBeeモジュール)にネットワーク上での役割を与えます。
- コーディネーター:1つのネットワークに必ず1つ用意します。コーディネーターは、アドレスの管理、ネットワークの生成と管理を担当します。ネットワーク内のエンドデバイス・ルーターは、起動時にコーディネーターを検索し、通信を試みます。
- ルーター:コーディネーターやエンドデバイスと通信を行います。ルーターに設定されたモジュールは、データの中継を行うことができます。また、一部のルーターが停電や故障などで停止してしまっても、別のルーターやコーディネーターと通信ができれば、通信を継続できます。スリープ機能は使えません。
- エンドデバイス:コーディネーターやルーターと通信を行います。エンドデバイスはデータを中継する機能がありませんが、その分低消費電力で動作させられます。また、スリープ機能もサポートしています。
ネットワーク上に最低1つのコーディネーターがあれば、それ以外のXBeeモジュールは好きなように設定できます。メッシュネットワークを形成するには、ルーターを複数使用します。図1にメッシュネットワークの例を示します。
ファームウェアの更新
XBeeモジュールの設定を開始する際に最初に行うのは、XBeeモジュールを最新のファームウェアにアップデートすることです。ここでいうファームウェアとは、XBeeモジュール本体に組み込まれたマイクロコントローラのプログラムを指します。
ファームウェアのアップデートは、Digiインターナショナル社が提供しているXCTUというPCソフトを使用して行います。XCTUソフトウェアにはリマインダー機能やヒント機能があります。
図2に、XCTUを起動した状態を示します。
次に、モジュールの接続方法や設定方法を解説します。
XCTUソフトウェアの最新版は、次のURLからダウンロードしてください。
https://www.digi.com/products/embedded-systems/digi-xbee/digi-xbee-tools/xctu
Windows、MacOS、Linuxそれどれのインストーラがダウンロードできますので、お使いのPC環境に合わせてインストーラをダウンロードし、インストールします。
ソフトウェアをインストールしてXCTUソフトウェアを起動したら、いよいよXBeeモジュールを接続します。XBeeモジュールをUSBアダプタに挿して、PCにUSB接続するだけです。
XBeeモジュール(を挿したUSBアダプタ)をPCに接続したら、XCTU画面上の図3に示す、ウインドウ左上のボタンを使ってモジュールとXCTUソフトウェアに追加します。左側のボタンはシリアル通信のポートを指定してモジュールを追加、右側のボタンはPC上のすべてのシリアル通信をスキャンしてモジュールを探し出して追加します。
ここでは、左側のポートを指定してモジュールを追加するボタンを使ってみましょう。
ボタンをクリックすると図4のようなダイアログが開くので、シリアルポートを選択して接続パラメータを設定します。デフォルトのパラメータは、「ボーレート9600/データビット8/パリティなし/ストップビット1/フロー制御なし」です。
接続したXBeeモジュールと通信できない場合は、異なるボーレートで動作している可能性があります。ボーレートを変更する場合、すべてのモジュールのボーレートを変更してください。
シリアルポートを選択し、パラメータを確認したら「Finish」をクリックします。XCTUが実際に接続を行うには数秒かかることがあります。一度接続が完了すると、図5のようにXCTUのメインウインドウの左側のカラムにモジュールが表示されます。シリーズ3のモジュールは黒い背景で、シリーズ1/2/2.5のモジュールは青い背景で表示されるので、リストから古いモジュールを素早く見つけられます。背景の色は、各XBeeモジュールの基板の色と対応しています。
モジュールのリストにはそのモジュールに割り当てられた役割もアイコンで表示されます。コーディネーターには「C」、ルーターには「R」、エンドデバイスには「E」が表示されます。
また、書き込まれているファームウェアによって、プロトコルのアイコンも変化します。
各モジュールの情報の右側にあるアイコンを使用して、無線接続を閉じたり、同じネットワーク上の他のモジュールを検索したり、モジュールの詳細を非表示にしたりできます。
中央にはモジュールの名前(自由に名前を付けられます)、機能(書き込まれているファームウェア)、シリアルポート、MACアドレスが表示されています。各モジュールは固有のMACアドレスを持っており、これは先述の通りモジュールの底面にも記載されています。
次に、左側のカラムにあるモジュールをクリックすると、右側のカラムにそのモジュールの詳細設定が表示されます。図6に図5のモジュールの詳細設定を示します。
モジュールの詳細設定モードでは多くの設定項目を設定変更できますが、ほとんどは通常変更することのないパラメータです。
各カテゴリの三角形をクリックすると、設定項目をカテゴリごとに折りたたんだり、展開したりできます。また、設定の検索ボックスもあり、目的の設定値が見つけやすいよう工夫されています。
実際に設定値を変更してみましょう。先ほどのXBeeモジュールには名前がありませんので、名前を付けてみます。
設定変更する際は、変更する設定値を詳細設定の中から見つけ出します。ここではモジュールの名前である「NI Node Identifier」です。検索ボックスに「NI」と入力すると良いでしょう。
NIの欄に、名前を入力します。
設定値は入力しただけではモジュールに書き込まれていません。変更を書き込むには入力欄の右側にある鉛筆のアイコンをクリックします。複数の設定値を一度に変更した場合、上部にある鉛筆アイコンのボタンをクリックして、一度に書き込むこともできます。
XBeeモジュールに名前を付けて書き込むと、左側カラムの表示が変わります。
モジュールに名前を付けておくと、モジュールリストでXBeeモジュールを識別するのに役立ちます。XCTUではモジュールを名前基準で並べ替えて表示する、といったことも可能です。また、他にもPANアドレス、宛先アドレスなど同じように設定を行えます。
古いXBeeモジュールを使用している場合、「古いファームウェア」をダウンロードするか確認するようなメッセージが表示されるケースがあり3つのダウンロードオプションがあります。
- 最新のファームウェアを確認してインストールする
- 古いファームウェアをインストールする
- ファイルからファームウェアをインストールする
(別途ダウンロードした場合やカスタムしたファームウェアを使う場合)
初めてXCTUを使用する時や、古いシリーズのXBeeモジュールを使用するときは、2番目のオプションを選択してレガシーファームウェアのパッケージをインストールしてください。通常は1つ目の最新のファームウェアの使用がデフォルトになっており、XCTUは自動でファームウェアが更新されていないかチェックします。(環境設定でOFFにもできます)
インターネットの回線や接続の状況によっては、ファームウェアパッケージのダウンロードに時間がかかってしまう場合がありますが、XBeeモジュールを最新の状態に保つためにも古いファームウェアをダウンロードしておいてください。
2つの通信モード
XBeeモジュールの通信には2つのモードがあります。「ATモード」と「APIモード」です。
ATモードはXBeeモジュールとローカルのシリアル通信を介して、ヘイズのATコマンドセットのやり取りをして通信を行います。一方、APIモードではプロトコルスタックを介してデータの送受信を行います。
同じネットワークに接続するすべてのモジュールは、役割に応じて同じ通信モード、同じバージョンのファームウェアを使用しなければなりません。
ここではATモードを使用します。
- ファームウェアをアップデートするには、「Update」ボタンをクリックします。
- モジュールに書き込むファームウェアを選択するダイアログが表示されます。
- 書き込むファームウェアを選択したら「Update」ボタンをクリックします。
- 書き込みの確認のウインドウが表示されますが、問題なければ「OK」をクリックします。
- 書き込みが終わったら、XCTUの右側カラムの設定値が更新されます。
ここまで、XBeeモジュールのファームウェアのアップデートと設定変更の方法を紹介しました。
次回は、ユーザー設定値を確認・変更するもう一つの方法について見ていきましょう。
コメントを残す