基于GSM模塊的手機短信發送

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

    基于GSM模塊的手機短信發送

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

    基于GSM模塊的手機短信發送

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

      1 引言

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

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

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

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

      3 實現中文短信發送

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

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

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

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

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

      ● 手動查表。

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

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

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

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

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

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

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

      3.1 短信發送過程分析

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

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

      表1 發送短信使用的AT命令

      AT命令

      功能

      例子

      AT+CMGF

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

      AT+CMGF=0

      AT+CSCA

      獲取服務中心的號碼

      AT+CSCA?

      AT+CMGS

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

      AT+CMGS=19

      接收到“”

      響應后發送短信內容

      表2 發送數據分析

      接收號部分

      短信內容部分

      00 11 00 0B 8131208698yxFz

      000801 04 4F605970

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

      11:PDU類型

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

      0B:接收號字符數

      81:表示是國內代碼

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

      00:TP-PID協議標示

      08:TP-DCS數據編碼方式

      01:TP-VP有效期

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

      4F60597D:短信內容的UNICODE編碼

      如果發送成功,串口返回以下結果:

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

      OK

      3.2 發送短信程序流程及主要函數

      1)接口函數_SendMessage()

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

      圖1 SendMessage()函數流程圖

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

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

      圖2 Send_SMS()函數流程圖

      3)數據處理函數MakeSSP()

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

      4 總結

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

      參考文獻

      [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模塊的手機短信發送】相關文章:

    基于FPGA的HDLC通信模塊的實現05-14

    單片機控制GSM模塊實現短信收發的軟件設計03-20

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

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

    基于ESMTP的電子郵件發送程序的設計與實現11-16

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

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

    基于PLD的嵌入式系統外存模塊設計03-18

    基于DSP的擴頻電臺基帶模塊的設計與實現03-18

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

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      日本韩国偷拍视频对白不卡高清精品 | 亚洲第一天堂久久 | 中文字幕色婷婷在线视频 | 亚洲欧美国产va在线播放频 | 综合伊人久久在 | 亚洲精品中文字幕久久 |