日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用單片機控制手機收發(fā)短信息
用單片機控制手機收發(fā)短信息
 更新時間:2008-7-26 19:52:49  點擊數(shù):3
【字體: 字體顏色

摘要:介紹用mcs-51系列單片機控制手機收發(fā)短信息的原理、硬件電路、pdu數(shù)據(jù)格式和符合gsm07.05協(xié)議要求的短信息發(fā)送/接收程序,同時給出了一個應(yīng)用實例。

關(guān)鍵詞:單片機 短信息 pdu gsm 接口

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

目前,人們設(shè)計的各類dte設(shè)備基礎(chǔ)上以微處理器為核心,帶有rs232/rs485等通信接口,在物理層上很容易實現(xiàn)與gsm設(shè)置(如手機等)的連接。但對sms協(xié)議的研究文獻卻較少,特別是用單片機控制手機的sms(short message service)收發(fā)的研究更少。筆者在用單片機設(shè)計基于gsm的sms數(shù)據(jù)采集器時,對怎樣用單片機控制手機收發(fā)短信息進行了探討。

1 串口控制sms的工作原理

單片機與手機一般采用串行異步通信接口,具有紅外和通信電纜兩種連接方式,通信速度可設(shè)定,通常為19200bps。采用紅外接口的優(yōu)點是單片機系統(tǒng)與手機電氣隔離,相互不干擾,接口各自獨立,使用方便;缺點是通信距離較短,紅外傳播的方向性對接口相對位置有要求。采用電纜連接時,數(shù)據(jù)傳輸?shù)目煽啃暂^好;其主要缺點是接口的電氣參數(shù)不兼容,設(shè)計不當(dāng)時會對手機的通信質(zhì)量產(chǎn)生影響。筆者經(jīng)過實踐設(shè)計的接口電平轉(zhuǎn)換電路如圖1。

gsm的短信息業(yè)務(wù)sms利用信令信道傳輸,這是gsm通信網(wǎng)所特有的。它不用撥號建立連接,把要發(fā)的信息加上目的地址發(fā)送到短信息服務(wù)中心,經(jīng)短消息服務(wù)中心完成存儲后再發(fā)送給最終的信宿。所以當(dāng)目的gsm終端沒開機時信息不會丟失。每個短消息的信息量限制為160字節(jié)。

現(xiàn)在市場上大多數(shù)手機均支持gsm07.05規(guī)定的at指令集。該指令集是etsi(歐洲通信技術(shù)委員會)發(fā)布的,其中包含了對sms的控制。利用gsm手機的串行接口,單片機向手機收發(fā)一系列的at命令,就能達到控制手機收發(fā)sms的目的。etsi的gsm07.05中用于sms收發(fā)控制的主要at命令見表1。

表1 常用at指令

gsm07.05function(功能)ate0resetat csms選擇短信息服務(wù)at cpms選擇短信息內(nèi)存at cmgf選擇短信息格式at csca短信息中心地址at cnmi顯示新收到的短信息at cmgr讀短信息at cmgs發(fā)送短信息at cmgl列出sim卡中短信息at cmss從sim內(nèi)存中發(fā)短信息at cmgw向sim內(nèi)存中寫入待發(fā)短信息at cmgd刪除sim內(nèi)存中的短信息at cscb選擇蜂窩廣播信息

gsm手機通過異步通信接口實現(xiàn)對sms的控制共有三種接入?yún)f(xié)議:block mode;基于at命令的textmode;基于at命令的pdu mode。pdu模式是發(fā)送或接收手機sms信息的一種方法,短信息正文經(jīng)過十六進制編碼后被傳送。目前,pdu mode應(yīng)用最為廣泛,基本上全國所有的電信局都提供支持pdu mode的短消息業(yè)務(wù)。有些地址則不支持text mode和block mode,這就限制了這兩種接入?yún)f(xié)議的應(yīng)用,而且pdu mode已有取代block mode的趨勢。為了保證系統(tǒng)具有廣泛的適用性,本文采用pdu模式收發(fā)sms。

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

當(dāng)由移動終端發(fā)起時,pdu的格式為:

smscpdu類型mrdapiddcsvpudlud(0~140octed)

當(dāng)以移動終端為目的時,pdu的格式為:

