首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> 移动短信技术 -> 一步一步搞定手机串口短信收发  
一步一步搞定手机串口短信收发


文章类别:移动短信技术 来源: 作者: 发表日期:2005-6-18 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

选择自 DooDu 的 Blog

今天终于把手机AT指令搞定了~~

拿老妈的手机大显的,一个同步线,串口的,还有同步软件。

网上不少关于串口短信收发的文章,但因为AT指令的灵活性,各个手机厂家都做了“继承”和“派生”,因此需要自己研究针对自己手机的 AT指令。

说到得到自己手机的AT指令,我花了不少心思,先是拿Win32DASM打开看同步软件里面的字符串资源,hoho,发现很全的AT指令,可是实现短信收发需要哪些呢?拿标准的AT指令表一看,还好,几乎没怎么变,不过有几个确实不一样。后来发现总是出问题,于是,我拿出了:Serial Monitor,这个真好用啊,监听别的软件的串口通信,监听一大通:


Port opened by process "PCSync_v1.1_Daxian.exe" (PID: 1864)


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(杜霖)亲笔,转请通知~~

上一篇:Autodesk官方最新的.NET教程(五)(C#版) 下一篇:可以使用多个jsp定制标签在JSP中达到接近servelt的处理效果
本栏目热门文章
·手机短信息SMS的程序开发 2005-10-4
·SMS开发的资料包 2005-10-4
·基于CMPP3.0的企业短信网关API设计 2005-10-4
·编写SMS程序入门 2005-10-4
·基于短信网关WAP推送的实现 2005-10-4
·对于开发SMS初学者的,经常用到的几个函数。 2005-10-4
·各网关厂商API接口 2005-10-4
·基于CMPP2及东软API短信平台的开 2005-10-4
·SmartPhone手机上查看QQ天气预报 2005-10-4
·移动业务代码规范方案 2005-10-4
新近更新文章
·免费实用!3步搞定电邮手机推送! 2006-3-8
·MIDP游戏开发中处理文字的换行方案 2005-10-12
·MIDP2.0手机上手电筒程序的实现 2005-10-6
·基于短信网关WAP推送的实现 2005-10-4
·基于CMPP3.0的企业短信网关API设计 2005-10-4
·SmartPhone手机上查看QQ天气预报 2005-10-4
·Windows CE下驱动程序开发基础 2005-10-4
·基于CMPP2及东软API短信平台的开 2005-10-4
·用J2ME的通用联网框架开发联网的应用程序 2005-10-4
·利用J2ME在移动设备上实现动画的解决方案 2005-10-4
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: