新闻中心

EEPW首页>手机与无线通信>设计应用> 一种基于ZigBee协议的动态数据采集系统的实现

一种基于ZigBee协议的动态数据采集系统的实现

作者: 时间:2010-12-28 来源:网络 收藏


1.4 节点软件
在此节点采用目前应用最广泛的TinyOs嵌入式网络操作系统。TinyOS的程序采用模块化设计,程序核心都很小,一般来说核心代码和数据在400 B左右。TinyOS的组件有4个相互关联的部分:1组命令处理程序句柄、1组事件处理程序句柄、1个经过封装的私有数据帧和一组简单任务。任务、命令和事件处理程序在帧的上下文中执行并切换帧的状态。为了易于实现模块化,每个组件还声明了自己使用的接口及其要用信号通知的事件,这些声明将用于组件的相互连接。如图4所示为一个支持多跳无线通信的组件集合与这些组件之间的关系,上层组件对下层组件发命令,下层组件对上层组件发信号通知事件的发生,最低层的组件直接和硬件打交道。

d.JPG

2 系统软件测试
在软件系统设计上,移植无线传感器专门的嵌入式操作系统TinyOS到MSP430微处理器,使用nesC语言编写应用程序。系统以温度作为采集变量,建立了一个具有采集温度数据、预处理、打包无线传输功能的动态系统终端节点的设计。
在验证应用程序代码时,因使用热敏电阻调试麻烦,选用精密可调电阻代替热敏电阻,如图5所示,电阻值容易控制和调整,使结果具有更大可观察性。

e.JPG
如上图所示,采集的模拟信号量是电阻R110两端的电压值,为了观察的方便,在测试程序中对数据进行标度变换等初步处理,使得在PC上显示的数据信息直观地表示为R110两端的电压值。由于精密电阻值最大为10 kΩ,R110=10 kΩ。Vcc=3.1 V,AD参考电平为2.5 V,使得R110两端电压只能在1.5~2.5 V之间测量,选择的测量范围为1.6~2.4 V。
只要知道当前可调电阻R_adj的电阻值,如下公式所示就可以得到ADC5的电压值:
VADC5=Vccin[10 kΩ/(10 kΩ+R_adj)] (1)
由于终端设计是采用无线模块发送的,PC必须通过网关才能得到PC显示结果(PC上可以观察范围为1.5~2.5 V)。在终端机上,同样用3个来表示电压量的变化,选择参考电平为1.6 V为参考零点,变化时显示变化一次。如表1所示,需要注意的是只有测量值在1.6~2.4V之间指示值才正确。
g.JPG

在无线模块数据信息的发送中,设定每隔1 000 ms发送一次。因此每过1 000 ms,串口收发指示灯将指示一次,同时在PC上更新一次数据信息。


关键词:ZigBee数据采集LED

评论


相关推荐

技术专区

关闭