利用GSM模塊收發(fā)短信_第1頁
利用GSM模塊收發(fā)短信_第2頁
利用GSM模塊收發(fā)短信_第3頁
利用GSM模塊收發(fā)短信_第4頁
利用GSM模塊收發(fā)短信_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——利用GSM模塊收發(fā)短信暑期實踐報告

其次章GSM模塊

GSM模塊,是將GSM射頻芯片、基帶處理芯片、存儲器、功放器件等集成在一塊線路板上,具有獨立的操作系統(tǒng)、GSM射頻處理、基帶處理并提供標準接口的功能模塊。本文選用的GSM模塊為西門子TC35I模塊[2]。

TC35I的內(nèi)部由GSM基帶處理器、射頻、Flash、天線接口、匹配電源ASIC和40pin的ZIF插座組成,由若干超大規(guī)模集成電路和射頻器件構(gòu)成,包含信號處理、信道編碼、GSM控制、收發(fā)信單元、射頻控制、數(shù)據(jù)輸入輸出接口等部分??梢钥焖侔踩煽康貙崿F(xiàn)系統(tǒng)方案中的數(shù)據(jù)傳輸、語音傳輸、短信息服務和傳真服務。模塊的工作電壓為3.3V~5.5V,可以工作在900MHZ和1800MHZ兩個頻段,所在頻段功耗分別為2W(900MHZ)和1W(1800MHZ)。模塊有AT命令集接口,支持文本和PDU模式的短信息[3]。此外,該模塊還有電話簿功能、多方通話、漫游檢測等功能。常見工作模式由省電模式、IDLE、TALK等模式。通過40管腳的zif連接器,可分別連接SIM卡支架和天線。

作為TC35I的核心,基帶處理器主要處理GSM終端內(nèi)的語音、數(shù)據(jù)信號,并涵蓋了蜂窩射頻設備中的所有的模擬和數(shù)字功能。在不需要額外硬件電路的前提下,支持FR、HR和EFR和語音編碼[4]。

TC35I模塊自帶串行通信接口,可以便利地與PC機、單片機等進行串行通信,從而實現(xiàn)對TC35I模塊的控制。雖然TC35I模塊的串口提供了大量控制線,但是由于考慮到接口的簡單性,并且與PC機的UART進行連接,所以采用兩線(TXD、RXD)連接。TC35I的其他管腳在不使用的時候,假使該管腳為輸出的話,一般讓該管腳懸空,假使該管腳為輸入管腳,需要將該管腳通過10K的電阻拉高。另由于IGT管腳是控制TC35I模塊工作的管腳,所以需要將管腳上拉,從而可以通過PC機來控制TC35I模塊的工作狀態(tài)。在此次連接是使將TC35I模塊的電源管腳全部連接在一起,由于TC35I是一個功能完全的模塊,因此不需要做任何的信號處理和射頻處理[5]。

TC35I的開發(fā)板上有發(fā)光二極管來指示TC35I的工作狀態(tài),當發(fā)光二極管LED熄滅時,說明TC35I處于關(guān)閉或睡眠狀態(tài);當LED為600ms亮/600ms熄時,說明SIM卡沒有插入或TC35I正在進行網(wǎng)絡登錄;當LED為75ms亮/3s熄時,說明TC35I已登錄進網(wǎng)絡,處于待機狀態(tài)。

第四章PDU數(shù)據(jù)格式及AT命令

1

暑期實踐報告

4.1PDU數(shù)據(jù)格式4.1.1PDU簡介

PDU相當于一個數(shù)據(jù)包,它由構(gòu)成消息(SMS)的信息組成。作為一種數(shù)據(jù)單元,它必需包含源/目的地址、保護(有效)時間、數(shù)據(jù)格式、協(xié)議類型和正文,正文長度可達140字節(jié),它們都以十六進制表示。PDU結(jié)構(gòu)根據(jù)短消息由移動終端發(fā)起或以移動終端為目的而不同。

