新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于TinyOS的人体温湿度数据采集系统设计

基于TinyOS的人体温湿度数据采集系统设计

作者: 时间:2014-07-30 来源:网络 收藏

  温湿度节点的顶层配置组件程序#e#

本文引用地址://www.cghlg.com/article/256264.htm

  温湿度节点的顶层配置组件程序如下:

  

 

  configuration SensorNodeSHT_C

  {

  }

  implementation {

  components MainC; /*TinyOS2主模块,这里用于关联系统启动*/

  components new TimerMilliC() as TimerC;

  components SensorNet_C; /*射频模块、CSMA协议及MCU电源管理控制配置组件*/

  components SHT10_C; /*温湿度SHT10配置组件*/

  components SensorNodeSHT_M; /*顶层模块组件*/

  SensorNodeSHT_M.Boot-》MainC.Boot;

  SensorNodeSTH_M.Timer-》TimerC;

  SensorNodeSTH_M.RFControl-》SensorNet_C;

  SensorNodeSTH_M.AMPacket-》SensorNet_C;

  ……

  SensorNodeSTH_M.Send-》SensorNet_C;

  SensorNodeSTH_M.SHT-》SHT10_C; /*实现接口STH的连接*/

  }

  在配件SensorNet_C中,通过连接配件CC2430ActiveMessageC使用模块组件CC2430ActiveMessageP中提供的射频功能。CC2430ActiveMessageP是射频堆栈中的顶层组件,提供单跳通信实现方法。通过连接配件McuSleepC使用模块组件 McuSleepP中的MCU电源管理功能,实现MCU睡眠、定时和启动等功能,以降低节点功耗。需要在使用McuSleepP组件的上层组件 SensorNet_M中实现事件McuSleepControl.beforeSleep()和 McuSleepControl.afterWakeup(),以保护和恢复睡眠前后的状态。

  温湿度传感器SHT10具有两线制串行接口,输出已校准数字信号。这里定义SHT10的接口SHT如下,需要在模块组件SHT10_M中实现接口所定义的命令。

  interface SHT{

  command error_t read(); /*在传感器模块组件STH10_M中实现*/

  event void readDone(error_t result,uint16_t temperature,uint16_t humidity); /*在顶层模块组件SensorNodeSHT_M中实现*/

  }

  中心节点实现射频数据接收,然后通过串口将数据送给PC机。其顶层配置文件如下:

  configuration CenterNode_C{

  }

  implementation{

  components CenterNode_M; /*顶层模块组件*/

  components MainC;

  components CC2430ActiveMessageC as ActiveMessageC;

  components ABSC; /*串口通信控制组件*/

  CenterNode_M.Boot-》MainC.Boot;

  CenterNode_M.RFControl-》ActiveMessageC;

  CenterNode_M.AMPacket-》ActiveMessageC;

  CenterNode_M.Packet-》ActiveMessageC;

  CenterNode_M.Receive-》ActiveMessageC.Receive;

  CenterNode_M.ABS-》ABSC;

  }

  2 传感器节点功耗计算

  对人体生理参数进行采集,尤其在室外应用中,低功耗对于电池供电的传感器节点来说非常重要。以下应用参考文献[6]中的方法对本设计中的传感器节点的功耗进行计算。采用3.3 V直流电源供电,将一个1%精度的10 Ω电阻与CC2430EM串联,通过测量电阻两端的电压降来计算一个采样周期中各个时间段的电流。设采样周期T=10 s,CC2430射频输出功率设置为100%,图3为使用示波器TPS2024在传感器节点发送数据时获取的电阻两端电压变化波形图,水平方向2.50 ms/div,垂直方向100 mV/div。表1为活动期间的电流消耗。

  

 

  一个采样周期T内低功耗模式时间(A段、G段,CC2430在PM2模式下):

  TPM2=T-Ton=10000 ms-20.45 ms=10 451.65 ms

  低功耗模式下(CC2430在PM2模式下)电流消耗:

  0.000 5 mA×10 451.65 ms=5.225 8 mA·ms

  一个采样周期T内总电流消耗:

  472.1 mA·ms+5.225 8 mA·ms)/(3 600 000 ms/h)=1.326×10-4 mAh/10 s

  每小时消耗电流:1.326×10-4×360=0.047 74 mA

  假设使用60 mAh的纽扣电池,则可以使用时间为:60 mAh/0.047 74 mA=1 256 h≈52 天

  结语

  本文采用nesC语言设计了基于TinyOS的中心节点和传感器节点程序,实现了使用CSMA/CA协议的星型无线传感器网络,并以温湿度为例,设计了采用温湿度数字传感器SHT10的传感器节点。当采样周期为10 s、使用60 mAh电池供电时,传感器节点可持续工作52天。本设计能够满足无线、便携、低功耗地采集人体生理参数的需要。使用模块化编程语言nesC,提高了开发效率,便于扩展。本文介绍的研究和设计方法可在相关应用中使用。

传感器相关文章:传感器工作原理


风速传感器相关文章:风速传感器原理
电流变送器相关文章:电流变送器原理
晶振相关文章:晶振原理
土壤湿度传感器相关文章:土壤湿度传感器原理
燃气报警器相关文章:燃气报警器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