我有一个GSM模块,现在与电脑相连,用VB开发语言实现与手机之间进行收发短信,不管是中文,还是英文,或是数字、符号。在数据传输方面还有其它的要求吗?有关于这方面的书籍吗或网站吗 ?请各位高手指点迷津,急啊!!

解决方案 »

  1.   

    你搜索一下以前的帖子,有程序的,很简单的,WAVECOM 和 西门子的模块都好使的。
      

  2.   

    http://www.csdn.net/develop/read_article.asp?id=17465
      

  3.   

    使用GSM MODEM的AT指令集。
    传输时是采用ASCII码的。
    一开始可以先用超级终端进行调试,这样有利于熟悉AT指令及它的响应结果。
    如果是用来发一般的文字短信,可以采用USC2编码方式,如果用于数据通信方面,建议采用默认字母表方式,这样最多可以发160个字符。
      

  4.   

    回复人: pzeping2003(空空) ( ) 信誉:100  2004-08-31 13:39:00  得分: 0  
     
    在接收短信息时,如何显示我想要的格式呢?
    比如说:时间,对方号码,短信内容,
    或者是:对方手机号码,时间,短信内容
    ----------------------------------------------------------------------------
    请研究一下短信的PDU格式,对于你要的这些信息,接收的短信里是有相关内容的。
    在接收的短信里,会包括短信中心号码和对方号码,对方号码称为源地址(Originating Address),也叫主叫号码。短信中心号码和主叫号码均经过了十六进制以字节为单位的高低字节换位处理。如:91683108214365F7,其中91表示号码前面有"+"号,683108214365F7表示
    8613801234567。时间包含在一个叫作时间邮戳(TimeStamp)的信息段里,包括日期、时间、时区。如:40801351631300,表示04-08-31 15:36:31 GMT短信内容是在最后部分,称为用户数据(User Data)。一般中文都是采用USC2码,也就是UNICODE,这个解码起来比较方便,把UNICODE转成GB1232就行了。如果是采用默认字母表方式编码,则处理起来要复杂些,它编码时是把每个ASCII码取7位,然后和后面的字符的位拼装成一个字节(8位)。所以采用后一种编码方式时,尽管一条短信的用户数据长度只能是140字节,但实际可以收发160字节(140×8/7)。而采用中文方式只可以发70个字(即140字节)。具体格式定义请你查阅相关资料。
      
     
      

  5.   

    我做过这程序,几家单位正在用!其实大都是GSM功能,
    我们只需通过串口接受信息,然后转换一下码
    简单,想要加我msn :[email protected]
      

  6.   

    http://bbs.sendsms.com.cn/index.php?showtopic=21
      

  7.   

    大都是GSM功能,
    我们只需通过串口接受信息,然后转换一下码
      

  8.   

    我曾经写过一个收短信的程序,纯vb代码,我可以给你。QQ:55562196
      

  9.   

    用MSComm控件向串口数据发就行了,当然要按照协议
    文本方式初始化的例子,你找找相应文档吧
    Public Function InitCom(Optional ComNum As Integer = 1, Optional Setting As String = "9600,N,8,1") As Long
    '打开并初始化端口
    '0  Success
    '1  unexpected error
    On Error GoTo UExpErr    Form1.MSComm1.CommPort = ComNum       '设置端口
        Form1.MSComm1.Settings = Setting
        Form1.MSComm1.PortOpen = True
        Form1.MSComm1.Handshaking = comRTS
        Form1.MSComm1.RTSEnable = True
        Form1.MSComm1.InputMode = comInputModeText
        
        SendString "AT+CMGF =1"               '设置为中文短信Text模式
        SendString "AT+CSMP=17,167,0,8"
        
    UExpErr:
        InitCom = 1
    End Function