當由移動終端發(fā)起時,PDU的格式為:SMSPDU類MRDAPIDDCSC型當以移動終端為目的時,PDU的格式為:PDU類SMSCOAPIDDCS型UD(0~140octed)VPUDLSCTSUDLUD(0~140octed)其中,SMSC為短消息業(yè)務中心地址,DA/OA為源/目的地址,PID為協(xié)議識別,DCS為數(shù)據(jù)編碼,UDL為用戶數(shù)據(jù)長度,UD為用戶數(shù)據(jù),VP為有效時間,MR指明是發(fā)出信息,SCTS指明短消息到達業(yè)務中心的時間。

4.1.2發(fā)送短信PDU格式

AT十CMGS(SendSMScommand)發(fā)送短消息指令。

PDU模式中,首先發(fā)送短消息數(shù)據(jù)的長度。AT+CMGS=。等待返回ASCII字符“>〞,則可將PDU數(shù)據(jù)輸入,PDU數(shù)據(jù)以+作為終止符,短消息發(fā)送成功,模塊返回

步驟1.發(fā)送AT連接測試,返回OK。步驟2.設置短信息發(fā)送格式

AT+CMGF=0(選擇短消息信息格式:0-PDU;1-TEXT)

步驟3.發(fā)送PDU短消息數(shù)據(jù)的長度(從11開始,不包括短信中心的號碼)AT+CMGS=25()(十六進制41542B434D47533D32350D),返回>步驟4.輸入PDU數(shù)據(jù)

在>后輸入(十六進制0D0A3E20)

2

暑期實踐報告

0891683108202305F011000D91683103190019F00008A7106C344F4D003D00357C73(ASCII碼)

步驟5.按ctrl+z發(fā)送短消息。

假使短消息發(fā)送成功,則返回“OK〞,并顯示信息號:+CMGS:[,]+CMGS:000假使短消息發(fā)送失敗,則返回如下信息號:+CMSERROR:

HEX發(fā)送PDU數(shù)據(jù)格式為:ASCII轉(zhuǎn)換為HEX,最終輸入1A(1A=)30383931363833313038323030393035463031313030304439313638333130333139303031394630303030384137313036433334344634443030334430303335374337331A(HEX)PDU數(shù)據(jù)格式分析:PDU式支持漢字,漢字的十六進制PDU編碼直接采用漢字4.1.3Unicode編碼的格式

1.SCA:短信息服務中心地址0891683108202305F0

(1)08-短信息服務中心地址長度指(91)+(683108202305F0)8個字節(jié)的長度。

(2)91—短信息中心號碼類型。91是TON/NPI遵守International/E.164標準,指在號碼前需加‘+’號;此外還有其它數(shù)值,但91最常用,91指國際類型,81指國內(nèi)類型。91—10010001

號碼類型

數(shù)值類型(TypeofNumber):000—未知,001—國際,010—國內(nèi),111—留作擴展;號碼鑒別(Numberingplanidentification):0000—未知,0001—ISDN/電話號碼(E.164/E.163),1111—留作擴展;

(3)683108202305F0—短信息中心號碼。對于短消息中心號碼的編碼采用的是半位碼。取十六進制的ASCII碼,8的ASCII碼是38,6的ASCII碼是36,所以數(shù)字編碼只要取相應的二進制的后四位就可以有效的表示一個數(shù)字,也就是十六進制的右邊一位。所有數(shù)字都取二進制的后四位,然后兩兩合并,后面的字符是高四位,前面的字符是低四位。依此原則,短消息中心號碼的前兩位

3

暑期實踐報告

號碼為86,編碼后為68,同樣的13編碼為31,但是最終只剩下一個0,用F補齊,編碼為F0。其中86為中國的國際區(qū)號。注:XX短信中心號碼8613800290500

⑴、⑵、(3)通稱短消息中心地址SCA。

2.FO—文件頭字節(jié),發(fā)短信時設為“11〞。111—設置

用戶數(shù)據(jù)頭標識—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何頭信息;1—含頭信息

狀態(tài)報告要求—TP-SPR(TP-Status-Report-Request):0—需要報告;1—不需要報告

有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Notpresent);10—整型(標準);01—預留;11—提供8位字節(jié)的一半(Semi-OctetRepresented)

