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