问题标签 [cooja]

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 回答
747 浏览

c - 从 Contiki 中的进程调用进程

在我的代码中,我需要声明两个进程。在第一个过程中,我想这样调用第二个:

但我得到了这个错误:

请问我们如何从另一个进程中调用一个进程?

0 投票
1 回答
627 浏览

contiki - Contiki/Cooja 如何从套接字(串行套接字(服务器/客户端))读取数据(在模拟节点中)

我正在尝试使用 MQTT-Rime 网关构建 MQTT-SN。我成功地使用串行套接字将传感器数据发送到网关,但我的网关也必须向微尘发送一些数据。我的问题是我不知道如何从 mote 中的套接字读取数据。有人可以帮助我吗?

0 投票
1 回答
124 浏览

c - 了解宏行为和原型线程

在此先感谢您的帮助。

首先是前言。我一直在研究使用https://github.com/contiki-os/contiki/tree/master/core/net/mac/tsch给出的 Contiki TSCH 实现。在 Cooja 模拟器中运行一个简单的示例时(在基本代码中添加了一些日志消息,以便我可以看到发生了什么),我注意到 ASN 计数器没有增加其最高有效字节。

具体来说,ASN(TSCH 的绝对时隙编号)由结构体给出

并且本质上可以被认为是一个索引值,表示为两个变量,最高有效字节和最低有效 4 个字节。以下宏用于将 ASN 增加一定数量。

暂时忽略 printf 语句(我添加了这些语句以试图了解发生了什么)。据我了解这个宏,最不重要的字节首先增加。然后,如果最低有效字节环绕最高有效字节,则递增。但是,在查看正在发生的事情的日志时,我注意到当最不重要的字节环绕时,最重要的字节并没有增加。

现在到我的实际问题。为了确定为什么最重要的字节没有被增加,我将上面的打印语句添加到宏中,并在实际宏调用的上方和下方添加了打印语句,如下所示(注意 ASN 由 tsch_current_asn 给出,timeslot_diff 是我想要的数量将 ASN 递增)。

这样做产生了以下日志,这绝对让我难过

具体来说,似乎在宏 inc 中的第一个和第二个 printf 语句之间(timeslot_diff)从 0 更改为 1877。换句话说,在我看来,该语句

更改了 inc 的值(timeslot_diff)。此外,在我看来,此语句将 ans.ls4b (tsch_current_asn.ls4b) 从 1877 更改为 0。

关于宏如何工作,或者这是 Contiki 的 protothreads 的影响(即被暂停并稍后恢复),我是否有一个高级的时间?

作为参考,宏调用的实际代码在 https://github.com/contiki-os/contiki/blob/master/core/net/mac/tsch/tsch-slot-operation.c的第 1035 行给出该宏在https://github.com/contiki-os/contiki/blob/master/core/net/mac/tsch/tsch-asn.h的第 67 行给出。

0 投票
1 回答
231 浏览

contiki - 在运行时重新定义 RDC 通道检查率

如何在 Contiki OS 运行时更改节点的通道检查率?我使用 ContikiMAC RDC 协议。

0 投票
0 回答
421 浏览

security - CoAP 的 TinyDTLS 问题

我希望研究物联网中的安全协议以及它如何影响受限设备的性能。我的目标是使用 Cooja 模拟器比较 CoAP 与 CoAP(使用 DTLS 保护)。

我发现了 Contiki 3.0 的这个分支 https://github.com/rfuentess/contiki/tree/Contiki-CoAPS

在 contiki/examples/ipv6/CoAP-IDS/IPv6_HC06_TinyDTLS 文件夹中,有一个 CoAPs 客户端和服务器示例,使用诸如 TinyDTLS 0.8.2 之类的应用程序以及对 erbium-coap 的修改重命名为 er-coaps(带有 DTLS 序言)。

在 Cooja 中运行示例之前,我在应用程序文件夹中配置 tinydtls,启动命令 ./configure --with-contiki --without-ecc使用 PSK_WITH_AES_128_CCM 模式)

之后我在 Cooja 中部署了 3 个 wismote 节点:

1 6LoWPAN 边界路由器刷入固件 (contiki/examples/ipv6/rpl-border-router/border-router.c)

1 个 CoAPS 客户端使用固件刷新 (contiki/examples/ipv6/CoAP-IDS/IPv6_HC06_TinyDTLS/coaps-client.c)

1 台 CoAPS 服务器用固件刷新 (contiki/examples/ipv6/CoAP-IDS/IPv6_HC06_TinyDTLS/coaps-server.c)

我面临两个问题:

1)为什么客户端向服务器打招呼时会有几次重传试探性(在第二个10)(见下面的mote输出附件)?

2)查看客户端代码(contiki/examples/ipv6/CoAP-IDS/IPv6_HC06_TinyDTLS/coaps-client.c),该示例应该检索几个 CoAP 资源,但它在尝试检索第一个资源时卡住了(.well -已知/核心)。似乎程序在 COAP_BLOCKING_REQUEST() 期间冻结,并且不会继续检索其他资源。为什么?

我附上了微尘输出和 PCAP 文件。

Motes_output

PCAP

谢谢

0 投票
0 回答
108 浏览

contiki - 如何通过仅记录所有 printf()s 并在 cooja 上激活超时来自动保存无线电消息日志

我想知道当我在 cooja 上实现自动模拟时如何保存无线电消息日志,模拟将重复 10 000 次,我对 IEEE 802.15.4 无线电提供的信息感兴趣,任何关于如何做的想法那 ?

我要保存的信息在附件中。

在此处输入图像描述

0 投票
1 回答
183 浏览

cooja - 如何在像 rpl-udp 这样的简单 rpl 示例中打印 ENERGY

我想在 mrhof 函数中打印一条简单的消息。在 core>net>rpl 我在 makefile 中写了 mrhof.c。然后在 rpl-conf.h 中,我将 RPL_DAG_MC_NONE 更改为 RPL_DAG_MC_ENERGY。在 calculate_path_metric 的 mrhof.c 中有一条消息要打印。例如我想打印能源。当我在 cooja 中运行 udp-rpl 之类的示例时,为什么在 mote 输出中看不到该消息?

0 投票
1 回答
105 浏览

networking - 如何将谷歌地图与 cooja 模拟器集成

如何将 Google 地球与 Cooja 模拟器集成?我现在在物联网工作,我想将谷歌地球或地图与 cooja 模拟器连接,以便在地图上分布无线传感器。我阅读了 Cooja 的教程,并观看了许多关于这个主题的相关视频。但我没有得到有用的信息来做到这一点..任何人都可以建议我该怎么做,因为我还是 cooja 模拟器的新手

0 投票
1 回答
521 浏览

packet-sniffers - 如何在 Contiki 中偷听邻居 mote Tx/Rx?

我想知道在RPL网络中,一个节点将一个数据包发送到另一个节点(例如RPL-Collect/udp-sender)后,如何知道预期的节点是否会转发这个数据包?我认为需要偷听邻居传输,但在Contiki/Cooja中实现此场景的另一种简单方法是什么?

0 投票
1 回答
373 浏览

simulation - 如何从外部访问在 cooja 中模拟的 6LowPAN 网络?

Cooja我使用and实现了一个 6LowPAN 网络模拟Contiki,现在我想在处理来自网络外部的数据后为执行器(mote)发送一些命令。

这些命令将在处理从边界路由器接收到的数据后发送到节点。

如何从外部访问模拟网络中的特定节点并向其发送一些数据包?