物聯(lián)網(wǎng)溫濕度無(wú)線監(jiān)測(cè)系統(tǒng)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
溫濕度監(jiān)測(cè)是物聯(lián)網(wǎng)技術(shù)的應(yīng)用之一,遠(yuǎn)程測(cè)量在實(shí)際生產(chǎn)過(guò)程中的應(yīng)用十分廣泛。溫濕度是工農(nóng)業(yè)生產(chǎn)中主要的被控參數(shù),影響著產(chǎn)品的質(zhì)量?;趩纹瑱C(jī)對(duì)采集溫濕度數(shù)字信號(hào)的處理,數(shù)傳模塊(或GSM模塊)進(jìn)行數(shù)據(jù)遠(yuǎn)傳。以單片機(jī)為核心的檢測(cè)系統(tǒng),包括單片機(jī)、數(shù)傳模塊(或GSM模塊)、溫濕度傳感器、顯示、系統(tǒng)軟件等部分。系統(tǒng)的開發(fā),達(dá)到遠(yuǎn)程溫濕度采集和監(jiān)測(cè)。
1系統(tǒng)設(shè)計(jì)思路
本系統(tǒng)由信息采集終端和監(jiān)控終端組成。信息采集終端由溫濕度傳感器、單片機(jī)和GSM模塊組成,監(jiān)控終端由移動(dòng)手機(jī)構(gòu)成。圖1所示是其系統(tǒng)原理圖。系統(tǒng)功能主要包括溫濕度的采集,LCD液晶屏顯示溫濕度參數(shù),LCD顯示特殊短信的內(nèi)容及電話號(hào)碼,向移動(dòng)終端發(fā)送溫濕度數(shù)據(jù)并顯示數(shù)據(jù),接收特殊短信等。系統(tǒng)工作時(shí),先由上位機(jī)給GSM發(fā)送能夠識(shí)別的內(nèi)容代碼,單片機(jī)發(fā)送開始采集溫濕度的指令,溫濕度傳感器將采集到的數(shù)據(jù)傳送到單片機(jī),并在液晶顯示屏上顯示,數(shù)據(jù)同時(shí)傳給與單片機(jī)相連的GSMSIM300模塊。監(jiān)控終端由上位機(jī)手機(jī)移動(dòng)終端組成,手機(jī)接收到由GSM模塊經(jīng)發(fā)短信方式發(fā)來(lái)的數(shù)據(jù),并讀取顯示。本設(shè)計(jì)中的單片機(jī)選用STC12C5A60S2,GSM模塊選用SIM300,溫濕度傳感器選用DHT11。
圖1系統(tǒng)原理圖
2主要硬件電路設(shè)計(jì)
2.1電源設(shè)計(jì)
本系統(tǒng)的電源電路如圖2所示。該電路具備2種供電方式:其中POWER1為外接直流9V供電電源,POWER2為外接5V直流電源,POWER1與POWER2通過(guò)開關(guān)KP進(jìn)行選擇。POWER1為9V的直流電,通過(guò)ACadapter將輸入的100?240V的交流電轉(zhuǎn)為9V直流電輸出。輸出的9V電源不能直接給各芯片進(jìn)行供電,采用三端集成穩(wěn)壓器LM7805將其轉(zhuǎn)為穩(wěn)定的5V電源。二極管用于整流,C1、C2為濾波電容,取100uF。C3主要用于濾除輸出端的高頻信號(hào),改善電路的暫態(tài)響應(yīng),取典型值0.1uF。LED1為電源指示燈,其連接LED1的限流電阻R31取200Q。POWER2是通過(guò)USB接PC機(jī)獲得的電壓,其電壓值為5V,可以直接供電。
圖2電源電路
2.2溫濕度傳感器電路
溫濕度傳感器模塊的功能是在接收到單片機(jī)采集溫濕度的指令后,開始采集當(dāng)前的溫濕度數(shù)據(jù),并將采集到的數(shù)據(jù)返回給單片機(jī)[3]。其溫濕度傳感器電路如圖3所示。
圖3溫濕度傳感器電路
2.3單片機(jī)電路
圖4所示是本系統(tǒng)中的單片機(jī)電路,該電路采用內(nèi)部時(shí)鐘方式。電路中的電容C5、C6起穩(wěn)定振蕩頻率、快速起振的作用,電容取30pF。系統(tǒng)中需要采用串口,選用晶振頻率為11.0592MHz的晶體振蕩器產(chǎn)生時(shí)鐘脈沖。復(fù)位電路是單片機(jī)內(nèi)電路的初始化操作,是單片機(jī)從一種確定的狀態(tài)開始工作。只要給單片機(jī)的RESET引腳加上兩個(gè)機(jī)器周期以上的高電平信號(hào),就可以使單片機(jī)復(fù)位。當(dāng)系統(tǒng)電源開始供電時(shí),復(fù)位電路在上電自動(dòng)復(fù)位狀態(tài)上工作,通過(guò)外部復(fù)位電路的電容充電得以實(shí)現(xiàn),系統(tǒng)死機(jī)時(shí),按鍵復(fù)位。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的主程序流程圖如圖 5 所示。圖 6 所示是系統(tǒng)數(shù)據(jù)采集流程圖。其主程序如下:
圖5系統(tǒng)主程序流程圖
圖6采集程序流程
#include"STC_NEW_8051.H"
#include"uart.h"
#include"misc.h"
#include"key.h"
#include"lcd1602.h"
#include"timer.h"
#include"stdio.h"
#include"string.h"
#include"sms.h"
unsignedcharlcdbuf(16);
unsignedcharlcdbuf2(16);
unsignedchartemp_var=0;//全局臨時(shí)輔助變量,任何函數(shù)(除中斷外)可用
unsignedchardisp_type=0;//該變量的內(nèi)容決定當(dāng)前液晶上顯示的內(nèi)容,由按鍵處理函數(shù)來(lái)改變
//主函數(shù)
voidmain()
{
//初始化外設(shè)
init_1602();//液晶
display_string(0,1,"inituart...");
init_uart();//串口
display_string(0,1,"initkey...");
init_key();//按鍵
display_string(0,1,"startgprs...");
start_gprs();//檢查模塊是否已開機(jī)display_string(0,1,"initgprs...");init_gprs();//初始化模塊,獲取信號(hào)強(qiáng)度、運(yùn)營(yíng)商等信息
display_string(0,1,"inittimer...");init_timer0();//初始化定時(shí)器display_string(0,1,"initdone!");//進(jìn)入主循環(huán),該循環(huán)永不退出while(1)
{
//有按鍵按下if(key_pending){
//processkeysif(key_code==MENU){
disp_type=0;//display
gprsstatus
}
elseif(key_code==UP)
{
disp_type=1;//display
meterinfo
}
〃clearflag
key_pending=0;
}
//串口收到消息,由于本系統(tǒng)中由模塊主動(dòng)發(fā)送的信息一般都忽略,此處一般不做處理
if(rx_data_pending)
{
rx_data_pending=0;temp_var=0;
while(rx_rear<rx_head)
{
rx_rear++;
}
}
//顯示當(dāng)前溫濕度,溫濕度信息已在在采集事件觸發(fā)后填入lcdbuf和lcdbuf2中,此處僅顯示即可
if(timer_int_status&&(disp_type==0))//溫濕度信息讀數(shù)
{
timer_int_status=0;clear_lcd();display_string(0,0,lcdbuf);
display_string(0,1,lcdbuf2);
}
if(timer_int_status&&(disp_type==1))//顯示新短信內(nèi)容和手機(jī)號(hào)碼
{
timer_int_status=0;ifnew_sms==0)
{
clear_lcd();display_string(0,0,"NoMessage");
display_string(0,0,"Available!");
}
elseifnew_sms==l)
{
clear_lcd();
display_string(0,0,short_message);
display_string(0,1,phone_num);
new_sms=2;〃clearflag
}
}
if(timer_int_check)
{
timer_int_check=0;
//檢查有無(wú)新短信get_new_sms();
}
if(timer_int_2s)
{
timer_int_2s=0;
read_dht11();//讀取溫濕度信息//將讀到的溫濕度值轉(zhuǎn)換為字符串存入緩沖區(qū)中用于顯示
sprintf(lcdbuf,"Temp:%d",
(unsignedint)dhtlldata(2));
sprintf(lcdbuf2,"Humi:%d",
(unsignedint)dht11data(0));
}
}
}
4結(jié)語(yǔ)
系統(tǒng)的設(shè)計(jì)是通過(guò)短消息的收發(fā)實(shí)現(xiàn)對(duì)溫濕度進(jìn)行測(cè)量的,并利用GSM網(wǎng)絡(luò)實(shí)時(shí)地給手機(jī)用戶發(fā)送短信,以起到遙控測(cè)量的效果。實(shí)際上,本系統(tǒng)不僅能夠?qū)貪穸冗M(jìn)行自動(dòng)采集,更可以遠(yuǎn)程檢測(cè),甚至是遠(yuǎn)程傳遞,因而有著一定的應(yīng)用和參考價(jià)值。
20211024_617520fd168f0__物聯(lián)網(wǎng)溫濕度無(wú)線監(jiān)測(cè)系統(tǒng)研究