新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 家庭固定滅火系統中短消息報警模塊設計

        家庭固定滅火系統中短消息報警模塊設計

        作者: 時間:2011-12-26 來源:網絡 收藏

        隨著社會經濟的發展,庭火災在火災中的比例明顯增大,火災損失越來越大,庭火災造成的人員傷亡已成為各國政府非常重視的工作之一。公安部最近也向全國各消防部隊下發了關于推廣庭固定的通知。為此,筆者通過大量的調研發現,家庭固定在功能上需增加短信芯片。

        目前,短信芯片技術已經相對成熟,而且價格低廉,對固定的成本增加幅度不大。此外,短信芯片體積較小,不會加大固定滅火系統的體積和重量,同時在實際設計中,也可把系統設計成組合分離式,讓用戶和廠商可以選擇是否需要短信芯片。由于短信芯片只需要脈沖啟動信號線和電源線,故在制定家庭固定滅火系統標準的時候,可以設計定義預留好短信通知模塊的接口標注。

        由于家庭滅火系統既能滿足安全需要,也能滿足家庭隱私需要,它可給使用家庭帶來很大的方便,而且該技術成功后,其它適合短信通知的報警系統也可以使用,因此,市場應用較廣。

        1 系統設計

        1.1系統設計目標

        本系統設計的總體目標是在火災發生后能及時通知業主和物業,另外,物業也可以根據戶主授權,來通過系統引爆其它滅火設備。本系統的主要性能指標如下:

        ◇可在火災發生后4秒內通知業主和物業;

        ◇物業管理可通過計算機,同時引爆255個點的家用滅火系統;

        ◇可提供家用滅火系統級聯網絡功能,其最大網絡具有255個節點。

        1.2短消息模塊的設計

        GSM規范對通過該接口進行短消息的傳輸功能定義了三種控制協議,即文本模式、塊模式和PDU模式。其中塊模式現在已基本不用;文本模式適合西文的傳輸;而如果短消息中既有西文也有中文,則適合用PDU模式。由于PDU模式是各大手機生產商都實現了的短消息方式,十分具有通用性,所以,本設計實現的短信發送和接收都使用通用的PDU模式來完成。在發送短信時,其主要工作是把報警內容組裝成短消息的格式,即短消息編碼:而在接收短消息時,其主要工作是把短消息字符串還原成文本格式。

        短消息模塊的硬件組成可由家用滅火系統報警接口、RS232串口線、SIM100-E GSM/GPRS和SIM卡組成。其系統終端組成框圖如圖1所示。程序利用串口通信控件并通過串口與SIM100-E終端通信,最終經終端將短消息發送出去。SIM100-E GSM模塊與處理器之間的通信協議為AT指令,處理器則通過寫RS232串口來發送AT指令給SIM100-E,再由SIM100-E將響應傳回到串口,最后由處理器通過讀取串口數據來完成短消息的收發功能。



        2系統軟件設計

        2.1短消息模塊的初始化

        在使用短消息的收發功能之前,必須先對短消息模塊進行初始化,以完成串口通信設置、GSM信號的檢測、短信中心號碼設置等。首先應將端口參數設置為:速率為9600、無奇偶校驗位、數據位為8位、1位停止位、無流量控制。這樣。在檢測信號時,就可以通過向串口發送AT指令來進行測試。如果收到“OK”,則表明開發板和SIM100-E模塊連接良好(即有信號)。其短消息模塊的初始化流程如圖2所示。



        本系統的短消息模塊可通過串口來進行讀寫操作,這樣就一定要用到讀寫串口命令,下面是讀寫串口的兩個函數。

        其中讀串口可將buff中長度為len的內容寫到串口中,代碼如下:

        int read_comm(char*buff,int len);

        而寫串口則可從串口中取得長度為len的內容,并將其放到緩沖區buff中,其代碼如下:

        int write_comm(char*buff,int len);

        上述兩個函數如果執行成功返回0,否則返回-1。之后便可設置串口數據位databits、停止位stopbits和效驗位parity。本系統設置databits為8位,stopbits為1位,parity位N。其代碼如下:

        int set_Parity(int fd,int databits,int stopbits,int parity)
        write_comm(“AT ”,3) ∥判斷和無線網卡是否連接上了
        read_comm(ans,128);
        write_comm(“AT+CMGF=? ”,10);∥判斷是否為PDU模式
        read_comm (an8,128);

        如果不是PDU模式,則應將其設置為PDU模式,其設置代碼如下:

        write_comm(“AT+CMGF=0\r”,10);∥設置短消息為PDU模式

        模塊初始化結束后,則可進入待機狀態,這時,微處理器便可以通過串口向modem發出指令,并接收modem執行指令返回的結果。

        2.2 短消息的發送

        短消息的發送是在后臺進行的。當發送短消息的條件滿足時,系統將調用短信發送進程,并把對應數據緩沖區的報警數據打包成PDU格式的短信發送出去。短消息數據格式如下:

        typedef struct{
        char SCA[16];∥短消息服務中心號碼(SMSC地址)
        charTPA[16];∥目標號碼或回復號碼(TP-DA或TP-RA)
        char TP_PID;∥用戶信息協議標識(TP-PID)
        char TP_DCS;∥用戶信息編碼方式(TP-DCS)
        char TP_SCTS[16];∥服務時間戳字符串(TP_SCTS),接收時用到
        charTP_UD[161]; ∥原始用戶信息(編碼前或解碼后的TP-UD)
        char index;∥短消息序號,在讀取時用到
        }SMS;

        上述程序所實現的函數是sendsms(dst_mb,sins_content),dst_mb表示短消息要發送到的目標手機號碼,sms_content是短信的內容,如果發送成功,則返回0,否則返回-1。

        操作時,先向串口發送AT+CMGS=
        ,等待無線modem返回ASCII字符“>”,如果返回“>”,則可輸入PDU數據,并以+作為結束符,表明短消息發送成功,此后模塊返回OK。

        發送短信模塊的主要工作是對要發送的短消息的數據格式進行組裝并對短信內容進行編碼。如要發送到手機號碼是13856965015,短信中心號碼是8613800551500,短信內容是“Hello!”,則其數據格式編碼如表1所列。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南充市| 分宜县| 临邑县| 楚雄市| 修武县| 恭城| 荣昌县| 河北省| 嘉祥县| 渭南市| 台北县| 恭城| 任丘市| 太保市| 玛纳斯县| 亳州市| 驻马店市| 旅游| 五寨县| 昂仁县| 株洲县| 临海市| 石家庄市| 曲麻莱县| 屏山县| 灵宝市| 拜泉县| 兴仁县| 新蔡县| 大城县| 布拖县| 闸北区| 开江县| 桦川县| 雅江县| 哈巴河县| 临泉县| 剑阁县| 亚东县| 陵水| 离岛区|