国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一步一步搞定手機串口短信收發

2019-11-18 19:17:43
字體:
來源:轉載
供稿:網友

選擇自 DooDu 的 Blog

今天終于把手機AT指令搞定了~~

拿老媽的手機大顯的,一個同步線,串口的,還有同步軟件。

網上不少關于串口短信收發的文章,但因為AT指令的靈活性,各個手機廠家都做了“繼承”和“派生”,因此需要自己研究針對自己手機的 AT指令。

說到得到自己手機的AT指令,我花了不少心思,先是拿Win32DASM打開看同步軟件里面的字符串資源,hoho,發現很全的AT指令,可是實現短信收發需要哪些呢?拿標準的AT指令表一看,還好,幾乎沒怎么變,不過有幾個確實不一樣。后來發現總是出問題,于是,我拿出了:Serial Monitor,這個真好用啊,監聽別的軟件的串口通信,監聽一大通:


Port opened by


Request: 2005-6-16 13:01:09.422575464


41 54 2B 43 50 41 53 0D                           AT+CPAS.       


Answer: 2005-6-16 13:01:09.422575464 (+0.0000000000 seconds)


2B 43 50 41 53 3A 20 30 0D 0A 30 0D               +CPAS: 0..0.   


Request: 2005-6-16 13:01:09.922588264 (+0.5000128000 seconds)


41 54 45 30 3B 56 30 0D                           ATE0;V0.       


Answer: 2005-6-16 13:01:09.031966064 (+0.1093778000 seconds)


30 0D                                             0.             


Request: 2005-6-16 13:01:09.031966064 (+0.0000000000 seconds)


41 54 51 30 3B 53 33 31 33 3B 53 34 31 30 3B 58   ATQ0;S313;S410;X
34 3B 26 43 31 3B 26 44 30 3B 2B 43 4D 45 45 3D   4;&C1;&D0;+CMEE=
31 0D                                             1.             


Answer: 2005-6-16 13:01:09.125718464 (+0.0937524000 seconds)


30 0D                                             0.             


Request: 2005-6-16 13:01:09.876070464 (+13.7503520000 seconds)


41 54 2B 57 53 45 53 3F 0D                        AT+WSES?.      


Answer: 2005-6-16 13:01:09.969822864 (+0.0937524000 seconds)


2B 57 53 45 53 3A 20 30 0D 0A 30 0D               +WSES: 0..0.   


Request: 2005-6-16 13:01:09.969822864 (+0.0000000000 seconds)


41 54 2B 57 53 45 53 3D 31 0D                     AT+WSES=1.     


Answer: 2005-6-16 13:01:09.266705464 (+0.2968826000 seconds)


30 0D                                             0.             


上面的是初始化的AT指令,里面有指令顯示形式的改變,打開手機終端界面等。

然后我拿同步軟件發了個短信,監聽如下:

Request: 2005-6-16 13:01:10.986805064 (+0.0000000000 seconds)

41 54 2B 57 53 45 53 3D 31 0D                     AT+WSES=1.     

Answer: 2005-6-16 13:01:10.299313064 (+0.3125080000 seconds)

30 0D                                             0.             


Request: 2005-6-16 13:01:10.299313064 (+0.0000000000 seconds)


41 54 2B 43 4D 47 46 3D 31 0D                     AT+CMGF=1.     


Answer: 2005-6-16 13:01:10.393065464 (+0.0937524000 seconds)


30 0D                                             0.             


Request: 2005-6-16 13:01:10.393065464 (+0.0000000000 seconds)


41 54 2B 43 53 4D 50 3D 31 37 2C 31 36 37 2C 30   AT+CSMP=17,167,0
2C 38 0D                                          ,8.            

Answer: 2005-6-16 13:01:10.502443264 (+0.1093778000 seconds)


30 0D                                             0.             


Request: 2005-6-16 13:01:10.502443264 (+0.0000000000 seconds)


41 54 2B 43 4D 47 53 3D 22 31 33 38 33 32 37 31   AT+CMGS="1383271
30 30 33 38 22 0D                                 ****". '呵呵,屏蔽~  


Answer: 2005-6-16 13:01:10.596195664 (+0.0937524000 seconds)


0D 0A 3E 20                                       ..>            


Request: 2005-6-16 13:01:10.596195664 (+0.0000000000 seconds)


35 42 39 45 39 41 38 43 36 32 34 42 36 37 33 41   5B9E9A8C624B673A
46 46 30 43 34 46 36 30 35 37 32 38 35 45 37 32   FF0C4F6057285E72
34 45 34 38 46 46 31 46 1A                        4E48FF1F.    

這一堆就是短信GSM7位編碼的內容了,網上很多,不再贅述。 這個手機省了PDU,大概是在手機里生成吧?方便多了,呵呵


看,最后的1A,這個讓我頭痛了很長時間,開始總是發不出去,后來才發現少了1A,1A是終止符!

Answer: 2005-6-16 13:01:10.518171064 (+3.9219754000 seconds)


2B 43 4D 47 53 3A 20 31 30 0D 0A 30 0D            +CMGS: 10..0.  


Request: 2005-6-16 13:01:10.518171064 (+0.0000000000 seconds)


41 54 2B 57 53 45 53 3F 0D 41 54 2B 57 53 45 53   AT+WSES?.AT+WSES
3D 30 0D                                          =0.            


Answer: 2005-6-16 13:01:10.627548864 (+0.1093778000 seconds)


2B 57 53 45 53 3A 20 31 0D 0A 30 0D 30 0D         +WSES: 1..0.0. 

以上就是短信發送的整個過程,可同步軟件還沒有短心接收的功能,自己查了查AT表,找到了:

當有新的短消息到來時,產生提示,使用“AT+CNMI”。該指令的用法:

AT+CNMI=1


如果有新的短消息來到,則手機自動返回下列提示:


+CMTI: “SM”, <index>


此時讀出<index>,然后用“AT+CMGR=<index>”指令即可讀出短消息內容。


最后再說下vb的串口通信,開始我用的oncome事件,可發現很難用,數據總是有問題,后來改了直接讀,方便多了,至于產生新消息的中斷,用timer控件就可以了。還有點最重要的,所有指令都有回車符的!也就是vb的VbCr,否則會出錯的~~還有,我的波特率是115200,底了也是不通的。

讀出來了,剩下的就是字符串處理了,只要注意回來的字符中也有回車符,就可以了。

閑的無聊,又監聽了通訊簿,圖片上傳的功能,都很簡單。后來突發奇想,能不能收發彩信呢?難度:1電腦端彩信的制作;2手機商沒這個接口指令!后來聽說用windows mobile能實現,哎。。又是m$..

Doodu(杜霖)親筆,轉請通知~~


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 达日县| 白城市| 甘洛县| 五河县| 东港市| 庆安县| 西华县| 永定县| 马公市| 和平县| 满洲里市| 呼图壁县| 综艺| 邓州市| 台湾省| 平湖市| 富顺县| 新邵县| 马山县| 贡山| 石景山区| 龙游县| 克东县| 栾城县| 潞城市| 晋州市| 资源县| 沂源县| 绍兴县| 南皮县| 大姚县| 通化县| 随州市| 买车| 土默特左旗| 大冶市| 广水市| 突泉县| 永昌县| 云浮市| 新绛县|