如何在cooja模拟器-c文件中具有随时间变化的随机数?

问题描述 投票:0回答:1

我知道与此类似的帖子。我已经尝试了所有。但这并不能回答我的问题。我已经尝试了c提供的srand,但是在cooja中不起作用。我还尝试了#include“ cfs / cfs.h”,#include“ cfs / cfs-coffee.h”。但这提供了静态随机数。

c contiki cooja
1个回答
0
投票

使用node_id初始化随机数生成器。

在Contiki中,应使用random_init()random_rand()而不是C库函数:

#include <sys/node-id.h>
/* ... */

random_init(node_id);
unsigned short r = random_rand();

编辑:这将为您提供不同节点上的不同随机数。如果要在不同的模拟运行中使用不同的随机数,则可以使用Cooja mote平台。它从simRandomSeed变量初始化Contiki RNG,该变量是模拟的随机种子,您可以每次(从命令行或在.csc文件中)将其设置为不同的值。

如果您不使用Cooja节点,并且不想在不同的模拟运行中分配不同的节点ID,则唯一的选择是通过外部接口(例如,通过串口发送并在节点上读取。

© www.soinside.com 2019 - 2024. All rights reserved.