簡體   English   中英

如何在 c 語言的 cooja 模擬器中獲得隨時間變化的隨機數?

[英]How to have a random number which changes with time in cooja simulator in c language?

我知道有類似的帖子。 我已經嘗試了所有這些。 但這並不能回答我的問題。 我已經嘗試過由 c 提供的 srand,但它在 cooja 中不起作用。 我也試過#include "cfs/cfs.h"#include "cfs/cfs-coffee.h" 但是提供 static 隨機數。

使用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,唯一的選擇是通過外部接口獲取節點上的隨機種子,例如通過串行端口發送並讀取它節點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM