ksddologo
 試作室
XBeeMonitor: XBee シリーズ1,2兼用動作モニタ 2009/4/20
XBeeMonitorはXBeeの設定と動作確認(受信データ分析表示)が出来るソフトです

ディジインターナショナル(株)社のコンパクトな無線モジュールにXBeeがあります。
 これにはSeries1、Series2があり、それぞれ違ったプラットフォームで構築されています。またそれぞれがATコマンド体系を構成していますが、S/Wインターフェースで、簡易的な Transparent Operation (ASCI文字列によるシリアルインターフェース) と API(Application Programming Interface) Operation (バイトコード列チェックサム付きフォーマットでのシリアルインターフェース) があります。このどの組み合わせでも使えるXBee動作確認ツールXBeeMonitorを開発中です。

XBeeS1S2_320-203_img

 無線モジュール XBee の簡単な紹介です。

 左が Series1 のチップアンテナタイプのモジュール。右が ZNet 2.5 評価キットの中の1つで Series2 で高出力、遠距離タイプの XBee-PRO バージョンのホイップアンテナタイプ、基板が少し大きいですがコネクタ、信号は同じです。 Series2 は大体 "Series2" と書かれているようです。国内Telec認証付きです。

 Series1 IEEE802.15.4 をサポートした製品です。名前にBeeと付いていますが ZigBee プロトコルは動きませんが、コンパクトな通信環境で使用する場合は十分な機能を持っています。

  Series2 ZigBee 対応です。ただし ZigBee 対応を唱った応用の製品を構成する場合はライセンスの問題が絡んでくるようです。最近のディジインターナショナル(株)社のページでは "Series2" と書かれているタイプで "XBee® & XBee-PRO® ZNet 2.5 メッシュ RF モジュール"と"XBee® & XBee-PRO® ZB ZigBee® PRO RF Modules"とがあるようで、また「XBeeとXBee-PRO ZNet 2.5 はレガシー製品であり、既存のお客様に対してサポートされ続けます」とも書かれていて2タイプあるような感じです。

 最初に ZNet 2.5 評価キットの Series2 を入手して動作を調べているうちにいろいろ不明な点やパラメータ設定のための付属専用ツールである X-CTU の利用だけでは不便なことがわかってきました。透過モードでのATコマンドの +++ 入力も面倒ですし、APIコマンドを手入力する場合コマンドはともかくチェックサムの手計算も面倒です。透過モードでの送信元データが流れてくるのを見るだけならともかくコマンドに対する応答内容の解釈、特にリモート操作の応答の解釈がかなり複雑です。それに Series1 Series2 では ATコマンドも違っているのがわかってきて、とてもモニタのようなものがなければ複雑なアプリケーションは作れないと思いました。

 XBeeMonitor 画面 (Version 0.3.5)

 そんな理由で作り始めたのがこのモニタです。機能の追加、また追加ということでこのようなものになってしまいました。(クリックで拡大)

XBeeMonitorSnap_1358_709_img

 PC側のXBeeインターフェースは sparkfun 製「XBeeエクスプローラUSB」でスイッチサイエンスから購入しました。センサー側のXBeeはFT232RL使用の試作USBインターフェースにつながっています。(別ページで紹介します)

 画面は Series1 のモジュールのAD0入力のAD値を何秒かのスリープ間欠動作しながら送ってきている状態です。右上のウィンドウの幾つかのATコマンド列はモニター中央のボタンをクリックして送信し応答( X-CTU と同様青は送信、赤は受信値)が返ってきたものです。その下のデータ 7E000A83000338000102000047F7 は相手XBeeからのI/O読取データです。API Frame ID:0x83 RX(Receive) Packet: 16-bit address I/O というフォーマットです。緑色部分にフォーマットに従って表示しています。データ中後ろの方の 0047 がAD0の読取値です。モジュールのモードは AT Command Transparent Operation ですがADデータ等は API フォーマットで送られてきます。このデータをHEX表示ではなく入力のリファレンス電圧(3.3Vのチェックマーク)で変換した値を右下の緑のAD0の位置に表示しています。温度センサー LM35D の出力を 0.229 と表示(温度 22.9 度)しています。V = 71(0x0047->71) / 1023(12bit分解能) x 3.3(V) = 0.229(V)

 以上モニタプログラムの概要です。 XBee は見かけの割にかなり複雑です。解ったところを確認しながら進めています。このモニタプログラムは整理した上で配付する可能性があります。しかし現在はマニュアルもなく、未確認部分もありますので当分その予定は立てられません。興味がある場合はお問い合せください。