本文讲述了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):
图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,如下:
图2 Cooja选择仿真例子
打开相应的csc
或者csc.gz
格式文件(以下以contiki/examples/rime/example-broadcast.csc
为例),显示正在加载:
图3 Cooja加载界面
点击Control控制面板的Start,开始仿真,如下:
图4 Cooja仿真界面
点击Simulation Visualizer窗口的Select visualizer skins,可以选择相应的显示选项,如下:
图5 Cooja显示选项
参考资料:
[1]