拒絕復制—TP-RD(TP-Reject-Duplicates):0—接受復制;1—拒絕復制信息類型提醒—TP-MTI(TP-Message-Type-Indicator):00—讀出(Deliver);01—提交(Submit)

3、MR—信息類型(TP-Message-Reference),一般為00。4、DA—被叫號碼。0D91683103190019F0

0D-被叫號碼長度“8613309100910〞共13位,實際號碼長度91—被叫號碼類型,為國際類型。

4

暑期實踐報告

683103190019F0—被叫號碼,經(jīng)過了位移處理,實際號碼為“8613309100910〞。編碼方式與短消息中心號碼一致。

5、PID—協(xié)議標識TP-PID(TP-Protocol-Identifier),一般為00BITNo.76543210

BitNo.7與BitNo.6:00—如下面定義的分派BitNo.0—BitNo.5;01—參見GSM03.40協(xié)議標識完全定義;10—預留;11—為服務中心(SC)特別用途分派BitNo.0—BitNo.5。一般將這兩位置為00。

BitNo.5:0—不使用遠程網(wǎng)絡,只是短消息設備之間的協(xié)議;1—使用遠程網(wǎng)絡。BitNo.0—BitsNo.4:00000—隱含;00001—電傳;00010—group3telefax;00100—語音;00101—歐洲無線信息系統(tǒng)(ERMES);00110—國內(nèi)系統(tǒng);10001—任何基于X.400的公用信息處理系統(tǒng);10010—Email。6、DCS—數(shù)據(jù)編碼方案TP-DCS(TP-Data-Coding-Scheme)

BitNo.7與BitNo.6:一般設置為00;

BitNo.5:0—文本未壓縮,1—文本用GSM標準壓縮算法壓縮;

BitNo.4:0—表示BitNo.1、BitNo.0為保存位,不含信息類型信息,1—表示BitNo.1、BitNo.0含有信息類型信息;

BitNo.3與BitNo.2:00—默認的字母表,01—8bit,10—USC2(16bit),11—預留;

BitNo.1與BitNo.0:00—Class0,01—Class1,10—Class2(SIM卡特定信息),11—Class3。

⑾00—有效期TP-VP(TP-Valid-Period)08-使用UNICODE編碼類型,00-7位編碼7、VP-相應的有效期value(&h)A7為24小時00to8F(VP+1)*5分鐘

90toA712小時+(VP-143)*30分鐘

5

暑期實踐報告

A8toC4(VP-166)*1天C5toFF(VP-192)*1周

8、UDL-用戶數(shù)據(jù)長度(TP-User-Data-Length)即實際短信息內(nèi)容長度。9、UD—用戶數(shù)據(jù)(TP-User-Data),即短信內(nèi)容。

4.2短信AT命令介紹

所謂AT指令,就是指控制TC35I的命令,它們有固定的格式,選擇相應的AT指令通過TC35I模塊的串行通信口發(fā)送給TC35I模塊,就能控制模塊的工作了,其中常用的指令有設置短消息中心號碼、選擇文本方式、發(fā)送短消息、讀短消息、刪除短消息等操作命令。AT指令就是控制器與TC35I模塊間通信的語言[6]。

譬如要設置短消息中心號碼,則要向TC35I模塊發(fā)送下文引號中的內(nèi)容:“AT+CSCA=+86138004325000〞

假使設置成功,TC35I模塊就會返回下文中引號中的內(nèi)容:“AT+CSCA=+86138004325000OK〞

其中值得注意的地方是,向TC35I模塊發(fā)送一條AT指令時,TC35I模塊在執(zhí)行完指令時不僅返回“OK〞,在“OK〞上還顯示你發(fā)送給模塊的那條指令。

本文涉及的以及常用的AT指令有以下幾個:(1)AT+CMGD=X

刪除SIM卡內(nèi)存的短消息,X為短消息的位置序號,X=1為刪除第一條短消息,以此類推。

(2)AT+CMGL=n

列出SIM卡中的短消息,n=0是未讀短消息,n=1是已讀短消息,n=2是未發(fā)送短消息,n=3是已發(fā)送短消息,n=4是所有短消息。

(3)AT+CMGR=X

讀取第X條短消息,X為短消息的位置序號。(4)AT+CMGS發(fā)送短消息:

