一、AT+CPMS 做用:設置短信存儲位置數據庫
AT+CPMS=?
+CPMS: ("ME","MT","SM","SR"),("ME","MT","SM","SR"),("ME","MT","SM","SR")
+CPMS: (list of supported <mem1>s),(list of supported<mem2>s),(list of supported<mem3>s)
複製代碼
參數說明:bash
「SM」(U)SIM信息存儲 「ME」移動設備信息存儲 「MT」與「ME」存儲相同 "SR"在EC20 AT手冊也沒找到相應說明,暫時置之不理。網絡
mem1:要從該內存存儲中讀取和刪除的消息 mem2:消息將被寫入併發送到該內存存儲 mem3:接收到的消息將被放置在這個內存存儲中(前提沒有使用AT+CNMI進行設置)併發
AT+CPMS="SM","SM","SM"設置短信存儲在sim卡中。ui
二、AT+CNMIspa
做用:SMS事件報告配置.net
AT+CNMI=?
+CNMI: (0-2),(0-3),(0,2),(0-2),(0,1)
OK
複製代碼
詳細說明,參考:https://blog.csdn.net/chenwr2018/article/details/88313436翻譯
三、AT+CMGFcode
做用:設置短信格式blog
AT+CMGF=?
+CMGF: (0,1)
OK
複製代碼
參數說明:
0爲PDU模式 1爲Text模式
注意:在CDMA網絡下,只支持Test模式。
四、AT+CMGS
做用:發送短信
(1)先設置Test模式
AT+CMGF=1 否則會出現
AT+CMGS="139000000"
+CMS ERROR: 304
複製代碼
(2)設置終端字符集
AT+CSCS="GSM"
OK
複製代碼
(3)輸入號碼短信內容
AT+CMGS="13900000000"
> 666
>
+CMGS: 46
OK
複製代碼
AT+CMGS="13900000000"
回車後出現> 輸入完內容回車,接着ctrl + z發送。
五、AT+CMGR
做用:讀取短信
AT+CMGR=< index >
參數index 手冊翻譯內容以下:
關聯內存支持的位置號範圍內的整數類型值。(後面一大連串的參數說明搞得頭暈暈的,感受暫時也不用關注那麼細。)
AT+CMGR=0表示接收到的第一條短信,AT+CMGR=1表示接受到的第二條短信,以此類推。
Test模式
「REC UNREAD」 Received unread messages 收到未讀消息
「REC READ」 Received read messages 收到已讀信息
「STO UNSENT」 Stored unsent messages 存儲未發送的消息
「STO SENT」 Stored sent messages 存儲已發送的消息
「ALL」 All messages
複製代碼
PDU模式
0 Received unread messages
1 Received read messages
2 Stored unsent messages
3 Stored sent messages
4 All messages
複製代碼
AT+CMGF=1
OK
AT+CMGR=2
+CMGR: "REC UNREAD","139000000000",,"19/03/07,19:29:33+32",161,36,0,0,"+8613010383500",145,4
2333
OK
複製代碼
六、AT+CMGL
做用:羅列出全部短信
參數:查詢對應狀態的全部短信
AT+CMGL=?
+CMGL: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL")
OK
複製代碼
AT+CMGL="ALL"
+CMGL: 0,"REC READ","13900000000",,"19/03/07,19:22:15+32",161,2
66
+CMGL: 1,"REC READ","13900000000",,"19/03/07,19:24:38+32",161,3
999
+CMGL: 2,"REC READ","13900000000",,"19/03/07,19:29:33+32",161,4
2333
+CMGL: 3,"REC READ","13900000000",,"19/03/07,19:41:36+32",161,10
chenwr2018
OK
複製代碼
羅列出全部短信內容。
七、AT+CMGD
做用:刪除短信
AT+CMGD=?
+CMGD: (0,1,2,3),(0-4)
複製代碼
+CMGD: (list of supported s),(list of supported s)
參數: index指的就是短信索引號,從0開始,3表示第四條短信。
delflag
0 刪除索引號指定的短信
1 刪除全部從存儲器讀取的短信
2 刪除全部從存儲器讀取的短信,併發送手機短信
3 刪除全部從存儲中讀取的短信,以及全部發送和未發送的手機短信
4 刪除存儲器中全部短信
複製代碼
AT+CMGD=1 //刪除索引爲1的短信
OK
AT+CMGD=1,4 //刪除全部短信
OK
複製代碼
八、AT+CSCA
做用:查詢短信中心號碼。
AT+CSCA?
+CSCA: "+8613010300000",145
OK
複製代碼
一、短信做用
(1)短信主要做用用來參數設置與控制設備。 特殊使用場景,發送復位短信。設備每次開機會去讀取短信內容。所以必須保證已讀的短信刪除,不然設備會不斷復位。 (2)因爲SIM卡只有1萬到10萬次的讀寫次數和40-50短消息的存儲空間。使用壽命與空間的問題,致使前期設置接收到短信不存儲直接通知TE(Terminal Equipment 終端設備)。
問題: 離線發送控制短信,設備從新上電後沒法正常接收,應用層無法讀取到離線短信的控制命令。
疑問: 離線短信的具體原理是否事先存放在基站中,等手機終端廣播告知基站已經駐網而後下發到手機終端上? 若是是這樣那麼整個短信收發流程跟正常設備在線是一致的?那爲什麼接收不到呢?
二、簡單短信原理闡述
(1)手機收發短信流程
源手機-》基站-》短信中心-》基站-》目的手機
(2)基站
基站會不斷廣播信息 方便手機搜尋到基站 不一樣基站的廣播頻率不一致 GSM系統 掃描整個頻段,信號最強爲合適基站【類比收音機收聽廣播的原理】 CDMA系統 基站固定使用頻率。【控制載頻 調諧】
(3)基站如何找到手機
基站不斷廣播,手機連上時當前基站會發送個位置區。當手機發現本身當前位置區發生變化,會發送本身當前位置,無線網絡會記錄在數據庫裏(位置寄存器) 手機週期性告訴無線網絡本身當前的位置。
(4)流程說明
三、目前的作法
爲了保證離線短信可以被應用層正常獲取。
主要的問題依然在sim卡讀寫壽命問題,不過還好短信控制命令使用頻率不是很高!
參考資料:移遠EC20 AT指令手冊、《大話無線數據通訊》