TinyOS 下编写简单的温度检测程序 既然是无线传感器,那它的特性自然是能够感知周围环境,例如温度、湿度、光线或者是声音等,然后利用无线信号将数值返回给用户
我手头上只有 TelosB 喝 MicaZ 两种传感器,而 MicaZ 本身不配有任何感应设备,所以在编写这个例程的时候,还是采用的TelosB 传感器
TelosB 主要是用在研究领域,本身性能一般,但是可以做的事情并不少,可以感知温度、湿度和光线的变化
这个例程主要包含了两个部分:一是传感器A 感知周围环境温度的变化,然后将数值发送给传感器B,传感器B 接受到数据以后,再通过 USB 接口将数据返回给电脑,然后显示在终端内
也就是说有两套小程序要写,一是数据的感知和发送,另一个是数据的接受、处理和返回
按照 Tiny OS 官方手册内的划分,一共包含了三个技术,分别是感知、无线通讯和串口通讯
而我的例程也是在官方例程的基础上修改而来
数据的感知和发送 感知数据我们需要使用 Read 接口,而提供这个接口的组件则根据感应部件的不同而不同
TelosB 采用的是Sensirion SHT11,所以提供 Read 接口的组件为 SensirionSht11C
至于无线通讯部分,则还需要 SplitControl、Packet 和 AMSend 三个接口
SplitControl 主要负责启动无线通讯设备,Packet 负责处理数据包,而 AMSend 则负责数据的发送
来看一下模块组件的定义: module TempRadioSndC { uses { interface Boot; interface Leds; interface Timer; interface Read; interface SplitControlas RadioControl; interface Packet; interface A