首页 > 解决方案 > 我如何在 Contiki os 中感知网络

问题描述

我是 contiki os 和 Cooja 模拟器的新手,我想知道如何感知网络,所以

  1. 如果有两个节点开始通信
  2. 第三个节点捕获通信并知道发送者的 IP 地址。

我找到并尝试了这段代码,但是我应该添加什么来检查网络和通道进行传感

if(NETSTACK_RADIO().channel_clear()) {
      printf("channel not busy\n");
    } else {
      printf("channel busy\n");
    }

标签: networkingiotcontikicoojacontiki-process

解决方案


我也不是 contiki 专家,但我认为对于您的问题,您应该查看 os/net/routing/rpl-lite/rpl-neigbor.c。如果你默认编译你的代码,它将使用 rpl-lite,这是 contiki-ng 的标准。

你可以这样做:

include "net/routing/rpl-lite/rpl.h";

if (rpl_neighbor_count() == 1) {
    // start communication
}

希望我能帮上忙。


推荐阅读