無(wú)線(xiàn)煙火遠程報警系統設計
3 軟件設計
系統軟件的功能是實(shí)時(shí)檢測報警器工作狀態(tài),發(fā)生火災時(shí),控制GSM模塊發(fā)送報警短信息到屋主手機。程序設計可分為三個(gè)部分:?jiǎn)?dòng)部分、監控部分和發(fā)送部分,主程序流程圖如圖3所示。本文引用地址:http://dyxdggzs.com/article/160781.htm
3.1 啟動(dòng)部分
啟動(dòng)部分的程序主要負責初始化單片機,配置A/D模塊和啟動(dòng)GSM模塊。系統上電后,必須對微控制器的定時(shí)器、端口、中斷和串口等進(jìn)行初始化。A/D模塊TLC1549是10位模/數轉換器,輸出為串行方式,以中斷的方式讀取采集到的數據。GSM模塊上電后,要進(jìn)入工作狀態(tài),必須給IGT加一延時(shí)大于100 ms的低脈沖,電平下降持續時(shí)間不可超過(guò)1 ms。啟動(dòng)后,IGT應保持3.3 V高電平,因此,通過(guò)STC89C51單片機的P1.0口輸出所需電平,控制TC35工作。
3.2 監控部分
監控部分的程序主要實(shí)現的功能是通過(guò)A/D采樣,檢測電流傳感器的輸出電壓有沒(méi)有發(fā)生變化,進(jìn)而決定是否觸發(fā)發(fā)送程序。
首先是調用A/D采樣程序,通過(guò)控制A/D芯片TLC1549的CLK,DATA和CS的時(shí)序,讀取10位A/D轉換的數據。通過(guò)試驗發(fā)現,正常情況下,電流傳感器輸出的電壓幾乎為零;而在煙火報警器工作時(shí),輸出電壓為4 V以上。因此在程序中,設置了一個(gè)A/D采樣值的閾值,當A/D采樣值超過(guò)這個(gè)閾值,則判定發(fā)生火災。為了防止出現假報警的情況,程序中設置了一個(gè)計數器,只有當檢查到超過(guò)閾值的次數大于1 0次時(shí),才最終判定發(fā)生了火災。
3.3 短信息發(fā)送部分
監控程序檢測出有火災發(fā)生時(shí),即調用發(fā)送程序發(fā)送短信到目標手機。本系統所用到的短消息規范為GSM07.05,發(fā)送模式有Text模式和PDU模式,Text模式的編碼規范比較簡(jiǎn)單,只能發(fā)送英文,為了發(fā)送中文,這里選擇PDU模式。PDU串是一串ASCII碼,由數字0~9和字母A~F組成,它們是8位字節的十六進(jìn)制數。PDU信息不僅包含需要發(fā)送的消息本身,還包含很多其他的信息。PDU模式信息編碼有一定的規則,需要編碼三個(gè)部分:短信息中心號碼、目標手機號碼和短信息內容,最后要將這三部分進(jìn)行組合,并加入特定的字符串即可。發(fā)送中文短信息使用的AT命令。主要有:AT+CMGF=0,AT+CMGS=短信字節數,和待發(fā)送的PDU編碼。
為了判斷短信是否發(fā)送成功,程序中在短信發(fā)送后,檢測TC35模塊同傳的信息,如果接收到“OK”,則表示短信發(fā)送成功,如果未接收到,則再次發(fā)送短信。同時(shí),為了防止在一次火災中多次發(fā)送短信息的情況,程序中在成功發(fā)送短信息后,將延時(shí)一段時(shí)間再啟動(dòng)監控程序。
4 結語(yǔ)
本報警系統充分利用了51單片機價(jià)格優(yōu)廉、控制性強的特點(diǎn),采用直流電流傳感器檢測煙火報警器的工作狀態(tài),不需改動(dòng)市面上所有普通報警器電路和結構,只需外加GSM模塊即可實(shí)現遠程報警功能。
通過(guò)實(shí)際反復測試,結果表明該系統具有準確可靠、性能良好等優(yōu)點(diǎn),本報警系統適用于家庭或公共場(chǎng)合的火災監測和適時(shí)遠程報警,能在很大程度上減少和避免因無(wú)法及時(shí)了解火災發(fā)生而帶來(lái)的損失,具有較強的應用價(jià)值。
評論