XBee ZigBee ATコマンドモードで簡単にデータ転送する「AT Coordinator」

by ボクにもわかる地上デジタル

XBeeメインメニューへ戻る
地デジトップへ戻る

このページについて

 このページではATコマンドモードで簡単にシリアル通信を行う「AT Coordinator」を使ってXBee ZigBeeのセンサー通信を簡単に構築する方法を公開しています。通信を行うXBeeデバイスは親機と子機の1台ずつの無線シリアル通信です。
 子機の通信の設定については「XBee ZigBeeを使って ワイヤレス通信を始めよう」を参考にして親機へシリアル接続できるように設定します。なお、複数の子機を使ったセンサーネットワークの構築については「XBee ZigBeeを使ってセンサネットワークを構築しよう」をご参照ください。

AT Coordinator親機の製作

 AT Coordinator親機は、子機のXBee(RouterやEnd Device)からの無線シリアルデータを親機のXBeeで受信して液晶に表示したりSDカードに保存したりする装置です。液晶表示やSDカード保存するために記録することが可能な「情報収集装置」を使用しています。

XBee AT Coordinator親機
XBee AT Coordinator親機(スイッチ対応版)

 上記の製作例ではラトルズ出版の「プリント基板で作るPIC応用装置()」に付属している「情報収集装置」の基板を使用しています。
 左側はXBeeです。XBee PROと純正の評価用基板を使用しています。テスト版の接続は、電源3.3V(赤)、GND(黒)、シリアル(白)の3本だけです。シリアルはXBeeのDOUT(シリアル出力)を情報収集装置のSDA(シリアル入力)に接続しています。もちろん、ユニバーサル基板でも簡単に製作できます。
 スイッチ対応版の接続は前述のXBeeの3本に加えてタクトスイッチをPIC Kit接続用の6ピンヘッダ(ICSP用)に接続しています。6ピンヘッダの3番ピンと4番ピンを100kオームの抵抗でプルアップしつつ赤と緑のタクトスイッチで押下字にGNDに接続するように配線します。これらのスイッチで日時を修正したり記録の開始や停止の操作が行えます。

プリント基板で作るPIC応用装置
書籍+基板 基板のみ
上記の書籍や基板に「情報収集装置」の基板が含まれています。しかし、実装する部品やXBee基板等は含まれてません。

AT Coordinator親機のソフトウェア

 XBee AT Coordinator親機用のソフトウェアは下記からダウンロード可能です。スイッチ対応版は前述のスイッチが無いと起動時にエラーが表示されて動作しません。
 情報収集装置用の「HEXファイル」は、「PICkit2」を「情報収集装置」に接続し、PICkit2付属の書き込みソフト「PICkit2 PROGRAMMER」を使って書き込みます。XBee用の「Profile」は、X-CTUを使ってファームウェアを「AT COORDINATOR」に変更してから「Profile」を書き込みます。

AT Coordinator親機ソフトウェア
ファイル 説明 Ver 更新
ATCoord.zip 情報収集装置用HEXファイル 1.0 11/01/29
ATCoord2.zip スイッチ対応版HEXファイル 2.1 11/023/08
main.c 情報収集装置用ソース 1.0 11/01/29
main2.c スイッチ対応版ソース 2.1 11/03/08
Digi_XBee_Profile.zip XBee設定プロファイル 1.0 11/01/29
上記ソフトウェアに関していかなる損害も補償しません。

 スイッチ対応版の操作は緑ボタンが測定開始で赤ボタンが測定停止です。測定停止中にSDカードを抜いてPCにデータを吸い上げることが可能になります。測定の再開も緑ボタンです。起動時には日時を変更することが出来ます。緑ボタンで点滅中の数字が一つ上がります。長押しで0に戻ります。赤ボタンで次の桁に移ります。赤ボタンの長押しで最初の桁に戻ります。また、各種エラー時に緑ボタンでエラーを解除します。エラー解除が出来ない場合もあります。
 なお、情報収集装置用のAPIのソースやオブジェクトはプリント基板で作るPIC応用装置サポートページからダウンロードすることが可能です。また、スイッチ対応版は情報収集装置のSCI用APIの一部を改造して使用しています。したがって、API部のソースリストは著作権保護の観点から公開していませんのでご容赦ください。

AT Router子機の設定

 XBee子機から送信するデータの宛先に親機のアドレスを設定します。まずは親機となるXBeeモジュールのアドレスを確認します。XBeeモジュールの裏側に印刷されているアドレスを確認するか、ATコマンドモードで「ATND」と入力して送信可能な相手のアドレスを確認します。
 親機のアドレスが分かれば、「ATDH」と「ATDL」で宛先を設定します。「ATDHxxxxxxxx」「ATDLxxxxxxxx」の「xxxxxxxx」に、それぞれ上位アドレスと下位アドレスを入力します。そして、「ATCN」でATコマンドモードを抜けます。
 この状態で、子機からシリアルデータを入力すると親機にメッセージが伝わり、液晶に表示したりSDカードに保存したりします。

  • 宛先指定送信を行う
    • 「+++」を入力して1秒後の「OK」の応答を待つ。その後10秒以内に以下を入力する。

    • 「ATND」:相手先のアドレスを確認する。

    • 「ATDHxxxxxxxx」:宛先アドレスの上位8桁を設定する。

    • 「ATDLxxxxxxxx」:宛先アドレスの下位8桁を設定する。

    • 「ATCN」:ATコマンドモードを抜ける

    • この状態でキーボードから文字を入力すると宛先のXBeeから同じ文字が出力される。


XBeeメインメニューへ戻る

地デジトップへ戻る