パフォーマンス向上でナニに使える? OpenBlocks Aファミリによるサーバ実力診断

第6回(最終回) XBee ZBによるZigBeeネットワークの構築

この記事を読むのに必要な時間:およそ 4 分

はじめに

OpenBlocks AファミリのA6は,設置場所を問わない,小型で堅牢な設計になっています。省メンテナンス性と高い運用継続性を備えているため,センサーデバイスや計測器の観測・制御・中継,ネットワークインフラ系サービスの導入・運用,データロギング,M2M,HEMS/BEMSなどの用途に最適です。

こういった用途では,A6に集めた各計測機器からのデータを外部と通信する際に,ZigBee※1を用いる事例が多くなってきました。今回はそのZigBeeネットワークの構築方法を紹介します。

※1)
ZigBee SIG-J「ZigBeeとは?」
URL:http://www.zbsigj.org/about_zigbee

使用機器

今回の環境構築には,OpenBlocks AファミリのA6を使います。OSはDebian GNU/Linux 6.0(squeeze)⁠ファームウェアのバージョンはkernel-image-2.6.31-5です。ストレージは内蔵せず,RAMディスクモードで運用します。

ZigBeeモジュールはDigi社のXBee ZB(XB24-Z7CIT-004 revJ)です。これをストロベリー・リナックスのXBeeエクスプローラUSB(XBEE-BB)に差し込み,USBケーブルでA6に接続します。

写真1の左がXBeeをXBeeエクスプローラUSBに差し込んだ状態,中央がXBeeのピン側,右がXBeeエクスプローラUSBです。XBeeのピン側の型番に続いて印刷された(0013A200で始まる)16桁のシリアル番号は,設定に必要なので記録しておいてください。

写真1 XBee ZBとXBeeエクスプローラUSB

写真1 XBee ZBとXBeeエクスプローラUSB

以上の機器を2組使います。

本稿のゴールは,図1のネットワーク構成図のように接続し,シリアルデバイスとして互いに近距離無線通信ができるのを確認することです。A6はネットワークとシリアルコンソールから操作できます。前者が不要ならLANから外します。設定や動作確認などに使うWindows PCが2台(ノートPCが少なくとも1台)必要になるので,こちらも用意してください。

図1 ネットワーク構成図

図1 ネットワーク構成図

ファームウェアの書き込みと動作確認

ZigBeeネットワークのデバイスタイプには,コーディネータ,ルータ,エンドデバイスがあります※2)⁠ネットワークにはコーディネータが1つだけ存在します。XBeeの工場出荷時のファームウェアはルータ用なので,Digi社のWindows用ソフトウェアX-CTUで,コーディネータ用のファームウェアを書き込む必要があります。

※2)
ZigBee SIG-J「ZigBeeとは?」[ZigBeeメッシュネットワーク技術解説]⁠⁠ZigBeeネットワークの概要]を参照。

X-CTUのインストール

Digi社のページからX-CTUのインストーラをダウンロードして,PCにインストールします。インストールの途中の質問「Would you like to check Digi's website for firmware updates?(Recommended)⁠には「はい(Y)⁠と答えてください。

ファームウェアの書き込み

XBeeをPCに接続してから,X-CTUを起動します。⁠PC Settings]タブをクリックして,⁠Com Port Setup][Select Com Port]でXBeeのポートを選び,⁠Test/Query]ボタンを押します。

成功すると,図2のようにダイアログボックスが開きます。失敗した場合には,ポートやボーレートなどの値を確認してください。

図2 接続テスト

図2 接続テスト

テストが成功したら,⁠Modem Configuration]タブをクリックして[Modem Parameter and Firmware][Read]ボタンを押すと,⁠ZIGBEE ROUTER AT」の設定が表示されます。

[Function Set]欄で「ZIGBEE COORDINATOR AT」を選び,⁠Parameter View][Show Defaults]ボタンを押します。⁠Write]ボタンを押すとファームウェアの書き込みが始まります図3)⁠

図3 ファームウェアの書き込み

図3 ファームウェアの書き込み

ターミナルでの通信テスト

コーディネータの準備ができたので,通信テストをしてみましょう。もう1台のXBeeをノートPCに接続してから,それ用にX-CTUを起動し,⁠Read]ボタンを押します。

両方のX-CTUの[Terminal]タブをクリックして文字を入力します。図4は,左側のTerminalに入力した文字列が,右側に表示されている画面です。コーディネータとルータをPCに接続しただけで,通信できるようになりました。

図4 ターミナルでの通信テスト(左:送信側画面,右:受信側画面)

図4 ターミナルでの通信テスト(左:送信側画面,右:受信側画面)

レンジテスト

XBeeの実際の通信距離は,レンジテストで確認できます。⁠Modem Configuration]タブをクリックし,⁠Addressing]「DH - Destination Address High」欄に相手のシリアル番号(写真1中央パーツに印字)の上位8桁の値を,⁠DL - Destination Address Low」欄に下位8桁の値を入力します。

[ZigBee Addressing]「CI - ZigBee Cluster ID」「12」に変更します。CIを12に変更しないとレンジテストができないので注意してください※3)⁠⁠Write]ボタンを押して,設定を保存します。もう一方のXBeeも同様に設定してください。

[Range Test]タブをクリックして,⁠Start]ボタンを押します。Goodの値が増えてゆけば通信できています図5)⁠

図5 レンジテスト

図5 レンジテスト

次にノートPCを持って,XBee間の距離を変えながら移動します。XBeeエクスプローラUSB(写真1右)のLEDで通信状態がわかります。両方のRSが点灯し,レンジテストを実行している側のTXとRXが点滅します。通信できなくなるとRSが消灯します。もちろん,ノートPCでレンジテストを実行して移動してもよいです。

レンジテストが終了したら,CIをデフォルト値「11」に変更します(あとで説明するATコマンドでは,ATCIで変更できます)⁠さもないと,レンジテスト以外の通信ができません。

※3)
Getting Started Guide, Configure RF Modules, 5.

コメント

コメントの記入