久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

基于GSM模塊的手機短信發(fā)送

時間:2024-10-10 06:11:41 電子商務畢業(yè)論文 我要投稿
  • 相關推薦

基于GSM模塊的手機短信發(fā)送

  摘 要 短信的發(fā)送需要GSM模塊和處理器協(xié)作完成,GSM模塊與ARM處理器通過串口連接,處理器向串口發(fā)送接收AT命令與GSM模塊形成通信回路。中文短信的發(fā)送采用PDU模式,根據PDU模式標準形成PDU發(fā)送包,實現(xiàn)短信發(fā)送。本文根據無線電話項目的短信發(fā)送模塊的實現(xiàn)開發(fā)流程編寫。

基于GSM模塊的手機短信發(fā)送

  關鍵詞 GSM;SMS;AT命令;PDU

  1 引言

  2007年全國手機短信發(fā)送量達到5921億條,日均發(fā)送量超過16億條。短信的應用也擴展到各個領域,本文介紹了多媒體電話短消息發(fā)送模塊的實現(xiàn)原理和具體的實現(xiàn)方法。由短消息發(fā)送流程可以了解短信息發(fā)送過程的每一個環(huán)節(jié),對短信息安全,屏蔽垃圾短信有一定的作用。

  2 GSM模塊及GSM模塊的短信功能

  GSM(Global System for Mobile communication)系統(tǒng)是目前基于時分多址技術的移動通訊體制中比較成熟、完善、應用最廣泛的一種系統(tǒng)。目前已建成的覆蓋全國的GSM數字蜂窩移動通信網,是我國公眾移動通信網的主要方式,主要提供話音、短信息、數據等多種業(yè)務;贕SM短消息功能可以做成傳輸各種檢測、監(jiān)控數據信號和控制命令的數據通信系統(tǒng),能廣泛用于遠程監(jiān)控、定位導航、個人通信終端等。由于公眾GSM網絡在全球范圍內實現(xiàn)了聯(lián)網和漫游,建立上述系統(tǒng)不需再組建專用通信網絡,所以具有實時傳輸數據功能的短消息應用將得到迅速普及。

  SMS是由Etsi所制定的一個規(guī)范(GSM 03.40 和 GSM 03.38)。它可以發(fā)送最多160個字符,當使用7-bits編碼的時候,8-bit編碼(最多140個字符)通常無法直接通過手機顯示,通常被用來作為數據消息。16-bit信息(最多70個字符)被用來顯示Unicode(UCS2)文本信息,可以被大多數的手機所顯示。一個以class 0 開頭的16-bit的文本信息將在某些手機上作為Flash SMS顯示。

  3 實現(xiàn)中文短信發(fā)送

  GSM模塊支持兩種方式來發(fā)送和接收SMS短信息,文本模式和PDU(Protocol Description Unit)模式,文本模式只能發(fā)送普通的Ascill字符,要發(fā)送圖片,鈴聲,其它編碼的字符(如中文)就必須采用PDU模式。

  PDU模式中,可以采用三種編碼方式來編碼要發(fā)送的內容,分別是7bit編碼,8bit編碼,16bit編碼,7bit編碼用于發(fā)送普通的Ascill字符,8bit編碼通常用于發(fā)送數據信息,如圖片和鈴聲,而16bit編碼用于發(fā)送Unicode字符。三種編碼可以發(fā)送的最大字符分別是160,140,70。

  發(fā)送中文短信要采用PDU模式的Unicode編碼方式,具體步驟描述

  (1)GB2321編碼到Unicode編碼的轉換。

  ● 操作系統(tǒng)提供函數(有些系統(tǒng)不提供,如deltaos)。

  ● 手動查表。

  (2)Unicode編碼到16bit編碼的轉換。

  ● 得到的Unicode編碼后,還需要轉換成PDU的16bit編碼才可以正確的發(fā)送。

  ●這個轉換過程中Unicode編碼最開始的0xffff標志要去掉,在0xffff之后的內容才是真正的Unicode字符。

  ● Unicode是雙字節(jié),根據系統(tǒng)如果是小端字節(jié)序(little-endian),也就是說,存儲的時候,先存低位再存高位,例如:“中”的Unicode編碼是0x4E2D,儲存的時候是2D4E,在轉換到16bit編碼的時候要轉換順序,如果是大端字節(jié)序(big-endian)如本系統(tǒng),就不需要轉換了。

  ● 正確計算16bit編碼的消息體長度,PDU規(guī)范中,包括消息體本身。

  ● 正確設置TYPE,TP-MR,TP-PID,TP-VP,在下文PDU格式中,依次設置為:11,00,00,08,01(以上都為16進制數)。

  (3)形成標準的發(fā)送包。

  3.1 短信發(fā)送過程分析

  處理器通過向串口發(fā)送接收AT命令與GSM模塊形成通信回路,通過AT命令實現(xiàn)對GSM模塊的基本操作,用于發(fā)送短信的AT命令如表1所示。

  發(fā)送短信可用文本模式和協(xié)議數據單元模式(PDU,protocol data unit)。大多手機不支持文本模式,只支持PDU模式。PDU模式是把短信正文經十六進制編碼后被傳送,其編碼總體上分為三個部分:服務中心號、接收方手機號、短信內容,如“你好”短信PDU編碼是這樣的(其中xyz是手機號具體數字): 0011000B8131258698yxFz000801044F60597D,其意義如表2所示。

  表1 發(fā)送短信使用的AT命令

  AT命令

  功能

  例子

  AT+CMGF

  設置短信的格式,0=PDU模式(默認),1=文本模式

  AT+CMGF=0

  AT+CSCA

  獲取服務中心的號碼

  AT+CSCA?

  AT+CMGS

  發(fā)送AT+CMGS= YYY ;其中 YYY 為TPDU的十進制長度

  AT+CMGS=19

  接收到“”

  響應后發(fā)送短信內容

  表2 發(fā)送數據分析

  接收號部分

  短信內容部分

  00 11 00 0B 8131208698yxFz

  000801 04 4F605970

  00:SCA以00寫入,應用默認的服務中心地址,該服務中心地址用AT+CSCA指令寫入

  11:PDU類型

  00:TP-MR表示MR 消息參考

  0B:接收號字符數

  81:表示是國內代碼

  31258698yxFz:接收號 編碼時長度為奇數末尾追加“F”每兩個字節(jié)進行位置交換,即13526889xyz

  00:TP-PID協(xié)議標示

  08:TP-DCS數據編碼方式

  01:TP-VP有效期

  04:UDL用戶數據長度,用十六制表示

  4F60597D:短信內容的UNICODE編碼

  如果發(fā)送成功,串口返回以下結果:

  +CMGS: X 這里的X是個數字

  OK

  3.2 發(fā)送短信程序流程及主要函數

  1)接口函數_SendMessage()

  當調用接口函數_SentMessage(unsigned char *message, unsigned char *telephone, unsigned char telephonetype)時,程序開始進入短信發(fā)送模塊,流程如圖1所示。

  圖1 SendMessage()函數流程圖

  2)發(fā)送短信主體函數Send_SMS()

  完成 _SMS_appUnit結構填寫以后,短信發(fā)送的內容及所需信息提取到結構_SMS_appUnit中,為下面對數據的處理提供了原始數據,接下來就調用Send_SMS函數,程序流程如圖2所示。

  圖2 Send_SMS()函數流程圖

  3)數據處理函數MakeSSP()

  函數MakeSSP是短信發(fā)送部分重要函數,把struct _SMS _appUnit結構中的數據轉換成struct _SMS_SUBMIT_PDU結構,形成發(fā)送包。

  4 總結

  以上詳述了短信發(fā)送模塊實現(xiàn)的步驟,本文內容通過測試。可以實現(xiàn)短信的發(fā)送,響應時間等參數符合要求。但如果要連續(xù)發(fā)送短信,或短信發(fā)送量要求比較高的情況還需要設計數據庫實現(xiàn)數據的管理。對于短信發(fā)送的信息安全問題,將是下一個階段的研究重點。

  參考文獻

  [1] SMS with the SMS PDU-mode [M].Siemens AG Version 1.2

  [2]AT Command Set Siemens cellular engines version 2.10[S].Siemens AG,2001年

  [3]愛賽德無線小組.GSM模塊使用文檔(短信部分)[M].杭州:愛賽德無線小組,2002

  [4]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003

【基于GSM模塊的手機短信發(fā)送】相關文章:

基于FPGA的HDLC通信模塊的實現(xiàn)05-14

單片機控制GSM模塊實現(xiàn)短信收發(fā)的軟件設計03-20

基于PXI總線的數據采集模塊的設計03-07

基于GSM網絡的一機多號類業(yè)務研究03-07

基于ESMTP的電子郵件發(fā)送程序的設計與實現(xiàn)11-16

基于USB接口的數據采集系統(tǒng)-GSM功率測量VC++03-08

基于GPS/GSM的車載移動信息系統(tǒng)終端的研究03-07

基于PLD的嵌入式系統(tǒng)外存模塊設計03-18

基于DSP的擴頻電臺基帶模塊的設計與實現(xiàn)03-18

基于Tvp5150的低功耗視頻解碼模塊11-22