基于STM32的GSM短信報警系統的設計與實現
揚聲器部分主要包括一個繼電器,當單片機相應端口置為高電平時,驅動繼電器,使得揚聲器電路接通,發出聲響以起到報警作用。
3 系統軟件設計
3.1 AT 指令本文引用地址:http://www.104case.com/article/170765.htm
AT指令集是從TEC(Terminal Equipment)或DTE (DataTerminal Equipment)向TA (Terminal Adapter)或DCE (DataCircuit Terminating Equipment發送的通過TATE發送AT命令來控制MS (Mobile Station)的功能與GSM網絡業務進行交互,用戶可以通過AT命令進行呼叫短信電話本數據業務補充業務傳真等方面的控制。下面是一些短消息相關的常用AT指令:
目前,發送短消息常用Text和PDU(Protocol Data Unit,協議數據單元)模式。使用Text模式收發短信代碼簡單,實現起來十分容易,但最大的缺點是不能收發中文短信;而PDU模式不僅支持中文短信,也能發送英文短信。所以此處使用PDU模式來收發短信。PDU模式收發短信可以使用3種編碼:7-bit、8-bit和UCS2編碼。7-bit編碼用于發送普通的ASCII字符,8-bit 編碼通常用于發送數據消息, UCS2 編碼用于發送Unicode字符。該模塊集射頻電路和基帶于一體,提供標準的AT命令接口,為數據、語音、短消息和傳真提供快速、可靠、安全的傳輸。
首先使用命令“AT + CMGF = 0CR>LF>”來選擇PDU模式,比如SMSC(短信中心)號碼是+8613800471500,對方號碼是13656639676,消息內容是:“你好”。則手機發送的PDU串是
08 91 68 31 08 40 17 05 F0 11 000D 91 68 31 49 17 87 90 F6 00 08 00 06 4F60597D0021。
3.2 系統程序主流程圖
系統程序主流程圖如圖7所示,系統先初始化,然后檢測是否設防。因為單片機利用AT指令控制GSM模塊,將數據傳送出去。AT指令按照GSM模塊支持的AT指令格式書寫,通過單片機的串口發送出去。所以此模塊的“設防”,“撤防”則可以通過以下方式:如果模塊被命令“AT+CFUN=0”設置成最小功能模式, 則關閉射頻功能和SIM卡的功能,在這種情況下,串口仍然可以繼續使用,但是和射頻功能及SIM卡功能相關的AT命令不能使用。此時為撤防狀態。當模塊通過“AT+CFUN=0”設置為最小功能,模塊可以通過“AT+CFUN=1”命令返回全功能模式。此時為設防狀態。一旦“設防”之后,系統正常工作。如果單片機通過熱釋電模塊檢測到有人進入,馬上通過串口發送一個高電平到GSM模塊,使模塊發送短信給主人,同時揚聲器發聲報警。
圖7 系統程序主流程圖
4 結束語
該系統有以下特色:由于該系統設置了具有“設防”和“撤防”功能,可以避免誤報;同時系統中揚聲器和軟件配合,能迅速而有效地起到報警作用;另外,借助先進穩定、成熟高效的GSM 移動網絡,使得該報警系統更具智能化和集成化,報警方式更顯直觀性和可靠性;最后可針對家庭的實際需要開發其他功能,如添加攝像頭等,使系統更加完善。
總之,由于系統結構設計合理,STM32 單片機與GSM 模塊技術應用到位,功能電路實現較好,系統性能良好、穩定,較好地達到了家庭防盜要求的各項指標。而且該系統成本低、實用性和可操作性強,有著一定的應用價值,能得到廣泛的應用和發展。
評論