首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cooja contiki获取节点的位置

使用cooja contiki获取节点的位置
EN

Stack Overflow用户
提问于 2020-10-15 03:20:34
回答 1查看 325关注 0票数 3

我想得到Cooja模拟器中每个节点的位置(x和y坐标)。总共有30个节点,属于“天空微尘”类型。目标是为每个节点构建一个由(ID_node x_coordinate y_coordinate)组成的表。

首先,我尝试通过在脚本模拟编辑器中编写以下代码来获取每个节点的x坐标:

代码语言:javascript
复制
array = new Array();
for (i = 1; i < 4; i++) {
  array[i] = mote.getInterfaces().getPosition().getXCoordinate();
  log.log(array[i] + "\n");
}

但我得到的结果是:

代码语言:javascript
复制
59.09635997249024
59.09635997249024
59.09635997249024

所有这些数字都是ID为2的特定节点的x坐标。您能帮助我获得Cooja中所有节点的x和y坐标吗?

EN

回答 1

Stack Overflow用户

发布于 2020-10-20 02:14:20

您应该迭代模拟中的所有节点,并将X和Y坐标保存在数组中。下面的代码将坐标保存在数组中并打印出来:

代码语言:javascript
复制
 array = new Array();
 motes = sim.getMotes();
 for(var i = 0; i < motes.length; i++){
     var m = motes[i];
     var x = m.getInterfaces().getPosition().getXCoordinate();
     var y = m.getInterfaces().getPosition().getYCoordinate();
     var id = m.getID();
     array[i] = {id:id, x:x, y:y};
     log.log(id + " " + x + " " + y + "\n");
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64360175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档