<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于GSM模塊的手機短信發(fā)送

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

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

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

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

      關(guān)鍵詞 GSM;SMS;AT命令;PDU

      1 引言

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

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

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

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

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

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

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

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

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

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

      ● 手動查表。

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

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

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

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

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

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

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

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

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

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

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

      AT命令

      功能

      例子

      AT+CMGF

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

      AT+CMGF=0

      AT+CSCA

      獲取服務中心的號碼

      AT+CSCA?

      AT+CMGS

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

      AT+CMGS=19

      接收到“”

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

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

      接收號部分

      短信內(nèi)容部分

      00 11 00 0B 8131208698yxFz

      000801 04 4F605970

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

      11:PDU類型

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

      0B:接收號字符數(shù)

      81:表示是國內(nèi)代碼

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

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

      08:TP-DCS數(shù)據(jù)編碼方式

      01:TP-VP有效期

      04:UDL用戶數(shù)據(jù)長度,用十六制表示

      4F60597D:短信內(nèi)容的UNICODE編碼

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

      +CMGS: X 這里的X是個數(shù)字

      OK

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

      1)接口函數(shù)_SendMessage()

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

      圖1 SendMessage()函數(shù)流程圖

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

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

      圖2 Send_SMS()函數(shù)流程圖

      3)數(shù)據(jù)處理函數(shù)MakeSSP()

      函數(shù)MakeSSP是短信發(fā)送部分重要函數(shù),把struct _SMS _appUnit結(jié)構(gòu)中的數(shù)據(jù)轉(zhuǎn)換成struct _SMS_SUBMIT_PDU結(jié)構(gòu),形成發(fā)送包。

      4 總結(jié)

      以上詳述了短信發(fā)送模塊實現(xiàn)的步驟,本文內(nèi)容通過測試。可以實現(xiàn)短信的發(fā)送,響應時間等參數(shù)符合要求。但如果要連續(xù)發(fā)送短信,或短信發(fā)送量要求比較高的情況還需要設(shè)計數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)的管理。對于短信發(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體系結(jié)構(gòu)與編程[M].北京:清華大學出版社,2003

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

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

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

    基于PXI總線的數(shù)據(jù)采集模塊的設(shè)計03-07

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

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

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

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

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

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

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

    主站蜘蛛池模板: 亚洲国产主播精品极品网红| 麻豆精品成人免费国产片| 精品免费视在线观看| 亚洲国产成人精品女人久久久| 国产精品毛片久久久久久久| 在线亚洲精品福利网址导航| 国产精品综合久成人| 99re6在线视频精品免费| 中文字幕在线亚洲精品| 国产精品欧美亚洲韩国日本久久 | 亚洲精品无码乱码成人| 国内精品伊人久久久久影院对白| 国产亚洲婷婷香蕉久久精品| 久久99热只有频精品8| 中文无码精品一区二区三区| 精品欧美小视频在线观看| 四虎精品成人免费永久| 91久久精品91久久性色| 国产在线精品一区二区在线观看| 亚洲综合精品香蕉久久网| 日韩欧美一区二区三区中文精品 | 国产精品亚洲不卡一区二区三区 | 久久精品人人做人人爽97 | 日韩精品无码一区二区三区免费| 久久无码精品一区二区三区| 国产精品白丝AV嫩草影院| 精品一区二区久久| 99精品免费视品| 99re国产精品视频首页| 国产第一福利精品导航| 99精品高清视频一区二区| 97精品国产手机| HEYZO无码综合国产精品227| 国产欧美日韩精品丝袜高跟鞋| 日韩AV无码精品人妻系列| 亚洲国产精品一区第二页 | 精品视频在线免费观看| 精品无人区麻豆乱码1区2区| 日韩精品久久久久久| 777久久精品一区二区三区无码| 99爱在线视频这里只有精品|