本节在Cooja 仿真器下说明收集网络视图应用程序的使用方法。启动Cooja 仿真器创建10 个传感器节点的传感器网络,在这10 个节点上运行相同程序examples/collect/collect-view-shell.c,也就是说,可以通过网络中的任意节点控制网络和收集网络状态信息。我们假设选取1 号节点作为汇聚节点控制和观察网络的运行。单击“Simulation->Start simulation”运行仿真程序,如图7-12所示:
图7-12 收集网络视图仿真
为了使用GUI 的收集查看器,右击1 号节点选择“Mote tools for sky 1→Collect View”菜单项,打开“Sensor Data Collect with Contiki”对话框,如图7-13所示。
图7-13 GUI查看器
可在serial console 标签对应的控制平台输入“help”命令查看收集网络视图shell程序支持的shell命令,如图7-14所示。
图7-14 收集网络视图shell命令
现在可以使用这些命令管理传感器网络,也可以通过使用图7-13 所示的“Node Control”标签上的按钮实现网络管理。例如单击“Start Collect”命令按钮时,汇聚点向网络中的其他节点发送命令“collect | timestamp | binprint &”收集网络数据,如图7-15 所示。单击“Stop Collect”命令按钮时,汇聚点向网络中的所有节点发送命令“killall”停止收集数据,如图7-16所示。当单击“Send command to nodes”命令按钮时,节点1向网络中的所有节点发送如下网络命令,如图7-17所示:
netcmd{repeat 0 60{randwait 60 collect-view-data|send 31}}
该命令的功能是指定让网络节点执行的操作,即“repeat 0 60 {randwait 60 collect-view-data|send 31}”,每隔60秒执行一次{}中的命令;命令randwait是指等待0~60 秒之间的一个随机时间后执行后面的命令;命令collect-viewdata 的功能是收集网络中传感器节点的感知数据、能量消耗和网络状态信息;命令send 的功能是把收集数据发送给汇聚节点。从如图7-17 所示的“Mote output”窗口中能够看到命令执行情况,即节点1 发送上述命令,其他9 个节点接收到该命令后向节点1发送网络数据。
图7-15 开始收集数据
(www.xing528.com)
图7-16 停止收集数据
图7-17 向节点发送命令
现在,收集视图查看器就可根据采集到的信息,以静态或动态的方式展示网络状态信息,如图7-18~图7-22所示,可以观察节点信息、网络拓扑和节点能耗情况信息等。
图7-18 节点信息
图7-19 网络拓扑图
图7-20 节点平均能耗
图7-21 平均占空比
图7-22 瞬时能量消耗
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。