新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 家庭滅火系統(tǒng)中的短消息報(bào)警模塊設(shè)計(jì)

家庭滅火系統(tǒng)中的短消息報(bào)警模塊設(shè)計(jì)

作者: 時(shí)間:2010-03-09 來(lái)源:網(wǎng)絡(luò) 收藏

隨著社會(huì)經(jīng)濟(jì)的發(fā)展,家庭火災(zāi)在火災(zāi)中的比例明顯增大,火災(zāi)損失越來(lái)越大,家庭火災(zāi)造成的人員傷亡已成為各國(guó)政府非常重視的工作之一。公安部最近也向全國(guó)各消防部隊(duì)下發(fā)了關(guān)于推廣家庭固定滅火的通知。為此,筆者通過(guò)大量的調(diào)研發(fā)現(xiàn),家庭固定滅火在功能上需增加短信芯片。

目前,短信芯片技術(shù)已經(jīng)相對(duì)成熟,而且價(jià)格低廉,對(duì)固定滅火的成本增加幅度不大。此外,短信芯片體積較小,不會(huì)加大固定滅火系統(tǒng)的體積和重量,同時(shí)在實(shí)際設(shè)計(jì)中,也可把系統(tǒng)設(shè)計(jì)成組合分離式,讓用戶和廠商可以選擇是否需要短信芯片。由于短信芯片只需要脈沖啟動(dòng)信號(hào)線和電源線,故在制定家庭固定滅火系統(tǒng)標(biāo)準(zhǔn)的時(shí)候,可以設(shè)計(jì)定義預(yù)留好短信通知模塊的接口標(biāo)注。

由于系統(tǒng)既能滿足安全需要,也能滿足家庭隱私需要,它可給使用家庭帶來(lái)很大的方便,而且該技術(shù)成功后,其它適合短信通知的報(bào)警系統(tǒng)也可以使用,因此,市場(chǎng)應(yīng)用較廣。

1 系統(tǒng)設(shè)計(jì)

1.1系統(tǒng)設(shè)計(jì)目標(biāo)

本系統(tǒng)設(shè)計(jì)的總體目標(biāo)是在火災(zāi)發(fā)生后能及時(shí)通知業(yè)主和物業(yè),另外,物業(yè)也可以根據(jù)戶主授權(quán),來(lái)通過(guò)系統(tǒng)引爆其它滅火設(shè)備。本系統(tǒng)的主要性能指標(biāo)如下:

◇可在火災(zāi)發(fā)生后4秒內(nèi)通知業(yè)主和物業(yè);

◇物業(yè)管理可通過(guò)計(jì)算機(jī),同時(shí)引爆255個(gè)點(diǎn)的家用滅火系統(tǒng);

◇可提供家用滅火系統(tǒng)級(jí)聯(lián)網(wǎng)絡(luò)功能,其最大網(wǎng)絡(luò)具有255個(gè)節(jié)點(diǎn)。

1.2短消息模塊的設(shè)計(jì)

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

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



2系統(tǒng)軟件設(shè)計(jì)

2.1短消息模塊的初始化

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



本系統(tǒng)的短消息模塊可通過(guò)串口來(lái)進(jìn)行讀寫操作,這樣就一定要用到讀寫串口命令,下面是讀寫串口的兩個(gè)函數(shù)。

其中讀串口可將buff中長(zhǎng)度為len的內(nèi)容寫到串口中,代碼如下:

int read_comm(char*buff,int len);

而寫串口則可從串口中取得長(zhǎng)度為len的內(nèi)容,并將其放到緩沖區(qū)buff中,其代碼如下:

int write_comm(char*buff,int len);

上述兩個(gè)函數(shù)如果執(zhí)行成功返回0,否則返回-1。之后便可設(shè)置串口數(shù)據(jù)位databits、停止位stopbits和效驗(yàn)位parity。本系統(tǒng)設(shè)置databits為8位,stopbits為1位,parity位N。其代碼如下:

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

如果不是PDU模式,則應(yīng)將其設(shè)置為PDU模式,其設(shè)置代碼如下:

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

模塊初始化結(jié)束后,則可進(jìn)入待機(jī)狀態(tài),這時(shí),微處理器便可以通過(guò)串口向modem發(fā)出指令,并接收modem執(zhí)行指令返回的結(jié)果。

2.2 短消息的發(fā)送

短消息的發(fā)送是在后臺(tái)進(jìn)行的。當(dāng)發(fā)送短消息的條件滿足時(shí),系統(tǒng)將調(diào)用短信發(fā)送進(jìn)程,并把對(duì)應(yīng)數(shù)據(jù)緩沖區(qū)的報(bào)警數(shù)據(jù)打包成PDU格式的短信發(fā)送出去。短消息數(shù)據(jù)格式如下:

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

上述程序所實(shí)現(xiàn)的函數(shù)是sendsms(dst_mb,sins_content),dst_mb表示短消息要發(fā)送到的目標(biāo)手機(jī)號(hào)碼,sms_content是短信的內(nèi)容,如果發(fā)送成功,則返回0,否則返回-1。

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

發(fā)送短信模塊的主要工作是對(duì)要發(fā)送的短消息的數(shù)據(jù)格式進(jìn)行組裝并對(duì)短信內(nèi)容進(jìn)行編碼。如要發(fā)送到手機(jī)號(hào)碼是13856965015,短信中心號(hào)碼是8613800551500,短信內(nèi)容是“Hello!”,則其數(shù)據(jù)格式編碼如表1所列。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