2017-01-19 5 views
1

各ノードが一定の間隔で送信する、水中通信ネットワーク用の簡単なTDMAプロトコルをシミュレートしたいと考えています。 UnetStackでこれを実装するにはどうすればよいですか?UnetStackでのTDMAの実装

UnetStack document on MACには、単純なMACプロトコルとスロットルドMACプロトコルの例がありますが、定期的な間隔でノードを送信するにはどうすればよいですか?

答えて

1

UnetStackを使用して書かれた代表的なエージェントには、new behaviors to itselfを追加できます。

TDMAのようなプロトコルでノードが必要とする定期的な間隔で送信するために、エージェントはPHY agentに定期的に送信するように指示できます。これはティッカーの振る舞いを使って実装できます。

TickerBehaviorは、呼び出しの間に指定された遅延で繰り返し実行されます。 TickerBehaviorは、このコードを使用してエージェントに追加することができます。

add new TickerBehavior(1000*slotlength, { 
    phy << new TxFrameReq(to: nodeAddress, type: Physical.DATA) 
}) 
slotlengthは秒である

nodeAddressはあなたに情報を送信しようとしているノードのアドレスです。 TxFrameReq you can check out the documentationの詳細については、こちらをご覧ください。