无线设备之间的时间同步方法及系统的制作方法_2

文档序号:9768264阅读:来源:国知局
户端之间的时间差,这样,在无线设备进行播放时就可以根据上述时间差调整播放时间,实现了多个无线设备之间能够同步播放。
【附图说明】
[0037]图1为本发明无线设备之间的时间同步方法第一实施例的流程图;
[0038]图2为本发明无线设备之间的时间同步方法第一实施例的确定时间服务器的流程示意图;
[0039]图3为本发明无线设备之间的时间同步方法第一实施例的确定时间服务器的流程示意图;
[0040]图4为本发明无线设备之间的时间同步方法第一实施例的确定时间服务器的流程示意图;
[0041]图5为本发明无线设备之间的时间同步方法第一实施例的时间流程示意图;
[0042]图6为本发明无线设备之间的时间同步系统第一实施例中无线设备的功能模块示意图。
[0043]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0044]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0045]本发明提供一种无线设备之间的时间同步方法。
[0046]参照图1所示,为本发明无线设备之间的时间同步方法第一实施例的流程图。
[0047]在第一实施例中,该无线设备之间的时间同步方法包括:
[0048]步骤S10,在无线局域网内的无线设备之间确定出一个无线设备作为时间服务器,所述无线局域网内的其他无线设备均作为时间客户端;
[0049]步骤S20,所述时间客户端向所述时间服务器发送包含当前第一时间点的第一数据包,以供所述时间服务器在接收到所述第一数据包后,向所述时间客户端发送第二数据包,其中,所述第二数据包中包含有所述第一时间点、所述时间服务器接收到所述第一数据包的第二时间点以及发送所述第二数据包的第三时间点。
[0050]本实施例的方法可以用在多台无线设备之间的音频、视频等的同步播放,或者其他格式文件的播放,例如PPT文件的同步播放等,因此上述无线设备可以是如wifi音箱,蓝牙音箱等无线音箱,或者无线视频播放设备,或者能够实现其他格式文件播放的无线设备。当有多台无线设备相互连接,并需要同步播放时,需要确定局域网中的一台无线设备作为时间服务器,其他的无线设备作为时间客户端,将时间服务器的系统时间作为参考时间以进行时间同步,其中,确定时间服务器可以有多种实施方式,在一实施方式中,可以将固定的一台无线设备作为时间服务器,在另一实施方式中,可以根据仲裁机制将开启时间最早的无线设备作为时间服务器,或者将无线信号最好的无线设备作为时间服务器,具体地,可以按照以下步骤:
[0051]无线局域网内的每一台所述无线设备发送包含有第一物理地址的查询数据包,其中,所述第一物理地址为发送所述查询数据包的无线设备的本机物理地址;
[0052]当所述无线设备接收到所述局域网内其他无线设备发送的响应信息时,则将发送所述响应信息的无线设备作为时间服务器,发送所述查询数据包的无线设备的无线设备作为时间客户端。
[0053]当所述无线设备未接收到所述局域网内其他无线设备发送的响应信息时,检测是否接收到所述局域网内其他无线设备发送的包含有第二物理地址的查询数据包;
[0054]当接收到所述局域网内其他无线设备发送的包含有第二物理地址的查询数据包时,判断所述第一物理地址是否大于所述第二物理地址;
[0055]若所述第一物理地址小于所述第二物理地址,则所述无线设备作为时间客户端,所述第二物理地址对应的无线设备作为时间服务器。
[0056]当无线局域网内有无线设备开启时,发送包含有本机物理地址的查询数据包,可以以广播的形式发送,这样局域网内其他开启的无线设备都能收到,例如UDP(UserDatagram Protocol,用户数据报协议)的形式进行广播,所述数据包为UDP广播包。若此时没有收到任何回复信息,则说明此时局域网内只有一台无线设备开启,则该无线设备作为时间服务器,当后续有其他的无线设备开启时,同样会进行查询数据包的发送,那么此时,上述作为时间服务器的无线设备就可以向其他无线设备发送响应信息,以告知自己就是时间服务器。若无线局域网内有多台无线设备同时开启,则每台无线设备都会收到其他同时开启的无线设备发送的包含有本机物理地址的查询数据包,此时,每一台无线设备均将收到的多个物理地址与自己的物理地址进行对比,将物理地址最大的无线设备作为时间服务器,其他的无线设备作为时间客户端,例如,某一台无线设备进行物理地址的对比后,确认本机的物理地址小于其他设备的物理地址,则确定本机为时间客户端,执行步骤S20,另一台无线设备进行物理地址的对比后,确认本机的物理地址大于其他的无线设备,则确定本机作为时间服务器,当接收到作为时间客户端的无线设备发送的第一数据包后,向其回复第二数据包。
[0057]参照图2至图4所示,为无线设备通过广播方式确定时间服务器的示意图,当一台无线设备A启动后,会发送UDP广播发送查询数据包,检查局域网内是否存在时间服务器。如果该无线设备A没有收到任何回应并且也没有收到其他无线设备的UDP广播查询数据包,无线设备A便成为时间服务器。如果局域网内存在作为时间服务器的无线设备B,则会收到无线设备B的回应,则无线设备A成为时间客户端,并准备与作为时间服务器的无线设备B进行时间同步。
[0058]当有几台无线设备同时启动,例如无线设备A和无线设备B都启动了,都会向外界询问局域网内是否存在其他时间服务器,这个时候无线设备A和无线设备B会进入仲裁机制进行协商,在本实施例中,以物理地址为比较准绳,物理地址最大的作为时间服务器,其他作为时间客户端。协商完成后,进行局域网的无线设备A和无线设备B之间的时间同步。
[0059]需要说明的是,在本实施例中,关于物理地址的大小的比较,从第一位开始进行比较,若第一位相同,则比较第二位,以此类推,其中,若某一位为字母,则将字母转化为数字,例如,字母A对应数字I,B对应数字2,直至字母Z对应数字26,在其他实施例中,也可以将物理地址中的字母转化为数字后,将每一位上的数字相加得到数字总和,数字总和最大的,则物理地址最大,其对应的无线设备作为时间服务器。
[0060]以下以局域网内有第一无线设备A和第二无线设备B为例进行说明,确定第一无线设备A为时间客户端,第二无线设备B作为时间服务器。
[0061]作为时间客户端的第一无线设备A发送第一数据包,该第一数据包内包含有本机当前的系统时间,即第一时间点Tl,第二无线设备B在接收到第一数据包后,获取第一时间点Tl,并记录接收到该第一数据包时第二无线设备B的系统时间,作为第二时间点T2。然后第二无线设备B立即回复第二数据包给第一无线设备A,并记录所述第二无线设备B发送第二数据包给第一无线设备A的系统时间,作为第二时间点T3。其中第二数据包中包括第一时间点Tl、第二时间点T2,以及发送该第二数据包的时间点T3,需要说明的是,上述第一数据包和第二数据包的格式可以根据数据传输方式来确定,例如,如果是以UDP(User DatagramProtocol,用户数据报协议)的形式进行广播,所述数据包为UDP广播包,在其他实施例中,也可以其他形式的数据包进行发送,例如将数据打包后加载时间戳的形式发送数据。
[0062]步骤S30,当所述时间客户端接收到所述第二数据包时,获取接收到所述第二数据包的第四时间点。
[0063]步骤S40,所述时间客户端根据所述第一时间点、所述第二时间点、所述第三时间点和所述第四时间点计算所述时间客户端与所述时间服务器之间的时间差,以根据所述时间差同步所述时间客户端与所述时间服务器的系统时间。
[0064]第一无线设备A接收到第二无线设备B回复的第二数据包时,获取接收到第二数据包的第四时间点T4,设备A根据
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1