新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TinyOS的人體溫濕度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

基于TinyOS的人體溫濕度數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2014-07-30 來(lái)源:網(wǎng)絡(luò) 收藏

  溫濕度節(jié)點(diǎn)的頂層配置組件程序#e#

本文引用地址:http://m.butianyuan.cn/article/256264.htm

  溫濕度節(jié)點(diǎn)的頂層配置組件程序如下:

  

 

  configuration SensorNodeSHT_C

  {

  }

  implementation {

  components MainC; /*TinyOS2主模塊,這里用于關(guān)聯(lián)系統(tǒng)啟動(dòng)*/

  components new TimerMilliC() as TimerC;

  components SensorNet_C; /*射頻模塊、CSMA協(xié)議及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; /*實(shí)現(xiàn)接口STH的連接*/

  }

  在配件SensorNet_C中,通過(guò)連接配件CC2430ActiveMessageC使用模塊組件CC2430ActiveMessageP中提供的射頻功能。CC2430ActiveMessageP是射頻堆棧中的頂層組件,提供單跳通信實(shí)現(xiàn)方法。通過(guò)連接配件McuSleepC使用模塊組件 McuSleepP中的MCU電源管理功能,實(shí)現(xiàn)MCU睡眠、定時(shí)和啟動(dòng)等功能,以降低節(jié)點(diǎn)功耗。需要在使用McuSleepP組件的上層組件 SensorNet_M中實(shí)現(xiàn)事件McuSleepControl.beforeSleep()和 McuSleepControl.afterWakeup(),以保護(hù)和恢復(fù)睡眠前后的狀態(tài)。

  溫濕度傳感器SHT10具有兩線制串行接口,輸出已校準(zhǔn)數(shù)字信號(hào)。這里定義SHT10的接口SHT如下,需要在模塊組件SHT10_M中實(shí)現(xiàn)接口所定義的命令。

  interface SHT{

  command error_t read(); /*在傳感器模塊組件STH10_M中實(shí)現(xiàn)*/

  event void readDone(error_t result,uint16_t temperature,uint16_t humidity); /*在頂層模塊組件SensorNodeSHT_M中實(shí)現(xiàn)*/

  }

  中心節(jié)點(diǎn)實(shí)現(xiàn)射頻數(shù)據(jù)接收,然后通過(guò)串口將數(shù)據(jù)送給PC機(jī)。其頂層配置文件如下:

  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 傳感器節(jié)點(diǎn)功耗計(jì)算

  對(duì)人體生理參數(shù)進(jìn)行采集,尤其在室外應(yīng)用中,低功耗對(duì)于電池供電的傳感器節(jié)點(diǎn)來(lái)說(shuō)非常重要。以下應(yīng)用參考文獻(xiàn)[6]中的方法對(duì)本設(shè)計(jì)中的傳感器節(jié)點(diǎn)的功耗進(jìn)行計(jì)算。采用3.3 V直流電源供電,將一個(gè)1%精度的10 Ω電阻與CC2430EM串聯(lián),通過(guò)測(cè)量電阻兩端的電壓降來(lái)計(jì)算一個(gè)采樣周期中各個(gè)時(shí)間段的電流。設(shè)采樣周期T=10 s,CC2430射頻輸出功率設(shè)置為100%,圖3為使用示波器TPS2024在傳感器節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí)獲取的電阻兩端電壓變化波形圖,水平方向2.50 ms/div,垂直方向100 mV/div。表1為活動(dòng)期間的電流消耗。

  

 

  一個(gè)采樣周期T內(nèi)低功耗模式時(shí)間(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

  一個(gè)采樣周期T內(nèi)總電流消耗:

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

  每小時(shí)消耗電流:1.326×10-4×360=0.047 74 mA

  假設(shè)使用60 mAh的紐扣電池,則可以使用時(shí)間為:60 mAh/0.047 74 mA=1 256 h≈52 天

  結(jié)語(yǔ)

  本文采用nesC語(yǔ)言設(shè)計(jì)了基于TinyOS的中心節(jié)點(diǎn)和傳感器節(jié)點(diǎn)程序,實(shí)現(xiàn)了使用CSMA/CA協(xié)議的星型無(wú)線傳感器網(wǎng)絡(luò),并以溫濕度為例,設(shè)計(jì)了采用溫濕度數(shù)字傳感器SHT10的傳感器節(jié)點(diǎn)。當(dāng)采樣周期為10 s、使用60 mAh電池供電時(shí),傳感器節(jié)點(diǎn)可持續(xù)工作52天。本設(shè)計(jì)能夠滿足無(wú)線、便攜、低功耗地采集人體生理參數(shù)的需要。使用模塊化編程語(yǔ)言nesC,提高了開(kāi)發(fā)效率,便于擴(kuò)展。本文介紹的研究和設(shè)計(jì)方法可在相關(guān)應(yīng)用中使用。

傳感器相關(guān)文章:傳感器工作原理


風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
電流變送器相關(guān)文章:電流變送器原理
晶振相關(guān)文章:晶振原理
土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