4.1 TinyOS简介 TinyOS是加州大学伯克利分校开发的一种典型的无线传感器网络操作系统,通过nesC语言可以开发基于TinyOS的应用程序。TinyOS设计的目标就是代码量小、耗能低、并发性高、鲁棒性好,可以适应不同的应用,采用轻量级线程技术,事件驱动模式,组件化编程等,从而使其成为面向无线传感器网络的操作系统。TinyOS提供了Main配件,以及针对某些硬件的感知组件、执行组件、通信组件和硬件抽象组件。在这些组件的基础上,用户可以定制开发应用组件,然后将所有组件连接起来,就构成了整个应用程序。
4.2 TinyOS的移植 TinyOS操作系统有很多版本,要移植的是TinyOS 2.0版本,采用的编译器是Keil。TinyOS 2.0必须在Linux平台下才能工作,而Keil则是一个Windows下的软件,因此,要安装一个在Windows平台上运行的模拟linux开发环境的软件——Cygwin。下面具体介绍移植步骤:
(1)安装SmartRF04 Flash Programmer、Keil、Java 1.5 JDK、Cygwin软件;
(2)下载TinyOS开发必备的编译工具的安装包;
(3)启动Cygwin,并在Cygwin下安装下载好的编译工具安装包;
(4)安装TinyOS 2.0。
将下载好的TinyOS 2.0的安装包解压缩,将解压好的tinyos-2.0-contrib文件夹拷贝到Cygwinopt目录下,此时已经搭建好了TinyOS的开发环境。所有的例子都在tinyos-2.0-contrib/diku/common/apps/下面。以BlinkNoTimerTask为例,在Cygwin下面输入:cd/diku/common/apps/BlinkNoTimerTask,然后回车输入:make cc2431em,如果顺利的话,TinyOS将被编译生成app.hex文件,只要把这个文件烧录进单片机就可以了。
(5)烧录
插好仿真器,打开SmartRF04 Flash Programmer软件,在System-on-Chip选项卡下选择app.hex文件,然后选择“Perform actions”就可以顺序烧写了,烧写成功后,TinyOS就成功移植到CC2431上了。
5 传感器网络节点的软件设计 传感器测量节点的主要功能就是接收PC机采集数据的指令、采集数据,然后将采集的数据通过无线信道发送出去。汇聚节点的功能就是创建无线网络,配置网络节点属性,接收传感器测量节点采集的数据,然后通过串口上传到计算机。传感器测量节点程序结构流程图如图5所示,汇聚节点程序结构流程图如图6所示。
在农业生产中,随着规模化经营的出现,可能会建有很多个温室,根据应用的设计,在每个温室中都建有一个无线传感器网络,由于温室中的环境都比较相似,因而,每个温室中的无线传感器网络的功能和技术也都是一样的。如果所有温室都通过控制中心的计算机来进行统一管理,可以大大提高了工作效率,使温室管理更加科学,控制更加简单,从而达到提高作物产量、改善品质、调节生长周期、提高经济效益的最终目的。而本文介绍的无线传感器网络节点具有功耗低、体积小、工作可靠、易于扩展等优点,基于该无线传感器网络的温室环境监控方案将会有很好的应用前景。
上一页 [1] [2]