3

私は単純なxbeeネットワークを運用しており、リモートで動作する多数のスレーブがあり、すべてがサーバーコンピューターに接続されている1つのマスターと通信しています。それは問題ありません。

スレーブはすべてパケットの一部としてIDを送信します。遅延後に、マスターに意図的にAckを送信してもらいたいと思います。私はこれを効率的に行う方法を見つけようとしていますが、各Ackの前にマスターを再プログラミングする必要がない唯一のもっともらしい方法は、Ackをすべてのスレーブに送信し、それが意図されていない場合はパケットを無視させることです。彼ら。

その解決策は大丈夫です-私はこれを行うために使用するコマンドを理解することができません。ある種のSerialsendAllコマンドはありますか?すべてのデバイスは同じATID上にあります。

4

1 に答える 1

3

通常、この状況では、API モードでマスターを構成して、送信元アドレス情報を含む「Receive Explicit」フレームを取得し、「Transmit Explicit」フレーム タイプで送信し、フレームにアドレス情報を含めることができます。

AT モード (トランスペアレント シリアル モード) を使用している場合、送信先を変更するたびに、コーディネーターの DH および DL パラメータを変更する必要があります。ブロードキャスト パケットの使用は避けるべきです。それぞれが大量のネットワーク トラフィックを発生させるためです (IIRC、各ルーターはブロードキャスト パケットを 3 回送信します)。

Arduino の優れた XBee ライブラリについては知りませんが、Digi のオープン ソースANSI C XBee ホスト ライブラリをそのプラットフォームに移植できる可能性があります。

于 2013-03-13T00:40:59.557 に答える