我想要模拟一个简单的TDMA协议,在水下通信网络,其中每个节点发送有规则的间隔。如何在UnetStack中实现这一点?
UnetStack MAC文件给出了简单的、节流的MAC协议的例子,但是如何才能使节点在一定的间隔内传输呢?
发布于 2017-01-20 03:08:38
使用UnetStack编写的典型代理可以添加新行为。
为了按照TDMA协议中节点的要求定期发送,您的代理可以指示PHY试剂定期发送。这可以使用勾标行为来实现。
TickerBehavior在调用之间以指定的延迟重复运行。可以使用以下代码将TickerBehavior添加到代理中:
add new TickerBehavior(1000*slotlength, {
phy << new TxFrameReq(to: nodeAddress, type: Physical.DATA)
})其中,slotlength以秒为单位,而nodeAddress是您试图将信息发送到的节点的地址。有关TxFrameReq您可以查看文档的更多信息。
https://stackoverflow.com/questions/41753544
复制相似问题