ここに私の状況です:大規模ネットワークでのXBee通信
私は96台のXBee S2BとS2Cモジュールのネットワークを持っています。私のアプリケーションはARMモジュール上で動作し、XBee S2Cモジュールを持っています。すべてのモジュール(合計97個)は同じネットワーク上にあり、互いに通信することができます。
ソフトウェアは、すべてのモジュールの64ビットアドレスを開始して認識します。ネットワーク探索(ローカルAT→ND)を行い、応答を待つ。各応答で、各モジュールの16ビットアドレスが更新されます。モジュールがネットワークディスカバリに応答しなかった場合、30秒ごとに再度送信されます(ほとんどのテストでは、60秒後にすべてのノードが検出されます)。
次に、64ビットおよび16ビットのアドレスがすべて格納されると、アプリケーションは、ユニキャストを使用してすべてのノードにメッセージを送信します。メッセージの送信の間に待機しません。私は、36,42,78および今では96ノードでこれを試しました。期待どおり)、42と78では、各ノードに到達するのにそれぞれ4秒と7秒かかりますが、96秒では90秒かかります(最低でも)。
私は検出でき、到達していない場合(ネットワークディスカバリが失敗した場合)
また、64ビットメッセージングを使用して16ビットアドレスを無視しようと試みたが、この方法を使用するとさらに長い時間がかかります。
私はattie(https://github.com/attie/libxbee3)によって作成されたxbee3libraryを使用しています。
質問:96ノードの通信時間を短縮するにはどうすればよいですか(目標はさらに大きなネットワークを処理できることを覚えておいてください)、78ノードと96ノードの間に大きな違いがあるのはなぜですか(ネットワークが突然遅いのはなぜですか?)
私の状況についてさらに必要な情報があれば、私はそれを提供してくれるでしょう。コードを管理しているので、より多くの情報が必要な場合はテストを実行できます。
私はこの質問に当てはまるとは思わない。 –