XBeeモジュールの使い方(モードの種類)


 今回はXBeeにおけるAPIモードと透過モードとATコマンドモードについてそれぞれのモードの機能や用途などを解説します。 XBeeモジュールは、無線通信の用途に応じて複数の動作モードを提供しており、それぞれのモードには特有の機能や使用方法があります。目的に応じて適切なモードを選択することで、より効果的かつ柔軟な通信が可能になります。以下に、主要な3つのモードについて詳しく解説します。

1.Transparent Mode(透過モード)

(機能の概要)

このモードでは、XBeeモジュールはまるでシリアルケーブルの延長のように動作します。例えばエンドデバイスのXBeeが送信するシリアルデータをそのまま無線でローカルXBeeに送信します。データは無線送信のために自動的に送信キューに蓄積され、相手側のモジュールでは受信したデータをそのままシリアルポートに出力します。

(主な用途)

このモードは特別なパケット構造や送信元・送信先の識別情報を必要としない、単純な1対1のポイントツーポイント通信に最適です。例えば、単純なセンサーデータの送受信や、簡易的なシリアルデバイス間の通信などで使用されます。

(制限事項)

 送信されるデータには、どのモジュールから送信されたかという情報が含まれないため、ネットワーク上で複数のモジュールを扱うには不向きであり1対1通信に向いています。また、通信先の変更や設定の変更を行う場合は、一度「コマンドモード」に切り替える必要があります。

2.API Mode(APIモード)

(機能の概要)

APIモードでは、データはあらかじめ定義された構造(APIフレーム)に従って送信されます。この構造化された通信方式により、データに送信元や送信先の情報やRSSI等に加えエラー検出のためのチェックサムなどを含めることができます。

(主な利点)

・複数のデバイスへの同時通信が可能になる

・受信データに送信元アドレス等の情報が含まれる

・ATコマンドをAPIフレームとして送信できるため、モードを切り替えずに設定変更が可能

(用途の例)

 センサーネットワークや遠隔地にある複数デバイスの制御等に適用可能であり、より複雑で柔軟な通信が必要なアプリケーションに適しています。APIモードを使用すれば、各デバイスの識別、状態監視、制御を容易に実現できます。

3.AT Command Mode(ATコマンドモード)

(機能の概要)

 このモードでは、ユーザーが送信するテキスト形式のATコマンドを使って、XBeeモジュールの動作設定を行うことができます。Transparent Mode(透過モード)でSerial consoleから“+++”と入力することでコマンドモードに入り、そこから各種設定変更が可能になります。

 (使用例)

通信速度の設定や送信先アドレスの指定など、モジュールの基本設定を行う場面で用いられます。例えば、「ATDL」コマンドで送信先のデバイスアドレスを設定することができます。

(制限事項)

 ATコマンドモードは、設定操作に特化しており、実際のデータ通信には向いていません。また、APIモードのようにバイナリ形式で効率よく操作できるわけではないため、処理速度や柔軟性の面でやや制限があります。

 モードの選び方について XBeeモジュールの各モードは、使用する通信ネットワークの構成やアプリケーションの要件に応じて使い分ける必要があります。単純な通信には透過モードが適していますが、複数のノードとの通信や動的な設定変更が必要な場合には、APIモードが圧倒的に有利です。特に、APIモードは高度な通信制御を簡潔に実現できるため、センサー管理やIoTシステムなど、柔軟な制御が求められる場面で広く利用されています。

XBeeモジュールの通信モード比較表

特徴・項目透過モードAPIモードATコマンドモード
通信方式シリアルデータをそのまま無線で送受信構造化されたAPIフレームでデータを送受信ATコマンドを使用して設定や制御を行う
設定・制御ATコマンドモードで設定変更が必要ATコマンドをAPIフレーム内で送信可能ATコマンドモードで設定変更が必要
データ構造生データ(ヘッダーなし)ヘッダー付きの構造化データ(送信元・送信先アドレスなど)生データ(ヘッダーなし)
送信先の指定ATコマンドモードで設定する必要ありAPIフレーム内で直接指定可能ATコマンドモードで設定する必要あり
送信元の識別不可可能(APIフレーム内に送信元アドレスが含まれる)不可
用途の例シンプルな1対1通信センサーネットワーク、リモートデバイス制御などデバイスの設定や制御、ファームウェアの変更など
利点実装が簡単で高速柔軟な通信制御が可能、複雑なネットワーク構成に対応デバイスの詳細な設定が可能
制限事項複雑なネットワーク構成には不向き実装がやや複雑、データ量が増加する可能性あり通信速度が遅く、データ通信には不向き

【モード選択の目安】

・透過モード(Transparent Mode)

  シンプルな1対1の通信や、既存のシリアル通信を無線化したい場合に適しています。設定が簡単で、データの送受信が高速です。

・APIモード(API Mode)

  複数のデバイスとの通信や、ネットワーク構成が複雑な場合に適しています。送信元・送信先の識別や、リモートデバイスの設定変更など、柔軟な通信制御が可能です。

・ATコマンドモード(AT Command Mode

  デバイスの設定や制御、ファームウェアの変更など、モジュールの詳細な設定が必要な場合に使用します。通信速度は遅く、データ通信には不向きです。