基于TinyOS的人體溫濕度數(shù)據(jù)采集系統(tǒng)設(shè)計
溫濕度傳感器節(jié)點的頂層配置組件程序#e#
本文引用地址:http://m.butianyuan.cn/article/256264.htm溫濕度傳感器節(jié)點的頂層配置組件程序如下:
configuration SensorNodeSHT_C
{
}
implementation {
components MainC; /*TinyOS2主模塊,這里用于關(guān)聯(lián)系統(tǒ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; /*實現(xiàn)接口STH的連接*/
}
在配件SensorNet_C中,通過連接配件CC2430ActiveMessageC使用模塊組件CC2430ActiveMessageP中提供的射頻功能。CC2430ActiveMessageP是射頻堆棧中的頂層組件,提供單跳通信實現(xiàn)方法。通過連接配件McuSleepC使用模塊組件 McuSleepP中的MCU電源管理功能,實現(xiàn)MCU睡眠、定時和啟動等功能,以降低節(jié)點功耗。需要在使用McuSleepP組件的上層組件 SensorNet_M中實現(xiàn)事件McuSleepControl.beforeSleep()和 McuSleepControl.afterWakeup(),以保護和恢復(fù)睡眠前后的狀態(tài)。
溫濕度傳感器SHT10具有兩線制串行接口,輸出已校準(zhǔn)數(shù)字信號。這里定義SHT10的接口SHT如下,需要在模塊組件SHT10_M中實現(xiàn)接口所定義的命令。
interface SHT{
command error_t read(); /*在傳感器模塊組件STH10_M中實現(xiàn)*/
event void readDone(error_t result,uint16_t temperature,uint16_t humidity); /*在頂層模塊組件SensorNodeSHT_M中實現(xiàn)*/
}
中心節(jié)點實現(xiàn)射頻數(shù)據(jù)接收,然后通過串口將數(shù)據(jù)送給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 傳感器節(jié)點功耗計算
對人體生理參數(shù)進行采集,尤其在室外應(yīng)用中,低功耗對于電池供電的傳感器節(jié)點來說非常重要。以下應(yīng)用參考文獻[6]中的方法對本設(shè)計中的傳感器節(jié)點的功耗進行計算。采用3.3 V直流電源供電,將一個1%精度的10 Ω電阻與CC2430EM串聯(lián),通過測量電阻兩端的電壓降來計算一個采樣周期中各個時間段的電流。設(shè)采樣周期T=10 s,CC2430射頻輸出功率設(shè)置為100%,圖3為使用示波器TPS2024在傳感器節(jié)點發(fā)送數(shù)據(jù)時獲取的電阻兩端電壓變化波形圖,水平方向2.50 ms/div,垂直方向100 mV/div。表1為活動期間的電流消耗。
一個采樣周期T內(nèi)低功耗模式時間(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內(nèi)總電流消耗:
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
假設(shè)使用60 mAh的紐扣電池,則可以使用時間為:60 mAh/0.047 74 mA=1 256 h≈52 天
結(jié)語
本文采用nesC語言設(shè)計了基于TinyOS的中心節(jié)點和傳感器節(jié)點程序,實現(xiàn)了使用CSMA/CA協(xié)議的星型無線傳感器網(wǎng)絡(luò),并以溫濕度數(shù)據(jù)采集為例,設(shè)計了采用溫濕度數(shù)字傳感器SHT10的傳感器節(jié)點。當(dāng)采樣周期為10 s、使用60 mAh電池供電時,傳感器節(jié)點可持續(xù)工作52天。本設(shè)計能夠滿足無線、便攜、低功耗地采集人體生理參數(shù)的需要。使用模塊化編程語言nesC,提高了開發(fā)效率,便于擴展。本文介紹的研究和設(shè)計方法可在相關(guān)應(yīng)用中使用。
傳感器相關(guān)文章:傳感器工作原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理 電流變送器相關(guān)文章:電流變送器原理 晶振相關(guān)文章:晶振原理 土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理 燃?xì)鈭缶飨嚓P(guān)文章:燃?xì)鈭缶髟?/a>
評論