AT+CMGSgt;短信內(nèi)容

返回+CMGF:XX(XX代表數(shù)字)表示發(fā)送成功,返回ERROR表示發(fā)送失敗。(5)AT+CMGF=n

6

暑期實踐報告

選擇短消息信息格式,n=0為PDU編碼格式,n=1為Text編碼格式(只支持發(fā)送英文及數(shù)字)。

(6)AT+CSCA短消息中心地址:

AT+CSCA=+8613800432500為設置為吉林地區(qū)短消息中心地址。(7)AT+CNMI顯示新收到的短消息:AT+CNMI=1,1,2收到短消息后自動提醒。

第五章通過串口收發(fā)短消息

5.1用串口收發(fā)過程

當ME收到一條消息時,主動發(fā)出通知給TE,或者直接將消息轉(zhuǎn)發(fā)到TE。與查詢機制相比,它類似于中斷機制。先簡要說明一下短消息類(class)的概念:根據(jù)指定儲存的位置,短消息分為class0–3四個類。也可以不指定類(noclass),由ME按默認設置進行處理,存儲到內(nèi)存或者SIM卡中。在TPDU的TP-DCS字節(jié)中,當bit7-bit4為00x1,01x1,1111時,bit1-bit0指出消息所屬類:00–class0:只顯示,不儲存01–class1:儲存在ME內(nèi)存中02–class2:儲存在SIM卡中03–class3:直接傳輸?shù)絋E

GSMModem一般都支持一條“AT+CNMI〞指令,可用于設定當有某類短消息到達時,如何處置它:只儲存在指定的內(nèi)存(易失的/非易失的)中,先儲存后通知TE,還是直接轉(zhuǎn)發(fā)到TE,等等?!癆T+CNMI〞指令語法為

AT+CNMI=[[,[,[,[,]]]]]mode-通知方式:0–不通知TE。

1–只在數(shù)據(jù)線空閑的狀況下,通知TE;否則不通知TE。

2–通知TE。在數(shù)據(jù)線被占用的狀況下,先緩沖起來,待數(shù)據(jù)線空閑,再行通知。

3–通知TE。在數(shù)據(jù)線被占用的狀況下,通知混合在數(shù)據(jù)中一起傳輸mt-消息儲存或直接轉(zhuǎn)發(fā)到TE:

0–儲存到默認的內(nèi)存位置(包括class3)

1–儲存到默認的內(nèi)存位置,并且向TE發(fā)出通知(包括class3)

2–對于class2,儲存到SIM卡,并且向TE發(fā)出通知;對于其它class,直接將消息轉(zhuǎn)發(fā)到TE

3–對于class3,直接將消息轉(zhuǎn)發(fā)到TE;對于其它class,同mt=1bm,ds,bfr的含義,請參考相關(guān)標準文檔。一般不需要去關(guān)心它們。

7

暑期實踐報告

在程序中具體實現(xiàn)時,使用mode=2,mt=1,比較簡單。對所有類型的短消息,只要在收到ME送來的“+CMTI〞通知后,用“AT+CMGR〞指令讀取消息內(nèi)容就行了。TE與ME之間的通信過程,舉例如下:(初始化)

AT+CNMI=?(查看能支持的設置范圍)

+CNMI:(0-2),(0-3),(0,2,3),(0,1),(0,1)OK

AT+CNMI?(查看當前設置)+CNMI:0,0,0,0,0OK

AT+CNMI=2,1(設置為mode=2,mt=1)OK

AT+CNMI?(再查看當前設置)+CNMI:2,1,0,0,0OK

(過了一段時間,有一條消息到達)

+CMTI“ME〞,8(通知:消息已經(jīng)存儲在ME內(nèi)存中,序號為8)AT+CMGR=8(讀第8條消息)+CMGR:8,27

0891683108202305F0240D91683158812764F80000402052110373800741E19058341E01OK

AT+CMGD=8(刪除第8條消息)OK

