- 相關推薦
用單片機控制手機收發短信息
摘要:介紹用MCS-51系列單片機控制手機收發短信息的原理、硬件電路、PDU數據格式和符合GSM07.05協議要求的短信息發送/接收程序,同時給出了一個應用實例。GSM(Global System for Mobile communication)系統是目前基于時分多址技術的移動通訊體制中比較成熟、完善、應用最廣泛的一種系統。目前已建成的覆蓋全國的GSM數字蜂窩移動通信網,是我國公眾移動通信網的主要方式。主要提供話音、短信息、數據等多種業務;贕SM短消息功能可以做成傳輸各種檢測、監控數據信號和控制命令的數據通信系統,能廣泛用于遠程監控、定位導航、個人通信終端等。由于公眾GSM網絡在全球范圍內實現了聯網和漫游,建立上述系統不須再組建專用通信網絡,所以具有實時傳輸數據功能的短消息應用將得到迅速普及。
目前,人們設計的各類DTE設備基礎上以微處理器為核心,帶有RS232/RS485等通信接口,在物理層上很容易實現與GSM設置(如手機等)的連接。但對SMS協議的研究文獻卻較少,特別是用單片機控制手機的SMS(Short Message Service)收發的研究更少。筆者在用單片機設計基于GSM的SMS數據采集器時,對怎樣用單片機控制手機收發短信息進行了探討。
1 串口控制SMS的工作原理
單片機與手機一般采用串行異步通信接口,具有紅外和通信電纜兩種連接方式,通信速度可設定,通常為19200bps。采用紅外接口的優點是單片機系統與手機電氣隔離,相互不干擾,接口各自獨立,使用方便;缺點是通信距離較短,紅外傳播的方向性對接口相對位置有要求。采用電纜連接時,數據傳輸的可靠性較好;其主要缺點是接口的電氣參數不兼容,設計不當時會對手機的通信質量產生影響。筆者經過實踐設計的接口電平轉換電路如圖1。
GSM的短信息業務SMS利用信令信道傳輸,這是GSM通信網所特有的。它不用撥號建立連接,把要發的信息加上目的地址發送到短信息服務中心,經短消息服務中心完成存儲后再發送給最終的信宿。所以當目的GSM終端沒開機時信息不會丟失。每個短消息的信息量限制為160字節。
現在市場上大多數手機均支持GSM07.05規定的AT指令集。該指令集是ETSI(歐洲通信技術委員會)發布的,其中包含了對SMS的控制。利用GSM手機的串行接口,單片機向手機收發一系列的AT命令,就能達到控制手機收發SMS的目的。ETSI的GSM07.05中用于SMS收發控制的主要AT命令見表1。
表1 常用AT指令
GSM手機通過異步通信接口實現對SMS的控制共有三種接入協議:Block Mode;基于AT命令的TextMode;基于AT命令的PDU Mode。PDU模式是發送或接收手機SMS信息的一種方法,短信息正文經過十六進制編碼后被傳送。目前,PDU Mode應用最為廣泛,基本上全國所有的電信局都提供支持PDU Mode的短消息業務。有些地址則不支持Text Mode和Block Mode,這就限制了這兩種接入協議的應用,而且PDU Mode已有取代Block Mode的趨勢。為了保證系統具有廣泛的適用性,本文采用PDU模式收發SMS。
PDU相當于一個數據包,它由構成消息(SMS)的信息組成。作為一種數據單元,它必須包含源/目的地址、保護(有效)時間、數據格式、協議類型和正文,正文長度可達140字節,它們都以十六進制表示。PDU結構根據短消息由移動終端發起或以移動終端為目的而不同。
當由移動終端發起時,PDU的格式為:
SMSCPDU類型MRDAPIDDCSVPUDLUD(0~140octed)當以移動終端為目的時,PDU的格式為:
SMSCPDU類型OAPIDDCSSCTSUDLUD(0~140octed)其中,SMSC為短消息業務中心地址,DA/OA為源/目的地址,PID為協議識別,DCS為數據編碼,UDL為用戶數據長度,UD為用戶數據,VP為有效時間,MR指明是發出信息,SCTS指明短消息到達業務中心的時間。
2 PDU格式下短信息的接收
根據設置不同,手機將收到的短消息保存在緩存單元或存入SIM卡,單片機從手機中接收短消息實質上就是從SIM或緩存中讀出信息。這主要利用AT CMGR和AT CMGL兩條指令來完成,其工作過程見圖2。
由于不同的廠商對AT指令集的解釋代碼和響應信息不一樣,所以單片機首先要確認能否與手機建立起通信,一般用ATE指令完成此確認;然后用AT CMGF指令選定短消息的數據格式;在收到手機的正確回答反以AT指令完成讀出功能。一般用AT CMGL讀取以前的信息,在收到手機的RING(振鈴)數據時,用AT CMGR讀取實時信息。
以下是筆者設計的物流數據采集系統中用到的接收SMS的一個實例,它說明了PDU模式的應用。單片機發送和接收(手機回答)均為ASCII碼。所用手機為SIEMENS S3508i。
操作過程如下({}內為注釋):
發送:ATE
手機回答:OK {已建立聯接}
發送:AT CMGF=0 {
【用單片機控制手機收發短信息】相關文章:
一種用單片機控制的光譜數據采集系統03-18
單片機控制的數字觸發器03-18
消毒柜單片機溫度控制11-22
單片機控制系統的抗干擾優化設計03-18
一種簡單串行鼠標控制的單片機實現03-18
基于單片機控制的數字氣壓計設計與實現03-18
免費基于單片機控制的電子密碼鎖(一)03-08
用CPLD實現單片機讀寫模塊03-20