基于GSM模塊TC35T的無(wú)線遠(yuǎn)程監(jiān)控
掃描二維碼
隨時(shí)隨地手機(jī)看文章
GSM系統(tǒng)是目前基于時(shí)分多址技術(shù)的移動(dòng)通信體制中比較成熟、完善、應(yīng)用最廣泛的一種系統(tǒng),GSM的短信息系統(tǒng)以其快捷方便而且廉價(jià)的特點(diǎn)擁有廣泛的用戶(hù),同時(shí)也為遠(yuǎn)程監(jiān)控提供了一種新的技術(shù)手段。利用GSM短信息(SMS)進(jìn)行遠(yuǎn)程監(jiān)控具有投資少、成本低、可靠性高等特點(diǎn),在一些對(duì)操作和監(jiān)控的實(shí)時(shí)性要求不高的情況下具有很高的性?xún)r(jià)比。
無(wú)線GSM通信模塊TC35T
TC35T是SIEMENS公司推出的GSM專(zhuān)用調(diào)制解調(diào)器,主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線接口六部分組成,可完成語(yǔ)音、數(shù)據(jù)、短消息以及傳真的傳送。TC35T具有標(biāo)準(zhǔn)的工業(yè)接口和完整的SIM卡閱讀器,因此使用非常簡(jiǎn)單,其結(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模塊、檢測(cè)部分、控制部分組成。其中PC用于監(jiān)視與控制,主控程序通過(guò)GSM模塊TC35T對(duì)受控設(shè)備發(fā)出短信息。受控端的GSM模塊TC35T接收短信息后,通過(guò)串行口R232傳給單片機(jī),單片機(jī)根據(jù)接收到的短信息進(jìn)行處理,從中提取控制命令,再對(duì)被控設(shè)備進(jìn)行相應(yīng)的操作控制。受控設(shè)備的狀態(tài)信息也是以短信息的形式通過(guò)GSM模塊發(fā)送給短信息服務(wù)中心(SMSC),再由短信息服務(wù)中心發(fā)送給PC。PC收到短信息后,根據(jù)短信息的內(nèi)容可發(fā)回短信息進(jìn)行控制。
AT指令介紹
AT指令集是由諾基亞、愛(ài)立信、摩托羅拉和HP等廠家共同為GSM系統(tǒng)研制的,其中包含了短信息的控制。對(duì)SMS的控制共有三種實(shí)現(xiàn)途徑:Block模式、Text模式和PDU模式。Text模式比較簡(jiǎn)單,很多諾基亞手機(jī)支持該模式,但缺點(diǎn)是不能收發(fā)中文短信。發(fā)送和接收中文或中/英文混合的短信息必須采用PDU模式,短信息正文經(jīng)過(guò)十六進(jìn)制編碼后進(jìn)行傳送。在本設(shè)計(jì)要實(shí)現(xiàn)中文短消息的傳送和接收處理,因此采用PDU模式來(lái)發(fā)送接收短信息。
由移動(dòng)終端發(fā)起時(shí)(即發(fā)送)的PDU格式為:
以移動(dòng)終端為目的時(shí)的PDU格式為:
其中,SMSC為短信息業(yè)務(wù)中心地址,DA/OA為源/目的地址,PID為協(xié)議識(shí)別,DCS為數(shù)據(jù)編碼,UDL為用戶(hù)數(shù)據(jù)長(zhǎng)度,UD為用戶(hù)數(shù)據(jù),VP為有效時(shí)間,MR指明是發(fā)出信息,SCTS指明短信息到達(dá)業(yè)務(wù)中心的時(shí)間。
軟件編程
軟件編程分為控制端(PC和TC35T)編程和受控端(單片ATMEGA128和TC35T)編程。PC機(jī)端的軟件采用VC編程,主要包括控制界面、接收/發(fā)送短信息、數(shù)據(jù)處理。PC以十六進(jìn)制發(fā)送數(shù)據(jù),TC35T再以短信息的格式通過(guò)SMSC短信息中心發(fā)給受控端的TC35T。控制端的TC35T接收短信息后,PC只要發(fā)送一條AT+CMGL=0 0D 0A查詢(xún)命令即可,0D與0A分別是回車(chē)、換行。
受控端采用實(shí)時(shí)嵌入式操作系統(tǒng) μC/OS-II,軟件分為與操作系統(tǒng)和處理器相關(guān)的代碼移植部分和應(yīng)用程序軟件。受控端硬件和軟件的結(jié)構(gòu)如圖3所示。
在ATMEGA128和C編譯器ICCAVR滿(mǎn)足了μC/OS-II要求的前提下,移植的工作主要包括以下內(nèi)容:用#define設(shè)置一個(gè)常量的值(OS_CPU.H);聲明10個(gè)數(shù)據(jù)類(lèi)型(OS_CPU.H);用#define聲明三個(gè)宏(OS_CPU.H);用C語(yǔ)言編寫(xiě)六個(gè)簡(jiǎn)單的函數(shù)(OS_CPU_C.C);編寫(xiě)四個(gè)匯編語(yǔ)言函數(shù)(OS_CPUC_A.ASM)。
μC/OS-II總是運(yùn)行就緒條件下優(yōu)先級(jí)最高的任務(wù),最多可以管理64個(gè)任務(wù),其中保留了8個(gè)給系統(tǒng)。系統(tǒng)的工作過(guò)程就是在內(nèi)核的管理下,根據(jù)就緒態(tài)任務(wù)的優(yōu)先級(jí)來(lái)運(yùn)行程序,始終在執(zhí)行最重要的任務(wù)。在設(shè)計(jì)中要將系統(tǒng)功能分割成幾個(gè)部分,按照各部分完成任務(wù)的重要性來(lái)確定任務(wù)的優(yōu)先級(jí)。
本系統(tǒng)按照其所能實(shí)現(xiàn)的功能可以分為七個(gè)任務(wù),其優(yōu)先級(jí)從高到低依次為建立任務(wù)的任務(wù)、初始化任務(wù)、監(jiān)控任務(wù)、異常情況處理任務(wù)、短消息接收任務(wù)、短消息處理任務(wù)、短消息發(fā)送任務(wù),再加上兩個(gè)系統(tǒng)本身所固有的空閑任務(wù)、統(tǒng)計(jì)任務(wù)(空閑任務(wù)的優(yōu)先級(jí)最低,其次為統(tǒng)計(jì)任務(wù)),系統(tǒng)的任務(wù)總數(shù)為九個(gè)。
主程序的任務(wù)主要是初始化操作系統(tǒng)和建立一個(gè)建立任務(wù)的任務(wù),啟動(dòng)多任務(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)簡(jiǎn)單、成本低、通信范圍廣和傳輸可靠等優(yōu)點(diǎn),具有廣泛的應(yīng)用前景。