我想为水下通信网络模拟一个简单的 TDMA 协议(protocol),其中每个节点定期进行传输。我如何在 UnetStack 中实现这一点?
UnetStack document on MAC给出了简单和节流 MAC 协议(protocol)的示例,但如何让节点定期传输?
最佳答案
使用 UnetStack 编写的典型代理可以添加 new behaviors to itself .
为了按照类似 TDMA 协议(protocol)的节点的要求定期进行传输,您的代理可以指示 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 .
关于communication - 在 UnetStack 中实现 TDMA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41753544/