還有一種方式mode=2,mt=2也很令人感興趣。在這種方式下,除了class2外,消息不存儲,直接轉(zhuǎn)發(fā)到TE。需要處理消息通知和內(nèi)容兩種狀況,繁雜一些。但假使發(fā)送方也由程序控制,可以只發(fā)noclass或class1的消息,這樣不存儲在接收方ME內(nèi)存(一般是閃存,非易失性的)中,確定能延長它的使用壽命。TE與ME之間的通信過程,舉例如下:

AT+CNMI=2,2(設置為mode=2,mt=2)OK

(過了一段時間,有一條消息到達)+CMT:,26

0891683108202305F0040D91683158812764F8000840205211639180064F60597D0021

5.2調(diào)試及結(jié)果

本文利用串口調(diào)試助手向TC35I模塊發(fā)送AT指令。

首先將GSM模塊開發(fā)板中的串口與計算機串口通過串口線相連,實物圖如圖1所示。開啟串口調(diào)試助手,選擇相應的串口號,由于TC35I模塊上電復位后默認的串行通信波特率為9600,因此要選擇串口調(diào)試助手的波特率為9600。

8

暑期實踐報告

設置完串

口調(diào)試助手后,為TC35I模塊供電,供電后指示燈亮,然后按下復位按鈕,這時串口調(diào)試助手上可以看出TC35I模塊向計算機發(fā)送了若干數(shù)據(jù),說明模塊啟動成功。然后可以看到模塊上的LD2燈一亮一滅,亮和滅的時間間隔一致,都是600ms,說明TC35I模塊正在登入網(wǎng)絡,過一分鐘左右,假使看到LD2長滅短亮,亮75ms滅3s,說明TC35I已經(jīng)成功登入GSM網(wǎng)絡,可以與外界通過通信了。然后就可以通過串口調(diào)試助手發(fā)送AT指令來控制GSM模塊了。首先要做的就是對TC35I模塊進行初始化設置,初始化流程如圖2所示。包括發(fā)送聯(lián)機命令、設置短消息中心號碼、選擇文本模式和設置為收到短消息自動提醒方式等。

9

暑期實踐報告

圖2GSM模塊初始化流程圖

利用串口調(diào)試助手調(diào)試TC35I模塊的具體步驟如下:

(1)將TC35I開發(fā)板的串口與計算機串口通過串口線連接起來,開啟串口調(diào)試助手,選擇相應的串口(本次調(diào)試的串口為COM1)。

(2)發(fā)送聯(lián)機命令:AT

返回OK則連接正確,返回ERROR則連接錯誤。(3)設置短信中心號碼:AT+CSCA=+8613800432500

返回OK則設置成功,返回ERROR則失敗。(4)選擇文本方式:AT+CMGF=1

返回OK,則選擇了Text方式,返回ERROR則失敗。(5)發(fā)送一條短消息AT+CMGS回等待輸入字符>

輸入hello

返回+CMGF:XX(XX代表數(shù)字)表示發(fā)送成功,返回ERROR則發(fā)送失敗。

10

暑期實踐報告

(6)讀短消息AT+CMGR=1則讀取了第1條短消息。

結(jié)論

本文詳細介紹了如何利用GSM模塊——TC35I發(fā)送和接收短消息。首先介紹了TC35I模塊的結(jié)構(gòu),AT指令的格式與使用方法,最終介紹了利用串口調(diào)試助手調(diào)試TC35I模塊的步驟。

GSM模塊消息具有永遠在線、無須撥號、價格低廉、覆蓋范圍廣等特點,在數(shù)據(jù)量不大、實時性要求不高的系統(tǒng)中,通過精心設計遠程監(jiān)控通信單元的硬件和軟件,以GSM短消息為數(shù)據(jù)傳輸手段建立遠程監(jiān)控系統(tǒng),具有極大的組網(wǎng)靈活性。以GSM短消息為手段的遠程監(jiān)控,可廣泛應用于試驗室監(jiān)控、電力系統(tǒng)監(jiān)控、家電監(jiān)視、數(shù)據(jù)采集、遙控遙測、全球定位、交通管制、汽車防盜和跟蹤等領(lǐng)域,并可廣泛應用于安防、門禁、礦山等其它行業(yè)。使用手機模塊利于系統(tǒng)集成,成本較低。在偏遠地區(qū)等架設通信線路

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論