TinyOS 2.x 入门教程 - 图文

TinyOS Programming

图3.2 telosb节点的反面

接下来针对Telosb平台拥有的资源中比较常用的可编程部分,结合TinyOS中提供的对应的组件及接口进行介绍。

3.1 Led

3.1.1 Telosb硬件平台上的Led器件展示

Led可以说是TinyOS编程中最常用的可编程器件之一。其编程也比较简单,一般只是令其亮、熄灭等。在Telosb节点中其所在位置如图3.3所示:

图 3.3 LED

3.1.2 TinyOS中Led编程组件介绍

1) 接口

关于LED的接口仅有一个,该接口文件在以下目录:tinyos-2.x\\tos\\interfaces,文件名为Leds.nc。其内容如下:

Page 22 of 94

TinyOS Programming

interface Leds {

async command result_t init(); //初始化LED(接口) async command result_t redOn(); //令红色LED亮 async command result_t redOff(); //令红色LED熄灭 async command result_t redToggle(); //令红色LED改变状态 //若亮则熄灭,反之亦然 async command result_t greenOn(); async command result_t greenOff(); async command result_t greenToggle(); async command result_t yellowOn(); async command result_t yellowOff(); async command result_t yellowToggle();

async command uint8_t get(); //获取LED当前状态,即哪个Led亮还是熄灭 async command result_t set(uint8_t value);//设置LED的状态(0~7) }

2) 组件

提供Leds接口的组件有两个,一个是模块LedsC,另一个是模块NoLedsC。这两个模块的文件都是在tinyos-2.x\\tos\\system 目录下,对应文件名分别是LedsC.nc和NoLedsC.nc。

其中,NoLeds模块并非真正控制LED器件,LedsC才是实实在在地控制LED器件。LED可以说是Telosb节点的唯一“界面”,很多编程人员都用其来调试程序。

3.2 传感器

传感器可以说是无线传感器网络的重头戏之一,几乎所有的应用都会涉及到此器件。

3.2.1 Telosb硬件平台上的传感器展示

一般而言,Telosb平台上的传感器有四个,也可能只有内部的两个,传感器数量不同,节点的价格有所区别:

? 内部电压传感器 ? 内部温度传感器 ? 外置的数字温湿度传感器 ? 外置的光电传感器

其中,内部电压、内部温度传感器表面上不可见,外置的传感器则如图3.4所示。

图 3.4 光、数字温湿度传感器

Page 23 of 94

TinyOS Programming

3.2.2 TinyOS中传感器编程组件介绍

1) 接口

Telosb平台中,传感器数据的读取是通过ADC的,故传感器方面的编程“实际上”是对ADC的

>>鐏炴洖绱戦崗銊︽瀮<<
12@gma联系客服:779662525#qq.com(#替换为@)