お世話になります。
XBee3についてご質問があります。
ご質問(1):
1対1のトランスペアレントモードと、1対NのAPIモードでは、何故、1対NでXBeeを動作する際、
APIモードの方が推奨されるのでしょうか。
現在、私は、トランスペアレントモードで、XBeeにマイコンを接続させ、マイコンのソフト的に、1対N動作を行うと、無線が混線しているので、困っています。
そこで、トランスペアレントモードから、APIモードに変更を考えています。
ご質問(2):
APIモードにする際、1対N動作に関しまして、チャネルの振り分けなどは、XBeeが自動にしてくれるのでしょうか?それとも、ユーザが、X-CTUなどで、それぞれのXBeeにチャネルを振り分けた方が良いのでしょうか?それとも、APIモードでしたら、同一チャネルでも、それほど混線の問題は起きないのでしょうか?
よろしくお願いします。
お返事ありがとうございます。
[XB3-24Z8CM-J]となります。
よろしくお願いします。
@mes00 様
XBee3でのAPIモード動作についてお問い合わせをいただきました。
1.1対1のトランスペアレントモードと、1対NのAPIモードでは、何故、1対NでXBeeを動作する際、
APIモードの方が推奨されるのでしょうか。
(ご回答)メーカーの資料の最初に、トランスペアレントモードの制限項目と、対応についての記載があります。
API mode in detail (digi.com) 以下をご参照ください。
Because of this behavior, devices working in Transparent mode have some limitations:
1.To read or write the configuration of an device in Transparent mode, you must first transition the device into Command mode.
トランスペアレントモードのデバイスのコンフィギュレーションを読み書きするには、 まずデバイスをコマンドモードに移行させる必要があります。
2.If a device needs to transmit messages to different devices, you must update its configuration to establish a new destination.
The device must enter Command mode to set up the destination.
デバイスが異なるデバイスにメッセージを送信する必要がある場合、そのコンフィギュレーションを更新して新しい宛先を設定する必要があります。
宛先を設定するには、デバイスがコマンドモードに入る必要があります。
3.A device operating in Transparent mode cannot identify the source of a wireless message it receives. If it needs to distinguish between data coming from different devices, the sending devices must include extra information known by all the devices so it can be extracted later. To do this, you must define a robust protocol that includes all the information you think you need in your transmissions.
トランスペアレントモードで動作しているデバイスは、受信したワイヤレスメッセージの発信元を特定できません。異なるデバイスから送信されたデータを区別する必要がある場合、送信デバイスには、後で抽出できるように、すべてのデバイスが知っている追加情報を含める必要があります。そのためには、送信に必要と思われるすべての情報を含む堅牢なプロトコルを定義しなければなりません。
To minimize the limitations of the transparent mode, devices provide an alternative mode called Application Programming Interface (API). API mode provides a structured interface where data is communicated through the serial interface in organized packets and in a determined order. This enables you to establish complex communication between modules without having to define your own protocol.
トランスペアレントモードの制限を最小限にするため、デバイスはアプリケーションプログラミングインターフェース(API)と呼ばれる代替モードを提供しています。API モードは、データが整理されたパケットで決められた順序でシリアルインターフェースを介して通信される構造化インターフェースを提供します。これにより、独自のプロトコルを定義することなく、モジュール間の複雑な通信を確立できます。
つまり、1対1通信の場合はトランスペアレントモードでよいが、1対Nの場合は、通信を確立するために準備が必要ですが、APIモードであれば、簡単に実現できる、と言っています。
2.APIモードにする際、1対N動作に関しまして、チャネルの振り分けなどは、XBeeが自動にしてくれるのでしょうか?それとも、ユーザが、X-CTUなどで、それぞれのXBeeにチャネルを振り分けた方が良いのでしょうか?
それとも、APIモードでしたら、同一チャネルでも、それほど混線の問題は起きないのでしょうか?
(ご回答)同じメーカー資料の上記の続きをご参照ください。
API mode provides a much easier way to perform the actions listed above:
- Since there are different frames for different purposes (such as configuration and communication), you can configure a device without entering Command mode.
コンフィギュレーションや通信など、目的別に異なるフレームが用意されているため、コマンドモードに入ることなくデバイスのコンフィギュレーションを行うことができます。
- Since the data destination is included as part of the API frame structure, you can use API mode to transmit messages to multiple devices.
データ送信先はAPIフレーム構造の一部として含まれているため、APIモードを使用して複数のデバイスにメッセージを送信することができます。
- The API frame includes the source of the message so it is easy to identify where data is coming from.
APIフレームにはメッセージの送信元が含まれていますので、データの送信元を簡単に特定できます。
つまり、フレーム構造に宛先および送信元を含むために、1対Nで通信ができるということになります。複数の周波数を使うわけではありません。
お客様の状況を十分に理解できていませんので、回答が的外れになっているかもしれません。
お客様の状況をもう少しお知らせいただけませんでしょうか。
Q1.1:1通信では「無線が混線」しませんでしたか
Q2.「無線が混線」していることを、どのような現象から判断されましたか
Q3.トランスペアレントモードで、1対N動作では、どのように周波数チャンネルを指定されましたか。
Q4. 1対N動作に関して、「チャネルの振り分け」と書かれていますが、この「チャネル」は、周波数のことですか。
お客様の状況が理解できれば、さらに調査をさせていただきます。
また、さらにご質問がございましたら、ご遠慮なくお知らせください。
お世話になります。
ご回答の方、ありがとうございます。
大体知りたい事を把握できましたので、こちらのトピックは一旦終了して
頂いて構いません。
大変助かりました。
よろしくお願いします。