概述:在JB00+BT項目的SMS Demo中使用了藍牙的DUN服務來對手機發送AT命令,主要用AT命令實現2個方面的功能:發送短信、查詢手機電話本。DUN鏈接成功後,就能夠直接對手機發送AT命令了。使用AT命令以前,通常經過發送"AT"進行AT命令初始化,若是成功返回OK,即說明手機已可正常響應AT命令。 網絡
調試AT命令有一個比較簡便的方法就是使用PC的超級終端進行調試:若是手機有串口接口,直接鏈接到PC的串口;若是手機無串口接口,可使用USB藍牙適配器和手機進行藍牙配對,而後經過在超級終端使用DUN服務的藍牙虛擬串口發送AT命令控制手機。測試
1、什麼是AT 命令
AT 即Attention,AT指令集是從終端設備(Terminal Equipment,TE)或數據終端設備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter, TA)或數據電路終端設備(Data Circuit Terminal Equipment,DCE)發送的。經過TA,TE發送AT指令來控制移動臺(Mobile Station,MS)的功能,與GSM 網絡業務進行交互。用戶能夠經過AT指令進行呼叫、短信、電話本、數據業務、傳真等方面的控制。 ui
90年代初,AT指令僅被用於Modem操做。沒有控制移動電話文本消息的先例,只開發了一種叫SMS BlockMode的協議,經過終端設備(TE)或電腦來徹底控制SMS。幾年後,主要的移動電話生產廠商諾基亞、愛立信、摩托羅拉和HP共同爲GSM 研製了一整套AT指令,其中就包括對SMS的控制。AT指令在此基礎上演化並被加入GSM 07.05標準以及如今的GSM07.07標準,徹底標準化和比較健全的標準。如:對SMS的控制共有3種實現途徑:最初的Block Mode;基於AT指令的Text Mode;基於AT指令的PDU Mode。到如今PDU Mode已經取代BlockMode,後者逐漸淡出。GSM 模塊與計算機之間的通訊協議是一些AT指令集,AT指令是以AT做首,字符結束的字符串,AT指令的響應數據包在中。每一個指令執行成功與否都有相應的返回。其餘的一些非預期的信息(若有人撥號進來、線路無信號等),模塊將有對應的一些信息提示,接收端可作相應的處理。編碼
示例:CDMA modem DTE
AT< CR>
< LF> OK < LF>
ATTEST< CR>
< CR> ERROR < LF>
若是AT指令執行成功,"OK"字符串返回;
若是AT 指令語法錯誤或AT 指令執行失敗,
"ERROR"字符串返回。 spa
2、如何使用AT命令發短信、查詢電話本(紅色部分改成實際內容)調試
一、發送短信步驟:接口
step一、測試手機是否支持相關AT指令:AT+CMGS=?ip
若是返回"OK"代表手機支持短信收發的AT命令,不然返回"ERROR"。開發
step二、選擇短信模式爲文本模式:AT+CMGF=1字符串
若是返回"OK",設置成功。
除了文本模式,還能夠設置爲PDU編碼模式,其指令爲:AT+CMGF=0
step三、發送短信目標號碼:AT+CMGS=phone number
若是返回"> ",號碼發送成功,繼續發送短信文本內容。
step四、直接將短信文本內容發送到手機,並以Ctrl+Z或者對應的ASCII碼0x1a做爲結束符。
step五、若是短消息發送成功,則返回"OK",並顯示信息號:+CMGS: [,]
若是短消息發送失敗,則返回"+CMS ERROR: "。
二、查找電話本步驟:
step一、測試手機是否支持相關AT指令:AT+CPBS=?
若是返回"OK"代表手機支持電話本查詢相關的AT命令,不然返回"ERROR"。
step二、選擇查詢電話本,設置爲手機存儲體:AT+CPBS="ME"
若是返回"OK",設置成功。
step三、根據聯繫人姓名查找電話號碼:AT+CPBF=name
若是查詢成功,則返回相應的描述字段"+CPBF:......."。
這裏也能夠根據聯繫人ID進行查找:AT+CPBR=ID
若是查詢成功,則返回"+CPBR:......."。
3、經常使用的短信、電話本命令
一、短消息命令
AT+CSMS
選擇消息服務。支持的服務有GSM-MO、SMS-MT、SMS-CB。
AT+CNMA
新信息確認應答。
AT+CPMS
優先信息存儲。這個命令定義用來讀寫信息的存儲區域。
AT+CMGF
優先信息格式。執行格式有TEXT方式和PDU方式。
AT+CSAS
保存設置。保存+CSAS和+CSMP的參數。
AT+CRES
恢復設置。
AT+CSDH
顯示文本方式的參數。
AT+CNMI
新信息指示。這個命令選擇如何從網絡上接收短信息。
AT+CMGR
讀短信。信息從+CPMS命令設定的存儲器讀取。
AT+CMGL
列出存儲的信息。
AT+CMGS
發送信息。
AT+CMGW
寫短信息並存儲。
AT+CMSS
從存儲器中發送信息。
AT+CSMP
設置文本模式的參數。
AT+CMGD
刪除短信息。刪除一個或多個短信息。
AT+CSCA
短信服務中心地址。
AT+CSCB
選擇單元廣播信息類型。
AT+WCBM
單元廣播信息標識。
AT+WMSC
信息狀態(是否讀過、是否發送等等)修正。
AT+WMGO
信息覆蓋寫入。
AT+WUSS
不改變SMS狀態。在執行+CMGR或+CMGL後仍保持UNREAD。
二、電話本命令
AT+CPBS
選擇電話簿記憶存儲。
AT+CPBR
讀取電話簿表目。
AT+CPBF
查找電話簿表目。
AT+CPBW
寫電話簿表目。
AT+CPBP
電話簿電話查詢。
AT+CPBN
電話簿移動動做。這個特殊命令使電話簿中的條目前移或後移(按字母順序)
AT+CNUM
簽署者號碼。
AT+WAIP
防止在下一次重起時初始化全部的電話簿。
AT+WDCP
刪除呼叫電話號碼。
AT+CSVM
設置語音郵件號碼。
www.smsyouke.com 優客短信