2

我想为水下通信网络模拟一个简单的 TDMA 协议,其中每个节点都定期传输。如何在UnetStack中实现这一点?

关于 MAC的 UnetStack文档提供了简单和节流 MAC 协议的示例,但是如何让节点定期传输?

4

1 回答 1

2

使用 UnetStack 编写的典型代理可以为其自身添加新行为

为了按照 TDMA 类协议中节点的要求定期传输,您的代理可以指示PHY 代理定期传输。这可以使用代码行为来实现。

TickerBehavior在调用之间以指定的延迟重复运行可以使用以下代码将 TickerBehavior 添加到您的代理中:

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

whereslotlength以秒为单位,nodeAddress是您尝试将信息传输到的节点的地址。有关TxFrameReq 的更多信息,您可以查看文档

于 2017-01-20T03:08:38.370 回答