基于GSM模塊TC35T的無線遠(yuǎn)程監(jiān)控 (圖)
關(guān)鍵詞:tc35t模塊;pdu;at指令
---gsm系統(tǒng)是目前基于時分多址技術(shù)的移動通信體制中比較成熟、完善、應(yīng)用最廣泛的一種系統(tǒng),gsm的短信息系統(tǒng)以其快捷方便而且廉價(jià)的特點(diǎn)擁有廣泛的用戶,同時也為遠(yuǎn)程監(jiān)控提供了一種新的技術(shù)手段。利用gsm短信息(sms)進(jìn)行遠(yuǎn)程監(jiān)控具有投資少、成本低、可靠性高等特點(diǎn),在一些對操作和監(jiān)控的實(shí)時性要求不高的情況下具有很高的性價(jià)比。
無線gsm通信模塊tc35t
---tc35t是siemens公司推出的gsm專用調(diào)制解調(diào)器,主要由gsm基帶處理器、gsm射頻模塊、供電模塊、閃存、zif連接器、天線接口六部分組成,可完成語音、數(shù)據(jù)、短消息以及傳真的傳送。tc35t具有標(biāo)準(zhǔn)的工業(yè)接口和完整的sim卡閱讀器,因此使用非常簡單,其結(jié)構(gòu)如圖1所示。
gsm遠(yuǎn)程監(jiān)控原理和實(shí)現(xiàn)
---gsm遠(yuǎn)程監(jiān)控系統(tǒng)由控制端和受控端兩部分組成,如圖2所示,控制端可以是手機(jī),也可以用tc35t模塊和pc組成。在本設(shè)計(jì)中,受控端由單片機(jī)、gsm模塊、檢測部分、控制部分組成。其中pc用于監(jiān)視與控制,主控程序通過gsm模塊tc35t對受控設(shè)備發(fā)出短信息。受控端的gsm模塊tc35t接收短信息后,通過串行口r232傳給單片機(jī),單片機(jī)根據(jù)接收到的短信息進(jìn)行處理,從中提取控制命令,再對被控設(shè)備進(jìn)行相應(yīng)的操作控制。受控設(shè)備的狀態(tài)信息也是以短信息的形式通過gsm模塊發(fā)送給短信息服務(wù)中心(smsc),再由短信息服務(wù)中心發(fā)送給pc。pc收到短信息后,根據(jù)短信息的內(nèi)容可發(fā)回短信息進(jìn)行控制。
at指令介紹
---at指令集是由諾基亞、愛立信、摩托羅拉和hp等廠家共同為gsm系統(tǒng)研制的,其中包含了短信息的控制。對sms的控制共有三種實(shí)現(xiàn)途徑:block模式、text模式和pdu模式。text模式比較簡單,很多諾基亞手機(jī)支持該模式,但缺點(diǎn)是不能收發(fā)中文短信。發(fā)送和接收中文或中/英文混合的短信息必須采用pdu模式,短信息正文經(jīng)過十六進(jìn)制編碼后進(jìn)行傳送。在本設(shè)計(jì)要實(shí)現(xiàn)中文短消息的傳送和接收處理,因此采用pdu模式來發(fā)送接收短信息。
---由移動終端發(fā)起時(即發(fā)送)的pdu格式為:
---以移動終端為目的時的pdu格式為:
---其中,smsc為短信息業(yè)務(wù)中心地址,da/oa為源/目的地址,pid為協(xié)議識別,dcs為數(shù)據(jù)編碼,udl為用戶數(shù)據(jù)長度,ud為用戶數(shù)據(jù),vp為有效時間,mr指明是發(fā)出信息,scts指明短信息到達(dá)業(yè)務(wù)中心的時間。
軟件編程
---軟件編程分為控制端(pc和tc35t)編程和受控端(單片atmega128和tc35t)編程。pc機(jī)端的軟件采用vc編程,主要包括控制界面、接收/發(fā)送短信息、數(shù)據(jù)處理。pc以十六進(jìn)制發(fā)送數(shù)據(jù),tc35t再以短信息的格式通過smsc短信息中心發(fā)給受控端的tc35t。控制端的tc35t接收短信息后,pc只要發(fā)送一條at+cmgl=0 0d 0a查詢命令即可,0d與0a分別是回車、換行。
---受控端采用實(shí)時嵌入式操作系統(tǒng) μc/os-ii,軟件分為與操作系統(tǒng)和處理器相關(guān)的代碼移植部分和應(yīng)用程序軟件。受控端硬件和軟件的結(jié)構(gòu)如圖3所示。
---在atmega128和c編譯器iccavr滿足了μc/os-ii要求的前提下,移植的工作主要包括以下內(nèi)容:用#define設(shè)置一個常量的值(os_cpu.h);聲明10個數(shù)據(jù)類型(os_cpu.h);用#define聲明三個宏(os_cpu.h);用c語言編寫六個簡單的函數(shù)(os_cpu_c.c);編寫四個匯編語言函數(shù)(os_cpuc_a.asm)。
---μc/os-ii總是運(yùn)行就緒條件下優(yōu)先級最高的任務(wù),最多可以管理64個任務(wù),其中保留了8個給系統(tǒng)。系統(tǒng)的工作過程就是在內(nèi)核的管理下,根據(jù)就緒態(tài)任務(wù)的優(yōu)先級來運(yùn)行程序,始終在執(zhí)行最重要的任務(wù)。在設(shè)計(jì)中要將系統(tǒng)功能分割成幾個部分,按照各部分完成任務(wù)的重要性來確定任務(wù)的優(yōu)先級。
---本系統(tǒng)按照其所能實(shí)現(xiàn)的功能可以分為七個任務(wù),其優(yōu)先級從高到低依次為建立任務(wù)的任務(wù)、初始化任務(wù)、監(jiān)控任務(wù)、異常情況處理任務(wù)、短消息接收任務(wù)、短消息處理任務(wù)、短消息發(fā)送任務(wù),再加上兩個系統(tǒng)本身所固有的空閑任務(wù)、統(tǒng)計(jì)任務(wù)(空閑任務(wù)的優(yōu)先級最低,其次為統(tǒng)計(jì)任務(wù)),系統(tǒng)的任務(wù)總數(shù)為九個。
---主程序的任務(wù)主要是初始化操作系統(tǒng)和建立一個建立任務(wù)的任務(wù),啟動多任務(wù),下面是應(yīng)用程序主程序的代碼。
void main(void)
{
osinit();
ostaskcreateext( taskstart,
(void*)0,
&taskstartstk[task_stk_size-1],
task_start_prio,
task_start_id,
&taskstartstk[0],
task_stk_size,
(void *)0,
os_task_opt_stk_chr|os_ task_opt_stk_clr);
osstart();
}
---本系統(tǒng)采用gsm模塊tc35t實(shí)現(xiàn)遠(yuǎn)程監(jiān)控,具有實(shí)現(xiàn)簡單、成本低、通信范圍廣和傳輸可靠等優(yōu)點(diǎn),具有廣泛的應(yīng)用前景。
參考文獻(xiàn)
1 tc35 cellular engine hardware interface description.siemens corporation
2 at-commands for gsm-engine tc35.siemens corporations
3 jean j.labrosse著,uc/os -ⅱ the real-time kernel.2001
4 王澤芳,林志峰.用siemens tc35t模塊組成汽車防盜系統(tǒng).廣東工業(yè)大學(xué)學(xué)報(bào). 2003.4
評論