本文讲述了Contiki开发环境Instant Contiki安装,并结合实例讲述native平台使用和网络仿真工具Cooja使用。

PS:最近在分析Rime协议栈,想在InstantContikik仿真example-rucb.c例子,一直没想起怎么运行cooja,尽管以前用过。就做个笔记,方便日后使用。

本文有些啰嗦,事实上,只需记住Contiki平台编译命令make TARGET=...和Cooja运行命令ant run(在contiki/tools/cooja/目录下)。

1. InstantContiki安装

InstantContiki是官方配好的开发环境,基于Ubuntu,在下载InstantContiki2.5,装在虚拟机VMware上,登入界面如下(密码是user):

img 图1 Instant Contiki登入界面

2. 使用native平台

Ubuntu模拟了Contiki运行的节点,叫native,可以仿真一些内核、文件系统、动态加载、网络模块。用native平台仿真,先将例子编译连接。

2.1 编译连接

user@ubuntu:~/contiki/examples/hello-world$ make TARGET=native

2.2 运行

user@ubuntu:~/contiki/examples/hello-world$ ./hello-world.native
Starting Contiki
Hello, world

3. 使用COOJA仿真器

相对于native平台,Contiki提供更强大的仿真工具Cooja,几乎仿真了完整的传感器网络节点(如sky、esb)。

3.1 启动COOJA

打开终端,执行以下命令(IntantContiki2.5,桌面上没有"Run Cooja"图标):

user@ubuntu:~$ cd contiki/tools/cooja/
user@ubuntu:~/contiki/tools/cooja$ ant run

3.2 运行实例

菜单栏File --> Open simulation --> Browse,如下:

img 图2 Cooja选择仿真例子

打开相应的csc或者csc.gz格式文件(以下以contiki/examples/rime/example-broadcast.csc为例),显示正在加载:

img

图3 Cooja加载界面

点击Control控制面板的Start,开始仿真,如下:

img

图4 Cooja仿真界面

点击Simulation Visualizer窗口的Select visualizer skins,可以选择相应的显示选项,如下:

img

图5 Cooja显示选项

参考资料:

[1]

本文系Spark & Shine原创,转载需注明出处本文最近一次修改时间 2022-03-20 21:51

results matching ""

    No results matching ""