2016-08-06 5 views
0

Xbee s2がインストールされたノードがいくつかあります。 zigbeeメッシュトポロジでルータとコーディネータとして設定されたジグビーモジュール私は、各ノードからいくつかの他のノードにデータを送信したい。ジグビーを使用してデータのチャンクを送信する

質問: どのようにデータを送信する必要がありますか?ここに私が念頭に置いている疑似コードがあります。私はこのために使用できるのZigBeeスタック内の任意のAPIがあるかどうかを知りたい、と私は何も欠場場合:宛先ノードに

init_network; 
fragment_data_to_frames; 
fork(); 
if(process_is_parent) 
    for(i=0;iMbum_frames;i++){ 
     send_frame(i); 
     wait(x miliseconds)// how much do I have to wait? or do I have to wait upon receiving ack,i.e. wait(ack(i)); 
    } 
} 

if(process_is_child){ 
     check_acknowledgment_packets();//does zigbee notify me that the frame is lost? or I have handle it by myself, e.g. by assuming frame is lost after specific time. 
} 
resend_lost_frames; 

を、どのように私は、データを取得することができますか?シーケンス番号とプロファイルをチェックしてパケットを連結して、自分で処理する必要がありますか?またはZigbeeスタックが私のためにそれを行います。

答えて

0

APIモードのXBee無線モジュールは、フレーム番号がリモートモジュールによって受信されたことを示す「送信ステータス」フレームを生成します。反対側のホストがネットワーク層の確認応答であり、アプリケーション層ではないので、それが正常に処理されたという保証はありません。

どのくらいのデータを送信する予定ですか? ZigBeeは、低速、低容量のデータ伝送用に設計されています。 XBeeモジュールだけを使用している場合は、独自のプロトコル(透過シリアルなど)を利用できます。相互運用性のためには、ZigBeeクラスタライブラリと、ノード間で情報を転送するために一般的なコマンドと属性を使用する方法をお読みください。

+0

データのサイズは、数百の浮動小数点数です。 – amati

+0

は、データをセグメント化し、送信し、確認をチェックし、失われたフレームを再送信するジグビーアプリケーション層ハンドルと、元のデータを取り出すためにフレームを連結した受信者ノードで処理できますか?私たちはすでに送信ステータスを読んでいますが、私たちには自動的にそれを行うAPIとZigBeeクラスタライブラリがあります。 – amati

関連する問題