云终端设备、从设备及其通信方法和装置的制造方法_3

文档序号:9380331阅读:来源:国知局
口的访问操作。
[0069]在步骤23之后,从设备还可以向云终端设备返回响应数据,此时如图4所示,上述通信方法还可以包括以下步骤:
[0070]步骤24,所述从设备生成用于响应所述第一通信数据的第三通信数据。
[0071]步骤25,所述从设备将所述第三通信数据,封装成无线协议支持的第四通信数据,并在所述第四通信数据中携带所述有线接口的接口信息;
[0072]步骤26,所述从设备通过无线方式,将所述第四通信数据发送给所述云终端设备,以使云终端设备从所述第四通信数据中提取所述第三通信数据和所述有线接口的接口信息,并将所述第三通信数据发送给所述有线接口的接口信息关联的应用程序。
[0073]通过以上步骤24-26,从设备可以进一步向云终端设备返回有线接口的响应数据,实现与云终端设备之间针对有线接口的双向通信。
[0074]为更容易理解本发明的上述实施例,以下再结合一个具体实例,对上述通信方法做更为具体的描述。
[0075]以下实例中,假设云终端设备上未实行串口和并口,云终端设备上模拟了虚拟串口驱动单元和虚拟并口驱动单元;从设备上则设置有串口和并口,同时还包括串口控制单元和并口控制单元。云终端设备与从设备之间可通过蓝牙协议进行无线通信,云终端设备和从设备上均实现了一蓝牙数据收发服务单元。
[0076]下面将以云终端使用串口为例进行说明。
[0077]在Windows32位以上操作系统(Win98以上)中,串口是作为文件来处理的。串口的打开、读写和关闭操作所用的API函数与文件操作函数相同。例如,打开串口用CreateFile函数,读串口用ReadFile函数,写串口用WriteFile函数,关闭串口用CloseHandle函数等。本实例中:
[0078]步骤a,云终端设备上的某个软件使用CreateFile函数打开串行端口 C0M1,会生成打开 COMl 的 I/O 请求包(IRP, I/O Request Packets)。
[0079]步骤b,云终端设备上的虚拟串口驱动单元接收到上述IPR后,构造一用于“打开C0M1”的数据包。
[0080]步骤C,虚拟串口驱动单元将上述数据包发送给云终端上的蓝牙数据收发服务单
J Li ο
[0081]步骤d,蓝牙数据收发服务单元若发现与从设备之间的蓝牙配对已成功,即能够正常收发数据,则将数据按照蓝牙协议的方式进行封装后发送给从设备。这里,封装后的数据携带有期望操作的接口类型和接口名称(本实例中为串口 C0M1)。作为一种示例,下面给出了封装后的蓝牙数据包的一种格式:
[0082]typede struct {
[0083]INT dataType ;
[0084]INT dataLen ;
[0085]INT dataCS ;
[0086]INT res I ;
[0087]INT res2 ;
[0088]V0ID*data ;
[0089]}BTDataPackage ;
[0090]这里,dataType:代表包数据类型,可以有如下几种:串口数据、并口数据、设置数据/设置参数、以及其它类型。
[0091]步骤e,从设备的蓝牙数据收发服务单元按照蓝牙协议,接收并解析云终端设备发送的数据包。
[0092]步骤f,从设备解析数据包后,发现该数据包中携带的接口信息指示的有线接口为串口 COMl,且解析得到的数据里还包括有对串口 COMl的操作参数,如打开COMl的一系列参数,包括波特率、停止位等等。
[0093]步骤g,从设备的串口控制单元,将解析得到的数据写入至相应的寄存器,完成物理上的COMl的相关配置。
[0094]步骤h,从设备的串口控制单元,在执行完上述配置后,生成应答数据包(如用于指示成功打开串口 COMl的应答消息),并通过其蓝牙数据收发服务单元按照蓝牙协议,对应答消息进行封装,并携带COMl的接口信息,然后反馈给云终端设备。
[0095]步骤i,云终端设备的蓝牙数据收发服务单元接收并解析收到的应答数据包,得到COMl的接口信息,从而将解析后得到的应答消息,返回至虚拟串口驱动单元。
[0096]步骤j,云终端设备的虚拟串口驱动单元解析上述应答消息,确定打开COMl成功,于是向对应的应用程序返回成功打开串口 COMl的消息。
[0097]以上步骤d中,蓝牙数据收发服务单元若发现从设备的蓝牙通信不可用,则向虚拟串口驱动单元返回打开串口 COMl失败的消息;虚拟串口驱动单元收到该消息后,进一步向对应的应用程序进行反馈。
[0098]以上通过一实例介绍了本发明实施例的通信方法,最后,基于上述的通信方法,本发明实施例还相应的提供了一种云终端设备的通信装置,如图5所示,该装置包括:
[0099]虚拟驱动单元,用于截获一应用程序发送的针对一有线接口的第一通信数据,以及,将所述第一通信数据封装成与所述云终端设备的无线接口相匹配的第二通信数据,并在所述第二通信数据中携带所述有线接口的接口信息;
[0100]通信服务单元,用于通过所述无线接口,将所述第二通信数据发送给一设置有所述有线接口的从设备,以使所述从设备根据从所述第二通信数据解析得到的所述第一通信数据和所述接口信息,在所述接口信息指示的有线接口上执行对应的接口通信动作。
[0101]这里,所述通信服务单元,还用于通过所述无线接口,接收所述从设备发送的第四通信数据,所述第四通信数据封装有所述有线接口返回的第三通信数据以及所述有线接口的接口信息;
[0102]所述虚拟驱动单元,还用于在截获到所述第一通信数据之后,建立所述应用程序与所述有线接口的接口信息之间的关联关系;根据所述无线接口通信协议,解析所述第四通信数据,获取其中封装的的第三通信数据和有线接口的接口信息;以及,根据所述关联关系,确定所述有线接口的接口信息关联的所述应用程序,并将所述第三通信数据返回给所述应用程序。
[0103]这里,所述通信服务单元,还用于在将所述第一通信数据封装成所述第二通信数据之前,进一步判断所述从设备上设置的所述无线接口是否可达:若是,则将所述第一通信数据封装成与自身无线接口相匹配的第二通信数据;否则,向所述应用程序返回用于指示所述有线接口不可用的消息。
[0104]本发明实施例还提供了一种云终端设备,该设备包括图5所示的通信装置。
[0105]请参照图6,本发明实施例还相应的提供了一种从设备的通信装置,包括:
[0106]通信服务单元,用于通过从设备的无线接口,接收云终端设备发送的第二通信数据,所述第二通信数据中封装有针对一有线接口的第一通信数据和所述有线接口的接口信息;
[0107]接口控制单元,用于解析所述第二通信数据,获得其中封装的第一通信数据和所述有线接口的接口信息;以及,确定所述从设备上与所述有线接口的接口信息对应的有线接口,并在所确定的有线接口上,执行所述第一通信数据对应的接口通信动作。
[0108]这里,所述接口控制单元,还用于在执行完所述接口通信动作之后,成用于响应所述第一通信数据的第三通信数据;
[0109]所述通信服务单元,用于将所述第三通信数据,封装成与所述从设备的无线接口相匹配的第四通信数据,并在所述第四通信数据中携带所述有线接口的接口信息;以及,通过所述从设备的无线接口,将所述第四通信数据发送
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1