Набор параматеров Cooja Simulation - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь провести симуляцию протокола RPL, используя Contiki 3.0 и Cooja Simulator.Я использую небо, и мне хотелось бы посмотреть, как формируется DODAG, и отслеживать параметры сети с помощью Collect View.У меня есть несколько вопросов:

1) Где и как я могу изменить функцию цели?

2) Мои датчики потребляют энергию 1 мВт, я думаю, что для реального применения это слишком много, поскольку датчики должны работать в течение нескольких лет

3) Где я могу изменить другие параметрымоделирование?Как пакеты Tx / Rx?

4) Как я интерпретирую метрику маршрутизации, представленную в представлении сбора?

5) Я заметил, что когда я меняю положение узла, сеть становится слишком большойМедленно обнаруживая движение, RPL не очень быстр, но в Кудже это занимает слишком много времени, возможно?Есть ли у вас предложения по моделированию движущихся датчиков?

1 Ответ

0 голосов
/ 18 мая 2019

1) Вы можете установить функцию изменения цели из contiki / core / net / rpl / rpl-conf.h

отредактируйте согласно вашему требованию:

/*
 * The objective function (OF) used by a RPL root is configurable through
 * the RPL_CONF_OF_OCP parameter. This is defined as the objective code
 * point (OCP) of the OF, RPL_OCP_OF0 or RPL_OCP_MRHOF. This flag is of
 * no relevance to non-root nodes, which run the OF advertised in the
 * instance they join.
 * Make sure the selected of is inRPL_SUPPORTED_OFS.
 */
#ifdef RPL_CONF_OF_OCP
#define RPL_OF_OCP RPL_CONF_OF_OCP
#else /* RPL_CONF_OF_OCP */
#define RPL_OF_OCP RPL_OCP_MRHOF
#endif /* RPL_CONF_OF_OCP */

/*
 * The set of objective functions supported at runtime. Nodes are only
 * able to join instances that advertise an OF in this set. To include
 * both OF0 and MRHOF, use {&rpl_of0, &rpl_mrhof}.
 */
#ifdef RPL_CONF_SUPPORTED_OFS
#define RPL_SUPPORTED_OFS RPL_CONF_SUPPORTED_OFS
#else /* RPL_CONF_SUPPORTED_OFS */
#define RPL_SUPPORTED_OFS {&rpl_mrhof}
#endif /* RPL_CONF_SUPPORTED_OFS */

/*
 * Enable/disable RPL Metric Containers (MC). The actual MC in use
 * for a given DODAG is decided at runtime, when joining. Note that
 * OF0 (RFC6552) operates without MC, and so does MRHOF (RFC6719) when
 * used with ETX as a metric (the rank is the metric). We disable MC
 * by default, but note it must be enabled to support joining a DODAG
 * that requires MC (e.g., MRHOF with a metric other than ETX).
 */
#ifdef RPL_CONF_WITH_MC
#define RPL_WITH_MC RPL_CONF_WITH_MC
#else /* RPL_CONF_WITH_MC */
#define RPL_WITH_MC 0
#endif /* RPL_CONF_WITH_MC */

2) Contiki предоставляетмеханизмы радиосвязи (RDC) для длительной работы узлов.По умолчанию это nullrdc, в котором узел всегда остается включенным, следовательно, жизнь меньше.Установите ContikiMAC для минимизации мощности узлов.Перейдите к contiki / core / contiki-default-conf.h и отредактируйте его в соответствии с вашими требованиями.

например,

#ifndef NETSTACK_CONF_RDC
/* #define NETSTACK_CONF_RDC   nullrdc_driver */
#define NETSTACK_CONF_RDC   contikimac_driver 
#endif /* NETSTACK_CONF_RDC */

3) Tx / Rx можно установить из самого визуализатора сети.Вы можете щелкнуть правой кнопкой мыши на любом узле и изменить диапазон tx / rx, а также коэффициент успешности.Вы также можете редактировать то же самое в файле .csc (симуляция).

    <radiomedium>
      org.contikios.cooja.radiomediums.UDGM
      <transmitting_range>100.0</transmitting_range>
      <interference_range>120.0</interference_range>
      <success_ratio_tx>0.9</success_ratio_tx>
      <success_ratio_rx>0.9</success_ratio_rx>
    </radiomedium>

4) Вы должны рассчитать различные показатели производительности.Для этого у вас есть файл сценария кода (сложная часть).Или используйте эти ссылки https://github.com/iloveyii/contiki_rpl/tree/master/perl

https://pdfs.semanticscholar.org/d319/4d5f43f1cd3995ba7c9e99776ac8f150d445.pdf

5) Используйте плагин мобильности для имитации различных моделей мобильности.

https://anrg.usc.edu/contiki/index.php/Mobility_of_Nodes_in_Cooja

http://vrajesh2188.blogspot.com/2016/04/mobility-in-contiki-2.html

...