Используйте node_id
для инициализации генератора случайных чисел.
В Contiki вы должны использовать random_init()
и random_rand()
вместо библиотечных функций C:
#include <sys/node-id.h>
/* ... */
random_init(node_id);
unsigned short r = random_rand();
Редактировать: это даст вам разные случайные числа на разных узлах. Если вы хотите использовать разные случайные числа в разных запусках симуляции, вы можете использовать платформу Cooja mote. Он инициализирует RNG Contiki из переменной simRandomSeed
, которая является случайным начальным числом моделирования, которое вы можете каждый раз устанавливать на другое значение (из командной строки или в файле .cs c).
Если Вы не используете пылинки Cooja и не хотите назначать разные идентификаторы узлов в разных сеансах симуляции. Единственный вариант - получить случайное начальное число для мотылька через внешний интерфейс, например, отправить его через последовательный порт и прочитать на узел.