smscpdu類型oapiddcssctsudlud(0~140octed)

其中,smsc為短消息業(yè)務(wù)中心地址,da/oa為源/目的地址,pid為協(xié)議識別,dcs為數(shù)據(jù)編碼,udl為用戶數(shù)據(jù)長度,ud為用戶數(shù)據(jù),vp為有效時間,mr指明是發(fā)出信息,scts指明短消息到達業(yè)務(wù)中心的時間。

2 pdu格式下短信息的接收

根據(jù)設(shè)置不同,手機將收到的短消息保存在緩存單元或存入sim卡,單片機從手機中接收短消息實質(zhì)上就是從sim或緩存中讀出信息。這主要利用at cmgr和at cmgl兩條指令來完成,其工作過程見圖2。

由于不同的廠商對at指令集的解釋代碼和響應(yīng)信息不一樣,所以單片機首先要確認能否與手機建立起通信,一般用ate指令完成此確認;然后用at cmgf指令選定短消息的數(shù)據(jù)格式;在收到手機的正確回答反以at指令完成讀出功能。一般用at cmgl讀取以前的信息,在收到手機的ring(振鈴)數(shù)據(jù)時,用at cmgr讀取實時信息。

以下是筆者設(shè)計的物流數(shù)據(jù)采集系統(tǒng)中用到的接收sms的一個實例,它說明了pdu模式的應(yīng)用。單片機發(fā)送和接收(手機回答)均為ascii碼。所用手機為siemens s3508i。

操作過程如下({}內(nèi)為注釋):

發(fā)送:ate

手機回答:ok {已建立聯(lián)接}

發(fā)送:at cmgf=0 {選用pdu格式}

手機回答:ok {允許選擇pdu格式}

發(fā)送:at cmgl=2 {列出已有的短信息}

手機回答: cmgl:1,2,,24{1表示信息個數(shù),2表示未發(fā)信息,24表示信息總?cè)萘縸

0d71683108370105f004000d81683179133208f10000026080410033802632184cf682d

95e0dc2b36d3d170a0243106933d97a0243106933d97a02451068b1983492608

ok

以上這組pdu格式的十六進制字符串,不但包含了短消息的內(nèi)容,同時包含了發(fā)送者的手機號碼、短信息中心號碼、短消息發(fā)送時間等。

下面對信息內(nèi)容進行分析:

0d:短信息中心地址(號碼)長度。

91:短信息中心號碼類型,91是ton/npi。ton/npi遵守international/e.164標(biāo)準,指在號碼前需加' '號;此外還可直有其他數(shù)值,但91最常用。

683108370105f0:smsc 短信息所使用的服務(wù)中心號碼13807310500。它經(jīng)過十六進制以字節(jié)為單位的高低半字節(jié)換位處理,號碼是奇數(shù)的添f,構(gòu)成一個hex字節(jié)。

04:pdu類型,文件頭字節(jié)。

0b:主叫號碼長度。

81:主叫號碼類型。

3179133208f1:0a主叫號碼,也經(jīng)過了處理,實際號碼為13973123801。

00:pid,為協(xié)議標(biāo)識。

00:dcs短信息編碼類型是gsm default alphabet,即由7位ascii碼移位組成8位十六進制碼(octet),其方法見表2。

1sthexb0a6a5a4a3a2a1a02ndhexc1c0b6b5b4b3b2b13rdhexd2d1d0c6c5c4c3c24thhexe3e2e1e0d6d5d4d35thhexf4f3f2f1f0e6e5e46thhexg5g4g3g2g1g0f6f56thhexh6h5h4h3h2h1h0g6

02608041003380:scts短信息發(fā)送時間,02/06/08/14:00:33.08。

26:udl經(jīng)處理后的8位碼(octet)短信息字節(jié)長度,它小于消息ascii碼的長度。

32184cf682d95e30dc2b36d3d170a0243106933d97a0243106933d97a02451068b1983492608:ud 編碼后的pdu數(shù)據(jù),短信息內(nèi)容“2002/06/08/13:48id102okid103ok id201fail”。

3 短信息的發(fā)送

