Lesson5---传感检测_第1页
Lesson5---传感检测_第2页
Lesson5---传感检测_第3页
Lesson5---传感检测_第4页
Lesson5---传感检测_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Lesson5 传感检测,介绍在TinyOS中如何获得传感器的数据 ; 例子1:Sense,周期性地读取传感器(sensor)的数据并显示数值在LED上; 例子2:Oscilloscope,稍微复杂点,节点周期性地播报各自传感器的数值到基站节点,再由其转发到电脑上并用图形界面显示出来。,一、介绍,通常,检测工作可以分成两个任务:配置传感器(以及连接的硬件模块,如ADC或SPI 总线)和读取传感器数据。 第1个任务非常复杂,Sense应用需要运行在所有的TinyOS平台上。那它如何才能知道相连接传感器配置的详情?它不能,因为配置的详情在每个平台都是不一样的。除非 Sense应用知道所有平台上的所

2、有传感器,否则它将不能很好的完成配置任务。 但第2个任务,读取传感器数据,可以较为容易的解决。 在TinyOS2.0,检测应用程序具有平台独立性。那到底是谁在负责配置传感器?,二、实例1 Sense 应用程序,简单的Sense应用(位于/opt/tinyos-2.x/apps/Sense),周期性地采样默认传感器,并显示读取数值的低位到LED灯上。 先看看SenseAppC.nc配件:,configuration SenseAppC implementation components SenseC, MainC, LedsC; components new TimerMilliC(); com

3、ponents new DemoSensorC() as Sensor; SenseC.Boot - MainC; SenseC.Leds - LedsC; SenseC.Timer - TimerMilliC; SenseC.Read - Sensor; ,module SenseC uses interface Boot; interface Leds; interface Timer; interface Read; implementation ,SenseC实现部分的顺序如下:使用Boot接口在系统初始化后启动周期性定时器, 然后定时器触发事件调用Read 接口来读取数据。 读取数据

4、是一个分阶段的过程,它分成调用Read.read()命令和等待Read.readDone()事件。 Read接口(/opt/tinyos-2.x/tos/interfaces)可以用来读取传感数据。,interface Read command error_t read(); event void readDone( error_t result, val_t val ); ,SensC.nc为什么使用而不是? 通用接口必须带有一个类型参数,并且只有当提供和使用的接口的类型参数一样时,两个组件才可以连接起来。,2.1 Read接口,2.2 DemoSensorC,DemoSensorC组件提供

5、了Read接口给SenseC模块,而DemoSensorC组件在每个平台都是不一样的。 所以,每一个想要采样的平台都要提供自己相对应的DemoSensorC。此外,传感器板可能会附带了自己的DemoSensorC组件。 然而在实现部分,DemoSensorC可能从一个平台到另一个平台是不同的。,generic configuration DemoSensorC() provides interface Read; implementation components new VoltageC() as DemoChannel; Read = DemoChannel; ,也就是说,DemoSensorC间接地从特定平台的传感器组件(如 VoltageC)那里获得传感器数据,并提供给平台独立性的应用程序。,三、Oscilloscope 应用程序,Oscilloscope是一个可以让程序员在电脑上形象看到检测数据的应用程序。 每一个Oscilloscope应用的节点采样传感器,并累积10个数值后发送一条消息给无线电。 一个运行有BaseStation应用的节点将通过串口转发这些消息到PC。 Running the Java GUI在电脑上更形象地显示从传感器获得的数值 : 启动Seri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论