问题标签 [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.
unetstack - 使用 JSON 远程访问 Unet 调制解调器
我正在尝试在调制解调器中使用 JsonTypeAdapter 从远程源传输一些数据。适配器通过调制解调器启动脚本 (JsonAdapter.enable()) 启用,并在端口 1100 处与调制解调器建立 TCP 连接。我按照 Fjåge 文档中的“Hello world”示例,将以下 JSON 发送到调制解调器:
{"action":"send","message":{"clazz":"org.arl.unet.DatagramReq","data":{"data":{"clazz":"[B","data":"aGVsbG8gd29ybGQh"},"msgID":"8152310b-155d-4303-9621-c610e036b373","perf":"REQUEST","recipient":"phy","sender":"MyCustomInterface"}}}
我已将 logLevel 设置为“ALL”,并且可以看到我在日志中获得了传入的 TCP 连接,但调制解调器没有传输任何数据。我订阅了物理代理,但在 WebShell 中没有收到任何通知(尽管使用 UnetSocket 可以正常工作)。
我猜测要么 JsonAdapter 在这个 TCP 连接上没有激活,要么 JSON 字符串有问题,要么我的应用程序没有正确发送,或者我错过了其他东西。
unetstack - 有没有办法为自定义频道提供水深测量?
我正在使用UnetStack Simulator运行水下模拟。默认情况下,模拟使用ProtocolChannelModel
或之一BasicAcousticChannel
。文档
假设我向节点提供 GPS 坐标。如何在模拟中提供水深测量以使其更合理?我打算使用GEBCO 2019。
有没有办法做到这一点 ?
unetstack - 如何计算不在彼此直接范围内的两个节点之间的距离?
我想定位节点 C(参考下图)。这里我们知道 A 和 B 的坐标,并且 A 在 B 和 C 的范围内,因此我们可以使用测距功能计算距离 AC 和 AB。我需要计算不在彼此直接范围内的 B 和 C 之间的距离。我想使用余弦定律,有没有办法在 UnetStack 中计算下图中表示的角度“γ”?图像参考
unetstack - 模拟中的 RSSI
我即将为我们的调制解调器实施节能程序。在模拟中,RxFrameNtf 的 RSSI 字段是空的,我想知道如何最好地填充它。
我正在使用半双工调制解调器和 BasicAcousticChannel 信道模型运行模拟。SNR 由声道计算,RxFrameNtf 由半双工调制解调器调度,对吗?
unity3d-unet - Unetstack V 3.1.0 中的节点移动性
我正在尝试模拟一个以圆形轨迹移动的节点,该节点正在接收来自 4 个静止节点的数据。模拟在旧版本 (1.6) 上运行良好,但在 3.1.0 上不起作用。没有错误并且模拟正在完成,但是没有数据包被发送或接收。这两个版本在语法或模型方面是否有任何重大差异,因为没有发生数据包传输?这些代码是为旧版本编写的。
'''
'''
这是其中一个固定节点的代码片段。同样,我们有其他 3 个节点的代码。
'''
'''
我们用它来合并节点 B 收到的消息。
communication - 如何为非 subnero 调制解调器编写调制解调器驱动程序?
我如何使用现有的非 subnero 与 UnetStack 的调制解调器(基本上不支持 UnetStack)?我详细阅读了这篇文章,但不幸的是编译问题很糟糕。谁能指出我正确的方向?
以下是我遇到的详细错误:
这是我的代码:
unetstack - 从代理设置物理通道参数
在我的代理的启动方法中,我得到物理代理的代理 ID:
phy = agentForService(Services.PHYSICAL)
然后我尝试了不同的方法来设置 powerLevel 但通常是这样的:
phy.send(new ParameterReq().set(PhysicalChannelParam.powerLevel, -20))
phy.send(new ParameterReq().set(PhysicalChannelParam.powerLevel, [-20 -20 -20]))
phy.set(PhysicalChannelParam.powerLevel, [-20 -20 -20]
它们都不起作用。
我猜这是因为有多个物理通道(控制,数据)。
如何指定要更改功率级别的通道类型?
编辑:
一个解决方案显然是直接更改参数:
control_channel = phy[1]
control_channel.powerLevel = -20
但是,这感觉就像违反了 Fjåge 背后的基本思想。
unetstack - 如何将 JANUS 信号录制为 wav 文件?
我正在测试调制解调器之间的互操作性。我的一个调制解调器确实支持 JANUS,我相信 UnetStack 基础 Subnero 调制解调器Phy[3]
也支持 JANUS。如何发送和记录可用于其他调制解调器初步测试的 JANUS 信号?有人可以提供基本的片段吗?
unetstack - 在 macOS 中安装 Unet 音频时找不到本机库`yoda_phy_pa_x86_64`
macOS GateKeeper 在尝试运行 Unet 音频时给我以下错误消息:
终端显示:
unetstack - 我们可以在 UnetStack 中用 python 编写我们的代理吗?
我正在编写一个自定义phy
代理UnetStack
。我知道我们可以使用Groovy
,或Java
,我可以使用来写我的代理吗?如果是,我应该注意什么,是否有特定的骨架?Julia
C
python