如何在Contiki 2.7 仿真中更改参数?

How to change parameters in Contiki 2.7 simulation?

我开始在 Contiki 上学习 OS。我正在尝试分析不同部署场景下的一些参数,如能效、延迟、交付率等。首先,我应该更改一些参数,例如:

  1. 信道检查速率为 16/s(我使用 rpl-sink)
  2. RPL操作模式改为NO_DOWNWARD_ROUTE
  3. 发送间隔为5s
  4. UDP 应用程序数据包大小为 100 字节

你能告诉我如何在 Contiki 2.7 中更改这些参数吗?

我的答案供参考:

Channel check rate to 16/s (I use rpl-sink)

#undef  NETSTACK_RDC_CHANNEL_CHECK_RATE
#define NETSTACK_RDC_CHANNEL_CHECK_RATE 16

RPL mode of operation to NO_DOWNWARD_ROUTE

这叫非存储模式。要启用它:

#define RPL_CONF_WITH_NON_STORING 1

Send interval to 5s

取决于应用;此参数没有标准名称。如果我们谈论 ipv6/rpl-collect/,您应该 #define PERIOD 5project-conf.h

UDP application packet size to 100 Bytes

payload构建于udp-sender.c:

uip_udp_packet_sendto(client_conn, &msg, sizeof(msg),
                      &server_ipaddr, UIP_HTONS(UDP_SERVER_PORT));

因此,为了更改负载大小,您需要更改名为 msg 的本地定义的匿名 struct 变量的大小。例如,您可以向其中添加一些虚拟字段。

struct {
  uint8_t seqno;
  uint8_t for_alignment;
  struct collect_view_data_msg msg;
  char dummy[100 - 2 - sizeof(struct collect_view_data_msg)];
} msg;