當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]隨著社會經(jīng)濟的發(fā)展,家庭火災(zāi)在火災(zāi)中的比例明顯增大,火災(zāi)損失越來越大,家庭火災(zāi)造成的人員傷亡已成為各國政府非常重視的工作之一。公安部最近也向全國各消防部隊下發(fā)了關(guān)于推廣家庭固定滅火系統(tǒng)的通知。為此,筆

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

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

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

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

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

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

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

◇物業(yè)管理可通過計算機,同時引爆255個點的家用滅火系統(tǒng);

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

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

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

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



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

2.1短消息模塊的初始化

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



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

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

int read_comm(char*buff,int len);

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

int write_comm(char*buff,int len);

上述兩個函數(shù)如果執(zhí)行成功返回0,否則返回-1。之后便可設(shè)置串口數(shù)據(jù)位databits、停止位stopbits和效驗位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ǎ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é)束后,則可進入待機狀態(tài),這時,微處理器便可以通過串口向modem發(fā)出指令,并接收modem執(zhí)行指令返回的結(jié)果。

2.2  短消息的發(fā)送

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

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

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

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

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



下面詳細說明一下短消息發(fā)送流程。當(dāng)運動檢測程序檢測到有運動目標(biāo)出現(xiàn)后,系統(tǒng)便會調(diào)用短消息發(fā)送模塊。這時,程序先獲取要發(fā)送的短消息內(nèi)容和要發(fā)送到的手機號碼,然后設(shè)置短消息模式為PDU模式,如果是英文短信則用英文的7-bit編碼方式,如果是中文或者是中、英混合短信,則用中文的UCS2編碼。然后將短消息發(fā)送出去。其發(fā)送流程代碼如下:

∥dst_mb表示短消息要發(fā)送到的目標(biāo)手機號碼
∥sms_content是短信的內(nèi)容
∥如果發(fā)送成功則返回0,否則返回-1。
sendsms (char*dst_mb,char*sms_content);
write_comm(“AT+CMGF=0 ”,10);∥設(shè)置短消息為PDU模式
strcpy(sms->SCA,smsc);∥將短消息中心地址放到結(jié)構(gòu)體sms中
strcpy(sms->TPA,dst_mb);∥設(shè)置目標(biāo)號碼
sms->TP_PID=0;∥GSM類型設(shè)置為點到點方式
sms->TP_DCS=0;    ∥7-bit編碼
strcpy(sms->TP_UD,sms_content);
encode_pdu(src,pdu);∥將源src編碼為pdu
/*將字節(jié)轉(zhuǎn)換為字符串,如(0xC8,0x32,0x9B,0xFD,0x0E,0x01)"轉(zhuǎn)換成"C8329BFDOE01*/bytestostr (src,dst,len);
/*正常順序的字符串轉(zhuǎn)換為量量顛倒的字符串,如果長度為奇數(shù),補’F’湊成偶數(shù),如:“8613851872468”-->“683158812764F8”*/invert(src,dst,len);
encode7bit(src,dst,len);/*pdu模式的7-bit編碼
encode8bit(src,dst,len);/*pdu模式的8-bit編碼*/
encodeUCS2(src,dst,len);/*pdu模式的UCS2編碼*/

這里值得一提的是中文短消息的編碼和解碼。GSM短消息中使用的是UTF-8編碼,而實際的計算機上使用的是GB-2312碼,因而存在一個轉(zhuǎn)換問題。而由于UTF-8和GB-2312編碼之間不存在一一對應(yīng)的線性關(guān)系,因此,只能采用查表的方式進行轉(zhuǎn)換。   

事實上,以上的中文發(fā)送程序也能發(fā)送英文或者中英文混發(fā)。只是這樣發(fā)送英文時,英文字符象中文字符一樣要用兩個字符表示,所以,它和發(fā)送中文一樣,只能發(fā)送70個字符。

2.3  短消息的接收

通過短信接收進程可定時查詢SIM卡,如果有新的短信,則將新的短信讀入、解碼,然后刪除,這樣可以防止由于SIM卡中的短消息滿,而接收不到新的短消息。短信的接收是短信的發(fā)送的逆過程,其數(shù)據(jù)格式和發(fā)送短消息時相同。

接收短信時,系統(tǒng)首先判斷是否要接收短消息。當(dāng)?shù)弥枰邮斩滔⒑?,可用AT+CNMI=?來判斷是否有新的短消息,如果有,則用AT+CMGL=1來讀取短消息,并對讀取的每條短消息進行解碼。當(dāng)讀取一條短信后,即可用AT+CMGD=index,來直接刪除,然后再讀取下一條短消息。直到不再需要讀取短消息。其代碼為:

receivesms(SMS*temp);∥讀取短信到緩存中

下面是這個函數(shù)里面的部分內(nèi)容:



3  結(jié)束語

在實際設(shè)計中,可以將本系統(tǒng)設(shè)計成組合分離式,以使用戶和廠商可以選擇是否需要短信芯片。短信芯片只需要脈沖啟動信號線和電源線。即可在制定家庭固定滅火系統(tǒng)標(biāo)準(zhǔn)時設(shè)計定義預(yù)留好的短信通知模塊接口標(biāo)注,從而實現(xiàn)火災(zāi)短信報警功能。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