環(huán)境監(jiān)測系統(tǒng)采集終端軟件運行總體流程如圖所示。系統(tǒng)初始化完成包括液晶、ADC、串口2、T1的初始化、PWM波形的輸出以及將SIM900A配置為TCP數據傳輸方式;串口2采用獨立波特率發(fā)生器,波特率9600b/s;PWM周期為10ms,占空比約為3.2%,計數脈沖源為T0的溢出脈沖;T1定時10s,即每隔10s采集一次數據并以TCP方式發(fā)送至監(jiān)測中心計算機;通過單片機串口2發(fā)送AT指令控制SIM900A模塊,SIM900A的TCP配置程序采用多分支選擇結構。
環(huán)境監(jiān)測系統(tǒng)的溫濕度采集嚴格遵照時序操作,單片機發(fā)送開始信號,先拉低數據線,持續(xù)時間應大于18ms,再將數據線設置為輸入且拉高,等待dht11的響應信號。dht11發(fā)出80μs的低電平響應信號后,會將數據線拉高80μs,表示將開始數據傳送,即連續(xù)發(fā)送40位數據,前32位為有效數據,分別為8位濕度整數、8位濕度小數、8位溫度整數和8位溫度小數,最后8位為校驗和,數據位0或1都是以50μs低電平開始,根據后續(xù)高電平的持續(xù)時間加以區(qū)分,26~28μs為數據位0,70μs為數據位1。
環(huán)境監(jiān)測系統(tǒng)灰塵濃度的采樣過程如下:單片機不斷地產生PWM脈沖,大約1s后GP2Y1010AU0F工作達到穩(wěn)定狀態(tài)。單片機在監(jiān)測到PWM信號的上升沿后,延時280μs,再啟動AD轉換,連續(xù)4次AD采樣,求得輸出電壓的平均值。根據輸出電壓(VO)與灰塵濃度(DustDensity)的函數關系式DustDensity=0.17×V0-0.1,可計算出對應的灰塵濃度值。
環(huán)境監(jiān)測系統(tǒng)SIM900A的TCP數據傳輸方式主要用到的AT指令及功能描述見下表。