4つのシリアル1モジュールでxBeeネットワークをセットアップしたいと思います。それらのいずれか2つは、双方向で相互に通信できます。送信されるデータは1バイト以外の文字列です。
私の元々の設計は、非ビーコン(コーディネーター付き)ネットワークをセットアップすることです。1つのモジュールがコーディネーターとして構成されています。左側の3つのモジュールは、エンドデバイスとして構成されています。コーディネーターは、エンドデバイスからデータをブロードキャストします。
通信ワークフローは次のとおりです。エンドデバイス1がエンドデバイス2にデータを送信する場合、最初にコーディネーターにデータを送信します。次に、コーディネータはエンドデバイス1から受信したデータをブロードキャストします。エンドデバイス2はブロードキャストデータを受信できます。通信ワークフローが終了します。
受信した文字列をアトミックにします。エンドデバイス1とエンドデバイス3が同時にデータを送信すると、競合が発生します。2つのストリングは一緒に結合されます。また、エンドデバイス2は、どのバイトがどのデバイスからのものであるかを区別できません。つまり、エンドデバイス1は文字列 "{AAAA}"を送信します(引用符は含まれません)。その間、エンドデバイス3は文字列「<2222>」を送信します。エンドデバイス2は、「{A <22AA2A2}>」のような文字列を受信する場合がありますが、これは私が望むものではありません。予想される文字列は「{AAAA}<2222>」または「<2222>{AAAA}」です。
要件を満たすようにネットワークを設定するにはどうすればよいですか?