TinyOS---传感

本篇文章的传感都以TelosB节点为例,其中捎带MicaZ节点。

说到传感,默认的传感组件是DmeoSensorC组件。在TelosB里,这个组件关联到VoltageC组件,该组件是采集节点模块内部的电压值。若想将DemoSensorC组件关联其他如ConstantC常数组件或者SineC正弦函数组件,则只需修改 components new VoltageC as DemoSensorC中的VoltageC为对应的组件即可。这是修改节点默认传感组件的方法。

但是,在一般使用节点模块时,需要采集周围的温度,湿度以及光照等数据,则此时,就不用节点默认传感组件,而是调用节点中包含的其他组件,如SensirionSht11C这个组件,它包含了温度和湿度,在\tos\lib\thread\sensorboard\tmote文件里,但是文件中的事CSensirionSht11C,在使用的时候不需要开头的C,在AppC文件中添加该组件即可,为了方便写为components new SensirionSht11C
as SensorC 然后将Read接口连接到该组件,但是要注意!SensirionSht11C组件中有温度和湿度2个接口,所以当连接Read接口时要选择是温度还是湿度的,若选择温度,则为 App.Read->SensorC.Temperature。

在实验的过程中,目前还有待解决的问题是,SensirionSht11C该组件是读取温度和湿度2个数据,如何将其分别显示出来?(后期解决后,则跟进修改)

另外,在实验中,主要的逻辑代码和普通的传感代码没什么不同,都是调用Read命令然后触发readDone事件。只是Read连接的传感组件不同则读取的传感数据类型不同。

大致内容如上,若有所补充则在后期会补上。若网友有内容要补充也非常欢迎。

时间: 2024-10-31 11:41:17

TinyOS---传感的相关文章

TinyOS学习 - 射频层析成像之获取RSSI值

在无线传感网络下,最重要的除了系统就是节点了. 我用的节点是Telosb的节点.然后这个节点下的获取无线的芯片是CC2420 所以我要获取RSSI值的话需要使用它. 先说下获取RSSI值的需求:我在做人的射频层析成像实验,需要追踪人的移动轨迹,而人身上是不戴任何设备的,所以我用这个方法来获取. rssi值是最重要的属性. 第一种:在例子代码里实际上有个例子程序是获取rssi值的,方法是从寄存器内读取,但是这里不适合用来定位,不说了. 第二种:在发送包的时候定义消息包 typedef nx_str

无线传感网络初学笔记

 无线传感网络(wireless sensor network),由部署在监測区域内的大量传感器以自组织和多跳的方式构成的,以协作方式感知.採集.传输和处理网络覆盖区域内监測对象信息的无线网络. 无线传感网络系统通常包含传感器节点(sensor node).汇聚节点(sink node)和管理节点.大量传感器节点随机部署在监測区域内或附近,可以通过自组织方式构成网络.传感器节点监測的数据沿着其它传感器节点逐跳地进行传输.在传输过程中监測数据可能被多个节点处理,经过多跳路由到汇聚节点,最后通过

Eclipse下配置TinyOS开发环境

通过给Eclipse安装Yeti 2 - TinyOS 2 Plugin for Eclipse来配置TinyOS IDE,从而可建立TinyOS Project Yeti 2的介绍请参考网站:http://tos-ide.ethz.ch/wiki/pmwiki.php?n=Site.TinyOSEclipsePlugin 1.下载.解压并打开Eclipse(我用的是Eclipse IDE for Java Developers) 2.打开Install对话框:Help->Install New

TinyOS在linux下安装教程

1:打开/etc/apt/sources.list 文件,在文件最底部添加安装源: deb http://tinyos.stanford.edu/tinyos/dists/ubuntu lucid main 2. 执行更新 $ sudo apt-get update 3. 安装TinyOS和所有支持工具 $ sudo apt-get install tinyos-2.1.2 4. 设置环境变量 由于tinyos-2.1.2下面并没有tinyos.sh这个文件,现在新建一个. $ cd /opt/

