Download presentation
Presentation is loading. Please wait.
1
第12课 GPRS GSM通信
2
GPRS簡介 GPRS是General Packet RadioService的英文簡稱,中文為通用無線分組業務,是一種基於GSM系統的無線分組交換技術,提供端到端的、廣域的無線IP連接。相對原來GSM的撥號方式的電路交換資料傳送方式,GPRS是分組交換技術,具有“即時線上”、“按量計費”、“快捷登錄”、“高速傳輸”、“自如切換”的優點。通俗地講,GPRS是一項高速資料處理的技術,方法是以“分組”的形式傳送資料到用戶手上。雖然GPRS是作為現有GSM網路向第三代移動通信過渡的過渡技術,但是它在許多方面都具有顯著的優勢。
3
GSM工作原理 GPRS有幾種協定模型,Um介面GSM的空中介面。Um介面上的通訊協定有5層,自下而上依次為物理層,MAC(Media Access Control)層,LLC(Logical Link Control)層,SNDC(Subnetwork Dependant Convergence)層和網路層。
4
GPRS网络基于现有GSM网络实现 在現有的GSM網路中需要增加一些節點,如GGSN(Gateway GPRS Supporting Node、GPRS閘道支援節點)和SGSN(Serving GSN、GPRS服務支援節點)。GSN是GPRS網路中最重要的網路節點。GSN具有移動路由管理功能,它可連接各種類型的資料網路,並可連接到GPRS暫存器。GSN可完成移動終端和各種資料網路之間的資料傳送和格式轉換。GSN有兩種類型:SGSN(Serving GSN,服務GSN)和GGSN(Gateway GSN、閘道GSN)。SGSN的主要作用是記錄移動終端的當前位置資訊,並且在移動終端和GGSN之間完成移動分組資料的發送和接收;GGSN主要起閘道作用,它可以與多種不同的資料網路連接,如ISDN,PSPDN和LAN等。
5
GPRS工作時,是透過路由管理來進行定址和建立資料連接的,而GPRS的路由管理表現在以下3個方面:
移動終端發送資料的路由建立。 移動終端接收資料的路由建立。 移動終端處於漫遊時資料路由的建立。
6
對於第一種情況,當移動終端產生一個PDU(分組資料單元)時,這個PDU經過SNDC層處理,稱為SNDC資料單元。然後經過LLC層處理為LLC封包,透過空中介面送到GSM網路中移動終端所處的SGSN。SGSN把數據送到GGSN。GGSN把收到的消息進行解裝處理,轉換為可在公用資料網中傳送的格式(如PSPDN的PDU),最終送給公用資料網的用戶。對於第二種情況下,一個公用資料用戶傳送資料到移動終端時,首先透過資料網的標準協定建立資料網GGSN之間的路由。資料網用戶發出的資料單元(如PSPDN中的PDU),透過建立好的路由把資料單元PDU送給GGSN。而GGSN在把PDU送給移動終端所在的SGSN上,GSN把PDU封裝成SNDC資料單元,在經過LLC層處理LLC封包單元,最終透過空中介面送給移動終端。第三中情況是一個資料網用戶傳送資料給一個正在漫遊的移動用戶。在這種情況下的資料傳送必須經過歸屬地的GGSN,然後送到移動用戶A。
7
AT指令集 AT命令由ASCII字元組成(最高位元為0,不校驗),除了“A/”和“+++”兩條命令之外,所有命令行均以AT開頭,以<Enter>+<換行>結束。一個命令行可以有多條命令,但總字元數不能超過200。例如: ATCMD1+CMD2=3;+CMD3=,,5;<cr><1f> 上述命令行有3條命令:CMD是一條命令;其後是一條含有“+”號的擴展命令CMD2,並且該命令帶有參數,擴展命令依靠“;”定界;最後是一條含有多個參數的擴展命令,如果使用參數的預設值,參數可省略,只寫出參數之間的定界符“,”。
8
AT指令集规则 當一個命令行中有多條命令時,一旦某條命令執行過程中發生異常,將中止執行其後的所有命令。因此,不建議在一個命令行中同時出現多條命令。 AT命令的拼寫對字母大小寫不敏感,但部分字串參數例外。 絕大多數命令被模組執行後,都有返回參數(如OK,ERROR等,表明本次執行成功與否)。 返回參數格式為:<Enter><換行>response<Enter><換行>
9
SMS簡訊發送和接受模式 首先,要對ESTI制訂的SMS規範有所瞭解。與討論的簡訊收發有關的規範主要包括GSM03.39,GSM03.40和GSM07.05。前兩者著重描述SMS的技術實現(含編碼方式),後者則規定了SMS的DTE-DCE介面標準(AT命令集)。 共有三種方式來發送和接收SMS資訊:Block Mode、Text Mode和PDU Mode。Block Mode目前已很少用了。Text Mode是純文本方式,可使用不同的字元集,從技術上說,也可以 用於發送中文簡訊,但國內手持電話基本上不支援,主要用於歐美地區。PDU Mode被所有手持電話支援,可使用任何字元集,這也是手持電話預設的編碼方式。Text Mode比較簡單,而且不適合自定義資料傳輸。這裏主要討論PDU Mode方式。
10
PDU模式下發送和接收簡訊 下面將介紹在PDU Mode下發送和接收簡訊的實現方法。
PDU串表面上是一串ASCII碼,由0~9,A~F這些數位元和字母組成。它們是8位元位元組的十六進位數,或者BCD碼十進位數字。PDU串不僅包含可顯示的消息本身,還包含很多其他資訊,如SMS服務中心(SMSC)號碼,目標號碼,回復號碼,編碼方式和服務時間等。發送和接收的PDU串,結構是不完全相同的。先用一個實際的例子說明PDU的結構和編排方式。例子—發送:SMSC號碼是 ,對方號碼是 ,消息的內容是“Hello!”。從手持電話發出的PDU串可以是 F D F C8 32 9B FD 0E 01對照規範,具體分析如下表12-1示。
11
表12-1 SMS編碼方式表 [注意]:號碼和時間的表示方法不是按正常順序順著來的,而且要以F將奇數補成偶數。
12
在PDU Mode中,可採用3種編碼方式對發送的內容進行編碼,它們是7位元,8位元和UCS2編碼。PDU串的用戶資訊(TP-UD)段最大容量是140位元組,在這三種編碼方式下,可發送簡訊的最大字元數分別是160、14070。這裏,將一個英文字母,一個漢字和一個資料位元組都視為一個字元。
13
7位元編碼 用於發送普通的ASCII字元,它將一串7位元的字元(最高位元為0)編碼成8位元資料,每8個字元可“壓縮”成7個。將來源端字串每個字元分為一組進行編碼,在組內字元間壓縮,但每組之間無聯繫。需要指出的是,7位字元集與ANSI標準字元集不完全一致,在0X20以下也編排一些可列印字元,但英文字母,阿拉伯數字和常用符號的位置兩者是一樣的。 8位元編碼 8位元編碼通常用於發送資料消息,比如圖片和鈴聲等。它將資料直接發送,不需要做其他的編碼操作。 UCS2編碼 UCS2編碼用於發送Unicode字元。每個國家(或區域)都規定了電腦資訊交換用的字元編碼集。字元編碼集按長度分為SBCS(單字節字元集)和DBCS(雙位元組字元集)兩大類。由於各個本地字元集程式範圍重疊,相互間資訊交換困難,有必要將本地化工作中的共同性抽取出來,進行一致處理,將特別的本地化處理內容降到最低。各種語言資訊被進一步規範為Locale資訊,處理的底層字元集變成了幾乎所有字形的Unicode。
14
現在大部分具有國際化特徵的軟體核心字元處理都是以Unicode為基礎的,在軟體執行時依據當時的Locale/Land/Codepage設置確定相應的本地字元編碼設置,依次處理本地字元。
UCS2編碼就是將每個字元(1~2位元組)按照ISO/IEC10646的規定轉變為16位元的Unicode寬字元。 在許多中文系統中,預設用BIG5編碼保存中文字元,首先需要把BIG5編碼的字串轉換到Unicode編碼的字串。BIG5編碼是一種多位元組編碼方式,對於中文,用2位元組表示;對於英文,用1位元組表示,就是英文的ASCII碼。Unicode編碼是雙位元組編碼方式,對所有字元,都採用2位元組的編碼。 因此在發送簡訊時,首先需要完成BIG5到Unicode的轉換。同樣,接收到短訊息後,需要將Unicode轉換成BIG5。
15
短消息相关的AT指令 選擇簡訊格式 發送AT+CMGF=n。 n=0, 選擇PDU格式 n=1, 選擇文本格式。 執行命令後,模組返回OK。
設置簡訊中心號碼 發送AT+CSCA=<string>。 對於行動電話,string= ;執行命令後,模組返回OK。 選擇區域廣播簡訊資訊 發送“AT+CSCB=[<mode>[,<mids>[,<dcss>]]]”,執行正確,模組返回OK。 參數含義如下: <mode> 0:接收區域廣播 1:不接收區域廣播 <mids> 區域廣播ID碼,用如“25”的格式輸入。 <dcss> 區域廣播編碼方案。
16
選擇簡訊業務類型 發送AT+CSMS=<mode> mode=0或1,某些命令的參數取值和mode的值有關; 只有mode=1時,AT+CNMI中的ds=2才能被模組接收。 發送簡訊 在文本格式下,發送AT+CMGS=“string”(string是目的手持電話的號碼),等模組返回“>”符號後,發送簡訊的內容,以“^Z”結束,模組就開始發送簡訊。發送成功,模組返回“+CMGS:<mr>[,scts>]OK”;否則模組返回ERROR。在PDU格式下發送AT+CKGS=n,n為簡訊PDU資料包的字元數,等模組返回“>”符號後,發送簡訊的內容,以“^Z”結束,模組就開始發送簡訊。發送成功,模組返回“+CMGS:<mr>[,ackpdu>]OK”;否則模組返回ERROR。 從記憶體發送簡訊 發送“AT+CMSS=<index>[,<da>]”,其中<index>為要發送的簡訊在當前記憶體中的索引號,da為目的位元址。 寫簡訊到記憶體 發送AT+CMGW命令,處理過程和AT+CMGS完全相同,只是寫簡訊成功,模組返回的資訊為“+CMGW:<index>OK”,其中<index>是簡訊在當前記憶體中的索引號。
17
与SMS有关的GSM AT指令(from GSM07.05)如表1所示:
AT+CMGC Send an SMS command(发出一条短消息命令) AT+CMGD Delete SMS message(删除SIM卡内存的短消息) AT+CMGF Select SMS message formate(选择短消息信息格式:0-PDU;1-文本) AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发,4/“ALL”-全部的) AT+CMGR Read SMS message(读短消息) AT+CMGS Send SMS message(发送短消息) AT+CMGW Write SMS message to memory(向SIM内存中写入待发的短消息) AT+CMSS Send SMS message from storage(从SIN|M内存中发送短消息) AT+CNMI New SMS message indications(显示新收到的短消息) AT+CPMS Preferred SMS message storage(选择短消息内存) AT+CSCA SMS service center address(短消息中心地址) AT+CSCB Select cell broadcast messages(选择蜂窝广播消息) AT+CSMP Set SMS text mode parameters(设置短消息文本模式参数) AT+CSMS Select Message Service(选择短消息服务)
18
对短消息的控制共有三种模式: Block Mode 基于AT命令的PDU Mode 基于AT命令的Text Mode
使用Block模式需要手机生产厂家提供驱动支持,目前,PDU Mode 已取代 Block Mode, Text Mode比较简单,本文重点介绍模式PDU Mode,以西门子公司的产品TC35T为例。
19
TC35基本命令 1.设置短消息中心 AT+CSCA=“+8613800270500”回车(具体的号码由当地的运营商决定。) 2.接收短消息
+CMTI:“SM”,X (X表示接收短消息的SIM卡存储号码) AT+CMGR=X回车 (从X存储区读短消息) AT+CMGD=X回车 (从X存储区删除短消息) 3.发送短消息 AT+CMGF=1回车(采用文本格式发送,如用PDU格式,则AT+CMGF=0) AT+CMGS=“+8613xxxxxxxxx”回车 >输入短消息。Crtl+Z结束并发送。
20
GSM/GPRS Module TC35i是Siemens公司推出的新一代無線通信GSM模組,可以快速安全可靠地實現系統方案中的資料、語音傳輸、短訊息服務(Short Message Service)和傳真。模組的工作電壓為3.3 -5.5V,可以工作在900MHz和1800MHz兩個頻段,所在頻段功耗分別為2W(900M)和1W(1800M)。 TC35i模組主要由GSM基帶處理器、GSM射頻模組、供電模組(ASIC)、快閃記憶體、ZIF連接器、天線介面六部分組成。作為TC35i的核心,基帶處理器主要處理GSM終端內的語音、資料信號,並涵蓋了蜂窩射頻設備中的所有的類比和數位功能。在不需要額外硬體電路的前提下,可支援FR、HR和EFR語音通道編碼。
21
TC35基本命令 4.重要的指令 ATZ;E 回车 Echo OFF ATZ;E1回车 Echo ON
AT+CREG?回车 回答x(X=2脱网,X=1注册,X=0状态不明) AT+COPS?回车 表示SIM卡是否被网络接受 AT+COPS=?回车 显示所有可用的网络。 5.建立语音呼叫 AT+CREG?回车(是否网络注册) ATD13xxxxxxxxx;回车(语音呼叫和数据呼叫建立的区别在于号码后所接的分号上) 6.改变并保存参数 AT+IPR=2400 回车(改变RS232口的速率至2400bps) AT&W 回车 (保存已改参数) 7.输入PIN码 AT+CPIN=“xxxx”
22
计算机与TC35T的通信 (1)RS232串口连接 由于TC35T自带RS232串口线,故只需将其连接到计算机串口即可。打开超级终端,选择相应的串口,将端口参数设置为:速率—4800、奇偶校验位—无、数据位—8、停止位—1、流量控制—硬件。 (2)连接测试 输入“AT”然后回车,屏幕上返回“OK”表明计算机与TC35T已连接成功,TC35T能够正常工作。这时就可以测试各类AT命令。 当测试命令“AT+CMGS=?”时,如果返回“OK”标明TC35T支持该指令。该指令的完整语法如下: 如果此时TC35T处于PDU Mode(即“AT+CMGF?”返回“0”)
23
另外,由于使用的是TC35T,当有新的短消息到来时,需要TC35T产生提示,使用指令“AT+CNMI”。该指令的完整语法如下:
+CMTI: “SM”, 此时读出,然后用“AT+CMGR”指令即可读出短消息内容。
24
PDU数据格式分析 例如,我们要将字符“Hi”字符发送到目的地“13823788935” PDU字符串为:
F D F C834 ⑴08—短信息中心地址长度。指(91)+( F0)的长度。 ⑵91—短信息中心号码类型。91是TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还有其它数值,但91最常用。 91— BIT No Name 1 数值类型 号码鉴别 数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展; 号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码(E.164/E.163),1111—留作扩展; ⑶ F0—短信息中心号码。由于位置上略有处理,实际号码应为: (字母F是指长度减1)。这需要根据不同的地域作相应的修改。 ⑴、⑵、⑶通称短消息中心地址(Address of the SMSC)。
25
注意事项 ( 1)短消息中心一般不会改动,如果短消息中心号码改动,在使用“AT+CSCA”语句时,记住TC35要重新启动,否则TC35不能正常工作(TC35T不存在此问题)。 (2)某些SIM卡带有密码,启动时需要输入密码。
Similar presentations