问题标签 [unetstack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
53 浏览

unetstack - 如何调制扩频信号?

我正在尝试编写一个调制函数,参考下面的函数。我不是电气工程师,对信号处理了解不多。

但我的缓冲区信号实际上是非二进制数据(这是扩展信号),即我的 buf 数组的第一个元素是-1,0,0,-1,0,1,1,0

如何使用此调制功能调制我的扩展信号?我对for循环中发生的事情有点困惑。

为了更好地理解这一点,我对数据进行了静态转换,请参阅下文。

我认为我的输出似乎是正确的。

在原始modulation函数中,有基于 的决策1 or 0。我怎样才能调制我的信号?

难道我做错了什么 ?我怎样才能动态地做乘法element-by-element

0 投票
1 回答
35 浏览

unetstack - 设置路由器代理以使用自定义 PHY (phy2) 将数据从模拟调制解调器发送到真实调制解调器

我正在研究基于属性的路由协议,其中源节点(节点 A)从两个相邻节点(节点 B 和 C)收集属性,并根据排名,节点 A 决定将其数据转发到节点 B 或节点 C

现在,要在仅使用两个真正的 UnetStack 调制解调器的测试平台中测试此算法,根据我之前帖子的答案(Mandar Chitre 教授)是否有办法在 UnetStack 中的模拟和真实调制解调器之间传输和接收数据我已经实现了一个phy2PHYSICAL 代理,使用 UnetSocket,作为代理将数据发送到真实调制解调器。

但是,现在我可以将数据从模拟子网中的节点 B(网关节点)发送到另一个子网中的节点 B phy2,但我想使用router. 请告诉我,如何设置router代理以使用 phy2。

0 投票
1 回答
44 浏览

unetstack - 如何在 UnetStack Shell 中使用退格键?

每当我在 Unet shell 中使用退格键时,光标会向前移动而不是擦除行。还有其他方法可以在 Unet shell 中使用退格键吗?

0 投票
1 回答
52 浏览

unetstack - 在节点中部署代理时出错

我编写了一个代理来计算两个节点之间的距离,但是在其中一个节点上部署代理时,出现以下错误:

漏洞!源单元“Script26.groovy”中的“语义分析”阶段异常 查找 node_agent 导致编译失败。此调用不应该进行任何编译。

我使用了命令 container.add 'myagent' , new node_agent()

以下是代码片段。

node_agent.groovy 放置在 classes 文件夹中

0 投票
1 回答
49 浏览

unetstack - 如何找到相邻节点的地址和位置坐标?

我正在 UnetStack 中实现一个算法,我正在尝试编写一个代理来从相邻节点获取所需的参数。我想向所有相邻节点发送广播消息,这些相邻节点应回复其地址和位置坐标。我该如何实现?我知道我需要访问相邻节点的 NodeInfo 服务,但不确定广播传输和接收要遵循什么服务/协议。

0 投票
1 回答
53 浏览

scheduler - UnetStack 中的睡眠模式和占空比,并将空闲侦听和睡眠模式消耗的能量添加到一个简单的能量模型中

我有两个问题:

  1. 我们想在我们的水下传感器网络中考虑一个非常低的传输占空比,因为在实践中,监听和睡眠模式下的功耗将主导我们的网络生命周期。我注意到新版本的 UnetStack Simulator 3.2.0 中的调度程序命令,addsleep,showsleep 等,我下载了最新版本的模拟器,我尝试使用这些命令,但它不起作用,我试过了在 shell 和 groovy 脚本中工作,并尝试导入 org.arl.unet.scheduler,但调度程序命令都不起作用,并且不断收到错误。例如,我尝试使用:addsleep 20.s.later,但模拟器无法识别“later”,使用 import org.arl.unet.scheduler 也收到错误。

我想知道是否有人可以帮助我,例如如何使用addsleep 命令。

  1. 另一个问题:除了在传输和接收中消耗能量外,我们的调制解调器在侦听数据包开始时从 5V 电源汲取 2.5 mA 的电流,并且可以进入睡眠状态并从 5V 电源汲取约 0.24 mA 的电流,并能够唤醒并在可编程的时间段后返回收听模式。所以我的问题是,有没有办法在一个简单的能量模型中考虑空闲聆听和睡眠所消耗的能量?我们实现了一个非常简单的能量模型,如下所示(在 stackoverflow 中找到了这个示例):

    类 MyHalfDuplexModem 扩展 HalfDuplexModem {

    浮动能量 = 1000

    @Override boolean send(Message m) { if (m instanceof TxFrameNtf) energy -= 10
    if (m instanceof RxFrameNtf) energy -= 1
    return super.send(m) }

    }

如何将空闲收听和睡眠消耗的能量添加到上述代码中?我们是否需要使用 WakeFromSleepNtf () 之类的东西

谢谢,非常感谢任何帮助。马尔瓦

0 投票
1 回答
47 浏览

unetstack - 如何处理广播请求响应的冲突?

我正在尝试使用广播请求从相邻节点获取坐标并将它们存储到列表中。我只能得到一个响应,我认为这是因为节点同时响应时响应之间的冲突而发生的。我曾尝试在相邻节点的代理上使用带有随机退避的退避行为,但它没有解决问题。如何同步机制以避免冲突?我为每个盲节点(将发出广播请求)和相邻节点编写了一个代理。

以下是代码片段。

盲节点上的代理:

相邻节点上的代理:

模拟脚本:

0 投票
1 回答
59 浏览

unetstack - 对远程访问 GNURadio 的 Unet 代理的响应

我想知道作为对在 ip:port 处的调制解调器建立Unetstack agent的响应的期望是什么?TCP connection

我试图TCP connection通过GNURadio pdu socket连接到调制解调器。连接已建立,但我认为握手后,它会自动终止。它期待什么吗?我计划使用此 API 将自定义消息发送到调制解调器。

这是我到目前为止所做的

  1. 我使用下面的流程图打开了一个TCP connectionusing块。Socket PDU

GNURadio 流程图

  1. 我使用了 unet audio SDOAM 来测试:

看起来连接已经建立,并且GNURadiocommand promptJSON response调制解调器得到了正常。就在该连接自动关闭之后。它期待什么吗?

在此处输入图像描述

我正在尝试发送 JSON消息,但在我做任何事情之前连接已关闭。

是否JSON response需要unetstack保持连接处于活动状态?

0 投票
1 回答
39 浏览

unetstack - Where do I find the the set of protocols available to use for each layer in the unet stack?

I am trying to develop a customised protocol stack for the unet simulator. I want to know the options available to me for each layer. Also I want to use existing protocols rather develop them from scratch.

0 投票
1 回答
113 浏览

python - UnetSocket send() 返回一个 Nonetype 对象

我正在尝试 UnetStack 手册中指定的 python 代码。在运行tx.pyrx.py时,当我在终端上打印出 UnetSocket 对象时,它已成功创建,但 send() 函数在接收器处发送 Nonetype 数据。

tx.py ===>>


rx.py =====>>>

首先我在模拟器上运行 2-node-network.groovy。然后来自终端的 rx.py 和下一个 tx.py。

rx.py Traceback 错误(最近一次调用最后一次):文件“rx.py”,第 6 行,在

O/p at tx.py <unetpy.UnetSocket object at 0x7fe2909d4550>