无线传感网CC2530终应端、路由以及协调器系统用

要做到目视千里,耳听八方是人类长久的梦想,现代卫星技术的出现虽然使人们离这目标又进了一步,但卫星高高在上,洞察全局在行,明察细微就不管用了.这个时候,本文的主角—无线传感器网络就排上用场了.将大量的传感器节点遍撒指定区域,数据通过无线电波传回监控中心,监控区域内的所有信息就会尽收观察者的眼中了. 闲话不说,直接进入正题.想让传感数据回来,总得有一套可以“采集传感器数据,打包发送数据给上层”的系统,这里就程序简单说明一下该系统的实现. 主开发程序在/ZStack-CC2530-2.3.0-1.4.

Zigbee Z‐STACK协议栈和TinyOS

ZigBee 和 Tinyos 关于ZigBee和TinyOS ZigBee的基础是IEEE 802.15.4.但IEEE仅处理低级MAC层和物理层协议,因此Zigbee联盟扩展了IEEE,对其网络层协议和API进行了标准化,这就是Z‐STACK,Z‐STACK协议栈是TI公司研发,通过ZigBee联盟认证的免费协议栈,协议内部包括了WSN(无线传感器网络)的OS的模型,协议栈具有国际化,标准化的特点,协议栈已提供十几种应用场景,可以非常轻松的让用户开发出满足国际标准的产品. TinyOS是一个

TinyOS学习 - Ubuntu 12.04LTS安装TinyOS 2.1.1后make telosb报错之解决方案

我在Ubuntu 12.04LTS的64位版本安装过一次TinyOS,但是最后编译是成功的,但是所有的java工具都不能用.这次我重装了个32位的Ubuntu系统.这个是肯定可以安装的. 但是在我按照教程全部安装完之后发现出现了错误. 在make telosb的时候 > mkdir -p build/telosb > compiling BlinkAppC to a telosb binary > ncc -o build/telosb/main.exe -Os -O -mdisable

Android蓝牙传感应用

Android手机一般以客户端的角色主动连接SPP协议设备(接上蓝牙模块的数字传感器),连接流程是: 1.使用registerReceiver注册BroadcastReceiver来获取蓝牙状态.搜索设备等消息:2.使用BlueAdatper的搜索:3.在BroadcastReceiver的onReceive()里取得搜索所得的蓝牙设备信息(如名称,MAC,RSSI):4.通过设备的MAC地址来建立一个BluetoothDevice对象: 5.由BluetoothDevice衍生出Bluetoo

TinyOS系列——服务器远程指令多跳实现过程中问题及解决方案

开发经验: 1.嵌入式程序,调试可能比较麻烦,一定要有耐心,戒骄戒躁 2.开发之前一定要理清自己的逻辑框架,不然只能越写越乱 3.代码开发与测试迭代进行,一步一步,如果代码量过大,很难跟踪找到问题出错的点 开发步骤: 模块开发必须理清自己的思路以及逻辑,学会分步进行: 1.测试节点C[i]是否能够正常接收.发送数据,全部需要测试一遍,确定节点能否正常使用,否则后续工作无法正常进行2.测试发送模块A向基站B广播消息后,基站B能否正常接收3.修改发送模块与节点程序,测试发送模块A->节点c[0]->

TinyOS和Deluge的安装模拟(二)

TinyOS的安装 TinyOS的安装是一件麻烦的事情,它不像其他的开发环境那样配置简单.要想成功安装好TinyOS,需要选择好PC操作系统,TinyOS安装文件的版本,工具链的版本--.总之,安装过程中很容易失败,而且失败原因是无法得知的.因为就算出错了,你也很少有机会可以搜索得到相关资料. 准备工作 对于1.x: 成功的安装经验是:选择Windows XP作为PC操作系统,Cygwin模拟环境,TinyOS 1.1.14,nesc 1.1.1及JDK 1.4.x. 说明:(1)或许Windo