單片機(jī)給手機(jī)發(fā)短信
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)接}
手機(jī)回答:OK {已建立聯(lián)接}
發(fā)送:AT+CMGF=0 {選擇PDU模式}
手機(jī)回答:OK
發(fā)送:AT+CSMS=0{檢測手機(jī)是否支持SMS命令}
手機(jī)回答:OK
發(fā)送:AT+CMGS=52{發(fā)送短信息,52 octets(不包括最初9個短信息元字節(jié))}
手機(jī)回答:>{允許上傳數(shù)據(jù),ASCII碼是($20H,$2EH)}
發(fā)送:0891683108701305F011000B813179133208F10000AA2632184CF682D95
E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B19834926081A
不計(jì)最初9個短消息信元字節(jié),本短信息有52字節(jié)(104個字符)。AT+CMGS僅說明了SMSC信息內(nèi)容的長度,在收到手機(jī)回答的>符號手才發(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指讓手機(jī)自動加上主叫號碼。
0B:被叫號碼長度。
81:被叫號碼類型。
3179133208F1:被叫號碼13973123801。
00:協(xié)議標(biāo)識。
00:短信息編碼類型是GSM Default Alphabet。
AA:短信息被保留的時間為4天,其計(jì)算方法依照表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:報(bào)文結(jié)束標(biāo)志。
4 應(yīng)用情況及常見主要問題的解決
筆者用MCS-51系列的單片機(jī)研制了一個手持式的數(shù)據(jù)采集產(chǎn)品,通過SIMEENS手機(jī),利用GSM的SMS傳輸數(shù)據(jù)。經(jīng)過在國內(nèi)多個省市較大數(shù)量長期廣泛的使用,性能良好,沒有出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。證明上述設(shè)計(jì)用,性能良好,沒有出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象。證明上述設(shè)計(jì)是正確的。但在調(diào)試和試用階段也遇到了如下問題:
(1)接口電平
手機(jī)的電纜接口電平一般是3V左右,單片機(jī)系統(tǒng)的工作電壓一般為2.7~5.5V,范圍較寬,為保證數(shù)據(jù)傳輸?shù)恼_,需在接口加電平限制電路,詳見圖1。
(2)部分城市無法使用
一些城市的SMS平臺不允許使用缺省短消息服務(wù)中心號碼的協(xié)議,只需在發(fā)送的PDU數(shù)據(jù)前面幾個字節(jié)加上中心號碼即可,詳見本文發(fā)送實(shí)例。
(3)不能接收已正確發(fā)送的短消息
除GSM的SMS信道擁塞原因外,主要是PDU中PID字節(jié)的設(shè)置,使得收到的信息要存入SIM卡,而SIM卡已滿,故不再接收信息。改變PID的設(shè)置即可。
(4)收不到開機(jī)前的短消息
主要是發(fā)送數(shù)據(jù)時,對短消息有效時間VP值設(shè)置不當(dāng)造成的。
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
評論