networking - 我如何在 Contiki os 中感知网络
问题描述
我是 contiki os 和 Cooja 模拟器的新手,我想知道如何感知网络,所以
- 如果有两个节点开始通信
- 第三个节点捕获通信并知道发送者的 IP 地址。
我找到并尝试了这段代码,但是我应该添加什么来检查网络和通道进行传感
if(NETSTACK_RADIO().channel_clear()) {
printf("channel not busy\n");
} else {
printf("channel busy\n");
}
解决方案
我也不是 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
}
希望我能帮上忙。
推荐阅读
- python - 如何根据数据类型识别列并在pyspark中转换它们?
- python - 为什么我会收到此 KeyError?
- kaggle - 在 kaggle 中提交时出现问题
- robotframework - 机器人框架中@和$的区别
- php - WordPress精确搜索查询
- firebase - 从firebase中显示一个Image.file
- r - “如何根据已知的中位数(四分位数)模拟一组原始数据”
- python - 使用“\n”时如何修复打印出的标识
- azure - 在 Azure hdinsight 群集上启用 kerberos
- python - Anaconda 的 `current_repodata.json` 文件导致系统在 ubuntu 18.04 中冻结