與接收短信息一樣,發(fā)送時也要先建立聯(lián)接,傳送一些初始化指令,然后發(fā)送短消息內(nèi)容。下面是用siemens s3508i發(fā)送一個短信息的例子,內(nèi)容為:“2002/06/08/13:48 id102ok id103ok id201fail”。其ascii碼為:“32030322f30362f30382f31333a34382049443130324f4b

2049443130334f4b2049443230314641494c20”。

發(fā)送:ate {請求建立聯(lián)接}

手機回答:ok {已建立聯(lián)接}

發(fā)送:at cmgf=0 {選擇pdu模式}

手機回答:ok

發(fā)送:at csms=0{檢測手機是否支持sms命令}

手機回答:ok

發(fā)送:at cmgs=52{發(fā)送短信息,52 octets(不包括最初9個短信息元字節(jié))}

手機回答:>{允許上傳數(shù)據(jù),ascii碼是($20h,$2eh)}

發(fā)送:0891683108701305f011000b813179133208f10000aa2632184cf682d95

e30dc2b36d3d170a0243106933d97a0243106933d97a02451068b19834926081a

不計最初9個短消息信元字節(jié),本短信息有52字節(jié)(104個字符)。at cmgs僅說明了smsc信息內(nèi)容的長度,在收到手機回答的>符號手才發(fā)送pdu數(shù)據(jù)串,并以(ctrl^z)結(jié)束。

pdu數(shù)據(jù)串的內(nèi)容說明如下:

08:短信息信元smsc(短信息中心號碼)的字節(jié)長度

91:短信息中心號碼類型,91表明中心號碼是國際通用電話號碼。

683108701305f0:短信息中心號碼:8613807310500。

11:pdu sms發(fā)送的文件頭字節(jié)。這里11指正常發(fā)送短信息。

00:信息類型。這里00指讓手機自動加上主叫號碼。

0b:被叫號碼長度。

81:被叫號碼類型。

3179133208f1:被叫號碼13973123801。

00:協(xié)議標(biāo)識。

00:短信息編碼類型是gsm default alphabet。

aa:短信息被保留的時間為4天,其計算方法依照表3。

vp值短消息有效時間長度0~143(vp 1)×5分鐘144~16712時 (vp-143)×30分168~1961天×(vp-166)197~2551周×(vp-192)

26:pdu格式短信息編碼后字節(jié)長度。

32184cf682d95e30dc2b36d3d170a0243106933d97a0243106933d

97a02451068b1983492608:編碼后的pdu數(shù)據(jù),短信息內(nèi)容為“2002/06/08/13:

48id102okid103ok id201fail”。

1a:ascii碼ctrl^z:報文結(jié)束標(biāo)志。

4 應(yīng)用情況及常見主要問題的解決

筆者用mcs-51系列的單片機研制了一個手持式的數(shù)據(jù)采集產(chǎn)品,通過simeens手機,利用gsm的sms傳輸數(shù)據(jù)。經(jīng)過在國內(nèi)多個省市較大數(shù)量長期廣泛的使用,性能良好,沒有出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。證明上述設(shè)計用,性能良好,沒有出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。證明上述設(shè)計是正確的。但在調(diào)試和試用階段也遇到了如下問題:

(1)接口電平

手機的電纜接口電平一般是3v左右,單片機系統(tǒng)的工作電壓一般為2.7~5.5v,范圍較寬,為保證數(shù)據(jù)傳輸?shù)恼_,需在接口加電平限制電路,詳見圖1。

(2)部分城市無法使用

一些城市的sms平臺不允許使用缺省短消息服務(wù)中心號碼的協(xié)議,只需在發(fā)送的pdu數(shù)據(jù)前面幾個字節(jié)加上中心號碼即可,詳見本文發(fā)送實例。

(3)不能接收已正確發(fā)送的短消息

除gsm的sms信道擁塞原因外,主要是pdu中pid字節(jié)的設(shè)置,使得收到的信息要存入sim卡,而sim卡已滿,故不再接收信息。改變pid的設(shè)置即可。

(4)收不到開機前的短消息

主要是發(fā)送數(shù)據(jù)時,對短消息有效時間vp值設(shè)置不當(dāng)造成的。


  • 上一篇: 用下載電纜實現(xiàn)AT89S5X的ISP編程
  • 下一篇: 基于89C51的計算機可鎖定加密鍵盤設(shè)計
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1