具体实施方式
以下结合附图描述本发明的具体实施方式。如本领域技术人员所知,每一条NDIS命令都是以数据包的形式发送的,以下将这个数据包称为NDIS命令包,每一条NDIS命令对应一个NDIS命令包。
如图1A所示,在本发明的一个实施例中,PC侧执行如下的方法:
S10,将AT命令加载到NDIS命令包中;
S15,向通信终端发送所述NDIS命令包;
相对应的,如图1B所示,通信终端一侧执行如下方法:
S20,接收并解析所述加载有AT命令的NDIS命令包;
S25,提取所述AT命令。
本发明的上述实施例通过将AT命令加载在NDIS命令中的方式,使得终端开发商可以在不能直接传输AT命令的情况下,仍然可以利用现在的AT方案快速轻松地开发出基于稳定成熟的AT命令交互的产品,降低了升级的成本。
如图1C所示,在本发明的一个实施例中,在步骤S20和S25之间增加:
S22,判断所述NDIS命令包中是否有AT命令;若有,则执行步骤S25;
这样做的好处在于在事先判断一下NDIS命令包中是否有AT命令,可以不必在解析NDIS命令包的过程中实时的判断解析出来的是不是AT命令,有助于提高效率。
一个NDIS命令包可以加载一条或者多条AT命令。在本发明的一个实施例中,为了方便通信终端识别AT命令,规定使用某条特定的NDIS命令专门用于传输AT命令,这样,通信终端在接到该NDIS命令时便知道其中加载的是AT命令,显然,支持NDIS命令架构的通信终端是可以判别出所接收到的是哪一条NDIS命令的。也即,在计算机一侧的步骤S10具体为:
将AT命令加载到专用于传输AT命令的NDIS命令的命令包中。
相应的,如图1D所示,前述的步骤S22具体为:
S221,判断所述NDIS命令是否为专用于传输AT命令的NDIS命令;若是,则执行步骤25。
在本发明的一个实施例中,将AT命令加载到NDIS命令包中具体是通过如下方式实现的。如图3A所示,前述的步骤S10具体包括:
S101,将所述AT命令加载到NDIS命令包的数据区中;
这一步是将AT命令当作普通的数据,放到NDIS命令的数据区中。
S102,在所述NDIS命令包的数据区中添加第一AT命令标志。
第一AT命令标志用于标明NDIS命令包的数据区中含有AT命令,这一标志可以位于数据区的头部、尾部或者中间,当通信终端在接收到的NDIS命令包中发现这一标志,即可知该命令包的数据区中含有AT命令。这一方式比较适合NDIS命令包的数据区中全部是AT命令的情形。这里,步骤S101和S102的执行顺序是无关紧要的。
相对应的,在通信终端一侧,如图3C所示,前述的步骤S22具体为:
S222,检测所述NDIS命令包的数据区中是否有第一AT命令标志;若有,则执行步骤S25。
在本发明的另一个实施例中,采用在每一条AT命令前添加第二AT命令标志的方法,来区分AT命令和其它数据。如本领域技术人员所知,每一条AT命令都以“AT”开始,以回车符结束,因此在解析某个NDIS命令包的数据区时,发现第二AT命令标志,则其后从“AT”开始到回车符的部分即为一条AT命令。当然,在每条AT命令之后或者在每条AT命令的中间添加第二AT命令标志也是可行的。当NDIS命令包的数据区中既有AT命令又有其他数据时,采用给每条AT命令添加标志的做法,可以区分AT命令和其它数据。如图3B所示,在此种实现方式下,前述的步骤S10具体包括:
S103,给每条AT命令添加第二AT命令标志;
S104,将所述添加第二AT命令标志的AT命令添加到NDIS命令包的数据区中。
相对应的,通信终端一侧的处理流程如图3D所示,前述的步骤S22具体为:
S223,检测所述NDIS命令包的数据区中是否有第二AT命令标志;若有,则执行步骤S251;
前述的步骤S25具体为:
S251,根据所述第二AT命令标志提取所述AT命令。
由于某些AT命令在通信终端侧处理的结果需要和PC侧交互,所以在本发明的某些实施例中,如图2A所示,可以在上述步骤之后增加如下的步骤:
S26,通信终端将所述AT命令的处理结果加载到NDIS命令返回包中;
例如,所述AT命令是获取IP地址,则通信终端将执行AT命令获取到的IP地址加载到NDIS命令返回包中,又如,所述AT命令是获取无线信号的强度,则通信终端将执行AT命令获取到的信号强度加载到NDIS命令返回包中。这里,NDIS命令返回包是指NDIS命令响应返回的数据包,该数据包与前述的NDIS命令是相对应的。
S28,通信终端将所述NDIS命令返回包发送给PC;
S16,PC接收和解析所述NDIS命令返回包;
S18,提取所述AT命令处理的结果。
如图2B所示,在本发明的一些实施例中,在步骤S16和S18之间增加步骤:
S17,PC判断接收到的NDIS命令返回包中是否有AT命令的处理结果;若有,则执行步骤S18。
对于发送和接受AT命令处理结果的方法,亦可如前述发送和接受AT命令的方法,具体实现方式相类似,例如可以使用某条特定的NDIS命令的返回包传输AT命令处理结果,或者在NDIS命令返回包中添加AT命令处理结果的标志,等等。因实现方式同前述的方式类同,此处不再赘述。
本发明实施例所提供的方法,可以通过编写成计算装置可执行的程序代码来实现,上述代码可以存储在一个计算装置可读的存贮介质中,计算装置加载该存储介质中的上述代码,即可执行本发明实施例提供的方法。
图4示出本发明实施例提供的一种计算机的结构示意图。该计算机包括以下模块:
加载模块M10,用于将AT命令加载到NDIS命令包中;
发送模块M15,用于向通信终端发送所述NDIS命令包。
在本发明的一个实施例中,加载模块M10具体用于将AT命令加载到专用于传输AT命令的NDIS命令的命令包中。
如图4中虚线框内的部分所示,在本发明的一个实施例中,该计算机还可以包括:
接收模块M16,用于接收和解析加载有AT命令处理结果的NDIS命令返回包;
提取模块M18,用于提取所述AT命令处理的结果。
在本发明的另一个实施例中,如图4的虚线框中所示,该计算机还可以包括:
判断模块M17,用于判断接收到的NDIS命令返回包中是否有AT命令处理的结果;
在包括判断模块M17的情况下,前述的提取模块M18具体用于当所述NDIS命令返回包中有AT命令处理的结果时,提取所述AT命令处理的结果。这样做的好处在于在事先判断一下NDIS命令包中是否有AT命令,可以不必在解析NDIS命令包的过程中实时的判断解析出来的是不是AT命令,有助于提高效率。
在本发明的一个实施例中,判断模块M17具体用于检测接收到的NDIS命令返回包中是否有AT命令处理结果的标志,提取模块M18具体用于当接收到的NDIS命令返回包的数据区中有AT命令处理结果的标志时,提取所述AT命令处理的结果。
在本发明的另一个实施例中,判断模块M17具体用于判断接收到的NDIS命令返回包是否为专门用于传输AT命令的NDIS命令的返回包,提取模块M18具体用于当接收到的NDIS命令返回包的数据区中是专门用于传输AT命令的NDIS命令的返回包时,提取所述AT命令处理的结果。
如图4所示,在本发明的一个实施例中,前述的加载模块M10具体包括:
数据区加载模块M101,用于将所述AT命令加载到NDIS命令包的数据区中;
标志添加模块M102,用于在所述NDIS命令包的数据区中添加第一AT命令标志。
在本发明的一个实施例中,标志添加模块M102具体用于给每条AT命令添加第二AT命令标志,而数据区加载模块M101具体用于将所述添加AT命令标志的AT命令加载到NDIS命令包的数据区中。
图5A则示出一种相应的通信终端的结构示意图。该通信终端包括以下模块:
接收模块M20,用于接收并解析所述加载有AT命令的NDIS命令包;
提取模块M25,用于提取所述AT命令。
如图5的虚线框中所示,在本发明的一个实施例中,该通信终端还包括:
判断模块M22,用于判断所述NDIS命令包中是否有AT命令;此时提取模块M25具体用于当所述NDIS命令包中有AT命令时,提取所述AT命令。
在本发明的一个实施例中,判断模块M22具体用于判断所述NDIS命令包是否为专用于传输AT命令的NDIS命令包,此时提取模块M25具体用于当所述NDIS命令包是专用于传输AT命令的NDIS命令包时,提取所述AT命令。
在本发明的另一个实施例中,判断模块M22具体用于检测所述NDIS命令包的数据区中是否有第一AT命令标志,提取模块M25具体用于当所述NDIS命令包的数据区中有第一AT命令标志时,提取所述AT命令。如果所述NDIS命令包中的每一条AT命令都带有第二AT命令标志,则判断模块M22具体用于检测所述NDIS命令包的数据区中是否有第二AT命令标志,提取模块M25具体用于根据所述第二AT命令标志提取所述AT命令。
如图5的虚线框中所示,该通信终端还可以包括:
加载模块M26,用于将AT命令处理的结果加载到NDIS命令返回包中;
发送模块M28,用于向通信终端发送所述NDIS命令返回包。
如图5所示,在本发明的一个实施例中,加载模块M26具体包括:
返回包加载模块M261,用于将所述AT命令处理的结果加载到NDIS命令返回包中;
标志添加模块M262,用于在所述NDIS命令返回包中添加AT命令处理结果的标志。
前述的通信终端,可以是手机、数据卡、调制解调器等通信设备。
上述计算机和通信终端的具体实现,在前面的方法实施例中已有详细描述,此处不再赘述。
图6是本发明的系统实施例的结构示意图,该系统包括:
计算机D10,用于向通信终端D15发送加载有AT命令的NDIS命令包;
通信终端D15,用于接收并解析所述NDIS命令包,并从中提取所述AT命令。
此系统中各设备的实现前已有说明,此处不再赘述。
以上实施例中分别说明的各技术、系统、装置、方法以及各实施例中分别说明的技术特征可以进行组合,从而形成不脱离本发明的精神和原则之内的其他的模块,方法,装置,系统及技术,这些根据本发明实施例的记载组合而成的模块,方法,装置,系统及技术均在本发明的保护范围之内。
显然,本领域的技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行。或者将它们分别制作成各个电路模块,或者将它们中的多个单元或步骤制作成单个电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上只是本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。