CN111200805A - 基于蓝牙设备的蓝牙组网方法及其系统 - Google Patents
基于蓝牙设备的蓝牙组网方法及其系统 Download PDFInfo
- Publication number
- CN111200805A CN111200805A CN201811376324.XA CN201811376324A CN111200805A CN 111200805 A CN111200805 A CN 111200805A CN 201811376324 A CN201811376324 A CN 201811376324A CN 111200805 A CN111200805 A CN 111200805A
- Authority
- CN
- China
- Prior art keywords
- terminal
- bluetooth
- terminals
- key value
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006855 networking Effects 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 claims description 25
- 230000003993 interaction Effects 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供基于蓝牙设备的蓝牙组网方法及其系统,方法包括终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和路由表;终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中;终端将所述其他终端发送过来的数据依序放入消息队列线程;终端依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATT SERVER线程的服务地址,将数据分别写入所述各设备对象对应的终端。提供一种去中心化的数据交互思路,在无网的情况下,能通过自组网,在网内实现不受终端数量限制的进行终端之间的数据互通。
Description
技术领域
本发明涉及蓝牙设备领域,具体涉及基于蓝牙设备的蓝牙组网方法及其系统。
背景技术
现阶段,移动设备在无网络情况下,一般都是靠WIFI来连接的,然而在没有WIFI的情况下,则可采用蓝牙组网的方式来实现网内的数据传输。经过调研发现,目前蓝牙组网的情况下,IOS能支持8台手机进行连接,而Android则只能支持5台手机连接。如果要超过以上设备连接数限制的话,按照现有的设备是无法达到的。
那么,为何会产生这种情况呢?这是因为在蓝牙4.0技术领域情况下,通过一台设备开启GATT SERVER服务,让其它设备将数据写入至该设备,也可以使得其它设备从该设备读取数据。而这单台设备的连接个数是有上限的。按照使用场景来讲,GATT协议是针对蓝牙低功耗设备开发的协议,如手表、空调等。而这个场景下,需要一台设备作为中央服务器,将数据共享给其它设备或让其它设备上传数据。该中央服务器仅是对外提供数据源。而这种方案是中心化方案。
根据上述可知,如果要应用在聊天、图片、语音同步聊天发送的场景下,由于单台设备连接数的上限,使得多台现有的蓝牙4.0设备之间无法真正的实现网内数据传输。因而,有必要提供一种基于蓝牙设备的蓝牙组网方法及其系统,以实现不受设备数量限制的基于蓝牙创建自组网,并基于自组网进行数据传输。
发明内容
本发明所要解决的技术问题是:提供基于蓝牙设备的蓝牙组网方法及其系统,能够不受设备数量限制的基于蓝牙自组网,并在网内进行数据互传。
为了解决上述技术问题,本发明采用的技术方案为:
基于蓝牙设备的蓝牙组网方法,包括:
终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表;
终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址;
终端将所述其他终端发送过来的数据依序放入消息队列线程;
终端依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATTSERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
本发明提供的另一个技术方案为:
一种基于蓝牙设备的蓝牙组网系统,包括至少两个的终端;
所述终端包括:
创建模块,用于终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表;
路由表创建模块,用于将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址;
数据接收模块,用于将所述其他终端发送过来的数据依序放入消息队列线程;
数据写入模块,用于依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATT SERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
本发明的有益效果在于:提供一种去中心化的数据交互思路。将每个终端从逻辑上定义为转发器,每个终端都具备客户端和服务端,同时创建一张路由表。基于转发器的路由原理,利用每个终端自身的消息路由将数据分发至其他终端。在无网的情况下,能通过自组网,在网内实现不受终端数量限制的进行终端之间的数据互通。特别适用于实现多终端之间在无网络情况下进行数据、音频、视频的高效同步。
附图说明
图1为本发明基于蓝牙设备的蓝牙组网方法的流程示意图;
图2为本发明实施例一的流程示意图;
图3为本发明基于蓝牙设备的蓝牙组网系统的功能模块组成示意图。
标号说明:
1、创建模块;2、路由表创建模块;3、数据接收模块;4、数据写入模块;
5、生成模块;6、目录创建模块;7、获取模块;
21、扫描单元;22、第一写入单元;23、第一连接单元;24、第二写入单元。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:基于转发器的路由原理,利用每个终端自身的消息路由将数据分发至其他终端,实现不受终端数量限制的进行终端之间的数据互通。
本发明涉及的技术术语解释:
请参照图1,本发明提供基于蓝牙设备的蓝牙组网方法,包括:
终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表;
终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址;
终端将所述其他终端发送过来的数据依序放入消息队列线程;
终端依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATTSERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
从上述描述可知,本发明的有益效果在于:充分利用了转发器原理进行组网,使得用户在无网络的情况下也能不受终端数量限制的进行自由的组网并进行数据互通。特别适用于实现多终端之间在无网络情况下进行数据、音频、视频的高效同步。
进一步的,所述终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,具体为:
终端依据预设UUID扫描获取至少一个其他终端;
将所述其他终端的蓝牙设备IP地址写入到对等网络节点的列表中;
终端的GATT CLIENT线程遍历所述列表,依据列表中的蓝牙设备IP地址建立与所述其他终端的蓝牙通讯连接;
终端将所述其他终端的设备对象写入路由表中,所述设备对象包括蓝牙广播ID、蓝牙设备IP地址和GATT SERVER线程的服务地址。
由上述描述可知,在一具体实施方式中,能够依据预设的UUID快速且准确地扫描获取指定的终端;依据终端的IP地址创建路由表,以实现基于路由表将数据分发至指定的终端,即保证终端之间可以找到指定的终端。
进一步的,所述终端将所述其他终端的设备对象写入路由表中,具体为:
若所述蓝牙通讯连接建立成功,则将对应的蓝牙设备IP从列表中移除,并将对应的终端的设备对象写入路由表中;
若所述蓝牙通讯连接建立失败,则获取所述列表中的下一个蓝牙设备IP地址。
由上述描述可知,通过创建用于存放待连接终端的列表,一旦成功连接即将终端移出列表,写入路由表,实现高效性、有条理性地控制终端之间的蓝牙通信连接关系和路由关系。
进一步的,所述终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,之后,还包括为:
通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应的哈希键值对,并将其发送至与其连接的其他终端。
由上述描述可知,以具备唯一标识作用的终端IP地址和序列号生成同样具备唯一标识作用的哈希键值对作为终端之间数据传输的身份标识和数据存储标识,能确保终端之间数据传输的准确性和高效性,;同时又能方便便捷性、准确性地提取对应终端的同步数据。
进一步的,所述通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应哈希键值对,并将其发送至与其连接的其他终端,具体为:
第一终端依据自身IP地址和终端序列号生成哈希键值对X1;
第一终端发送哈希键值对X1至第二终端;
第二终端存储第一终端发送过来的哈希键值对X1至本地;
第二终端依据自身IP地址和终端序列号生成哈希键值对X2;
第二终端发送哈希键值对X2至第一终端;
第一终端存储第二终端发送过来的哈希键值对X2至本地;
第二终端发送哈希键值对X2至第三终端;
第三终端存储第二终端发送过来的哈希键值对X2至本地;
第三终端依据自身IP地址和终端序列号生成哈希键值对X3;
第三终端发送哈希键值对X3至第二终端;
第二终端存储第三终端发送过来的哈希键值对X3至本地。
由上述描述可知,在一具体实施方式中,三个终端通过上述过程实现各自身份标识的备案,以便后续数据交互过程的数据传输。
进一步的,还包括:
终端依据接收到的哈希键值对分别创建对应的文件目录;
终端通过回调GATT SERVER线程的服务地址获取其他终端写入的数据,并依据写入的终端将所述数据存入对应的文件目录。
由上述描述可知,通过将从其他终端同步过来的数据统一存储在指定位置,方便在有需求时能快速且准确的调取,提高响应速度。
本发明提供的另一个技术方案为:
请参阅图3,一种基于蓝牙设备的蓝牙组网系统,包括至少两个的终端;
所述终端包括:
创建模块,用于终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表;
路由表创建模块,用于将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址;
数据接收模块,用于将所述其他终端发送过来的数据依序放入消息队列线程;
数据写入模块,用于依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATT SERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
从上述描述可知,本发明的有益效果在于:充分利用了转发器原理进行组网,在不用对终端的硬件结构做任何改进的情况下,以软件形式低成本、轻松地做到在无网络的情况下也能不受终端数量限制的进行自由的组网并进行数据互通。特别适用于实现多终端之间在无网络情况下进行数据、音频、视频的高效同步。因而,本发明的系统具有较高的实用性。
进一步的,所述路由表创建模块包括:
扫描单元,用于终端依据预设UUID扫描获取至少一个其他终端;
第一写入单元,用于将所述其他终端的蓝牙设备IP地址写入到对等网络节点的列表中;
第一连接单元,用于终端的GATT CLIENT线程遍历所述列表,依据列表中的蓝牙设备IP地址建立与所述其他终端的蓝牙通讯连接;
第二写入单元,用于终端将所述其他终端的设备对象写入路由表中,所述设备对象包括蓝牙广播ID、蓝牙设备IP地址和GATT SERVER线程的服务地址。
进一步的,所述终端还包括:
生成模块,用于通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应的哈希键值对,并将其发送至与其连接的其他终端。
进一步的,所述终端还包括:
目录创建模块,用于依据接收到的哈希键值对分别创建对应的文件目录;
获取模块,用于通过回调GATT SERVER线程的服务地址获取其他终端写入的数据,并依据写入的终端将所述数据存入对应的文件目录。
实施例一
针对背景技术中提出的现有的蓝牙组网为中心化思想,因而受限于单台终端能够支持的蓝牙连接数,从而存在无法实现多台终端(IOS系统8台以上,安卓系统5台以上)之间基于蓝牙自组网进行数据传输同步的问题。
本实施例提供一种基于蓝牙设备的蓝牙组网方法,所涉及的终端为配备有4.0以上蓝牙设备的任意一种终端设备,如手机、录音机、MP3、MP4、平板、电脑等其他智能终端。
其技术构思为:
如果有台终端具备了数据转发的能力,那么该终端就能把接收到的数据传递给其它终端了。根据以上的设想,本实施例将所有均为蓝牙4.0为基础的终端从逻辑上都定义为转发器。每个转发器都具备了客户端和服务端,即蓝牙4.0技术领域下的GATT CLIENT服务和GATT SERVER服务。通过转发器实现多台设备的数据传递与存储。
首先,通过实验来验证转发器的结论。在这里我们使用两台终端(假设为手机)进行试验,对应转发器A和转发器B。首先通过A的GATT CLIENT连接到B的GATT SERVER;紧接着通过B的GATT CLIENT连接到A的GATT SERVER。连接成功后,点击发送。实验结果是手机A发送数据到手机B,手机B又将数据发回给手机A,实现整条数据链的数据循环。
为确保转发器能支持多台以上终端的数据转发功能,我们通过了6台手机进行测试,实验结果也是能够实现整条数据链的数据循环。
经过以上实验验证,利用转发器的原理,可以解决IOS设备和Android设备以及其它设备的蓝牙连接数量受限的问题。
本实施例提供的方案和以往其它方案(即现有技术)不同的是,本方案基于转发器的原理,利用每台设备自身的消息路由分发消息来解决在蓝牙组网中的设备上限的问题,从而规避了设备中心化所带来的问题。
下面,请参阅图2,将详细具体的说明本实施例提供的基于蓝牙设备的蓝牙组网方法所包含的步骤:
S1:终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表。
具体而言,每个终端均通过各自的系统执行以下步骤:
1、利用自身的GATT端,即GATT CLIENT服务创建对应的GATT CLIENT线程;
2、利用自身的GATT SERVER端,即GATT SERVER服务创建对应的GATT SERVER线程;
3、创建消息队列线程,并且不间断的执行中;用于消息的写入和取出;
4、创建一个路由表,用于实现路由管理。
上述步骤1-4的执行不分先后。
S2:终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址。
在一具体实施方式中,该步骤可以包括以下子步骤:
S21:终端依据预设UUID扫描获取至少一个其他终端;
具体的,在该步骤之前,还包括预设指定的UUID的步骤。可选的,该步骤包括:依据预设的UUID发布GAP,即开启蓝牙扫描功能,进行蓝牙广播;扫描获取UUID一致的终端。优选的,蓝牙广播的数据包括UUID和Address(蓝牙设备的服务地址)。当蓝牙设备开启GAP广播后,在设备扫描过程中能优先找到发射GAP广播的蓝牙设备,以实现快速、准确地获取指定的终端,从而提高指定终端之间蓝牙连接的效率。
S22:将所述其他终端的蓝牙设备IP地址写入到对等网络节点的列表中;
具体的,将终端每扫描到的一台符合系统预设的UUID的终端时,便会将其蓝牙设备IP地址添加到对等网络节点(简称Peer)中,以高效获取待蓝牙连接的终端列表。
S23:终端的GATT CLIENT线程遍历所述列表,依据列表中的蓝牙设备IP地址建立与所述其他终端的蓝牙通讯连接;若所述蓝牙通讯连接建立成功,则执行S24。
具体的,当扫描到一台指定的终端,便会执行所述S23步骤,与遍历到的终端进行蓝牙连接,并在连接成功后及时将已连接的终端移出列表,避免对应同一终端重复进行连接,降低组网效率。而对于连接失败的终端,仍保留在列表中,在扫描到下一指定终端后将再次被遍历到,再次尝试连接,以尽可能高效地建立当前终端与其他所有指定终端之间的蓝牙连接关系。
S24:将连接成功的终端对应的蓝牙设备IP从列表中移除,并将其设备对象写入路由表中;所述设备对象包括蓝牙广播ID、蓝牙设备IP地址和GATT SERVER线程的服务地址。
对应本具体实施方式的一运用实例中,若所述蓝牙通讯连接建立失败,可执行S25:与当前遍历到的终端连接失败后,继续遍历列表,获取所述列表中的下一个蓝牙设备IP地址,进行蓝牙连接。
可选的,上述的具体实施方式还可以包括:
S26:通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应的哈希键值对,并将其发送至与其连接的其他终端进行存储。
假设有需求基于蓝牙建立三台终端的自组网络,则该步骤可以通过以下子步骤实现:
第一终端依据自身IP地址和终端序列号生成哈希键值对X1;
第一终端发送哈希键值对X1至第二终端;
第二终端存储第一终端发送过来的哈希键值对X1至本地;
第二终端依据自身IP地址和终端序列号生成哈希键值对X2;
第二终端发送哈希键值对X2至第一终端;
第一终端存储第二终端发送过来的哈希键值对X2至本地;
第二终端发送哈希键值对X2至第三终端;
第三终端存储第二终端发送过来的哈希键值对X2至本地;
第三终端依据自身IP地址和终端序列号生成哈希键值对X3;
第三终端发送哈希键值对X3至第二终端;
第二终端存储第三终端发送过来的哈希键值对X3至本地。
若有需求加入其它终端,比如对应IOS系统的8台以上终端之间的蓝牙自组网,对应安卓系统的5台以上终端的蓝牙自组网。则以此类推,其它终端均按照上述步骤组网。
通过上述步骤完成不限终端数量的蓝牙自组网后,将已经能实现自组网内终端之间的数据同步。下面,将以自组网内其中一台终端的数据同步操作为例展开进行详细的说明:
S3:终端将所述其他终端发送过来的数据依序放入消息队列线程。
具体的,假设其中一台终端的系统接收到用户输入的文本数据后(也可直接从终端系统中预存的数据进行同步),将文本数据以消息的形式放入自身的消息队列线程中。
S4:终端依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATT SERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
具体的,由于消息队列线程在不间断执行中,因此终端的路由器将不断地执行从消息队列中顺序读取消息数据;如果队列中存在消息数据,则立即遍历路由表中记录的终端,依据遍历到的终端对应的设备对象将消息数据写入该终端的系统中,从而实现基于路由表的数据分发。具体的写入操作是依据设备对象中记载的其终端的GATT SERVER线程的服务地址(可供写入数据的服务地址),通过调用该服务地址,将消息数据写入。
对应上述步骤S2的子步骤S26,提供一具体实施方式:
上述数据同步操作中的S3之前,对应自组网内待接收上述终端发出的同步数据的其他终端,将包括:
其他的各个终端均依据各自接收到的哈希键值对分别创建对应的文件目录,用于存储对应终端同步过来的数据。以及
终端通过调用自身GATT SERVER线程的服务地址,获取被写入的数据,并对应该数据的写入终端,将该数据写入到对应该写入终端的文件目录中存储,实现同步数据的合理归整,便于后续能快速获取所需数据。
实施例二
请参照图3,本实施例对应实施例一,提供一种基于蓝牙设备的蓝牙组网系统,包括至少两个的终端;
所述终端包括:
创建模块1,用于终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表;
路由表创建模块2,用于将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址;
数据接收模块3,用于将所述其他终端发送过来的数据依序放入消息队列线程;
数据写入模块4,用于依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATT SERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
在一具体实施方式中,所述路由表创建模块2包括:
扫描单元21,用于终端依据预设UUID扫描获取至少一个其他终端;
第一写入单元22,用于将所述其他终端的蓝牙设备IP地址写入到对等网络节点的列表中;
第一连接单元23,用于终端的GATT CLIENT线程遍历所述列表,依据列表中的蓝牙设备IP地址建立与所述其他终端的蓝牙通讯连接;
第二写入单元24,用于终端将所述其他终端的设备对象写入路由表中,所述设备对象包括蓝牙广播ID、蓝牙设备IP地址和GATT SERVER线程的服务地址。
具体的,所述第一连接单元,具体用于若所述蓝牙通讯连接建立成功,则将对应的蓝牙设备IP从列表中移除,并将对应的终端的设备对象写入路由表中;以及用于若所述蓝牙通讯连接建立失败,则获取所述列表中的下一个蓝牙设备IP地址。
进一步的,所述终端还包括:
生成模块5,用于通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应的哈希键值对,并将其发送至与其连接的其他终端。
在一具体运用实例中,以三个终端之间交互哈希键值对的过程为例,详细说明终端的生成模块的具体功能:
第一终端的生成模块,具体用于依据自身IP地址和终端序列号生成哈希键值对X1;发送哈希键值对X1至第二终端;存储第二终端发送过来的哈希键值对X2至本地;
第二终端的生成模块,具体用于存储第一终端发送过来的哈希键值对X1至本地;以及依据自身IP地址和终端序列号生成哈希键值对X2;发送哈希键值对X2至第一终端;发送哈希键值对X2至第三终端;存储第三终端发送过来的哈希键值对X3至本地;
第三终端的生成模块,具体用于存储第二终端发送过来的哈希键值对X2至本地;依据自身IP地址和终端序列号生成哈希键值对X3;发送哈希键值对X3至第二终端。
进一步的,所述终端还包括:
目录创建模块6,用于依据接收到的哈希键值对分别创建对应的文件目录;
获取模块7,用于通过回调GATT SERVER线程的服务地址获取其他终端写入的数据,并依据写入的终端将所述数据存入对应的文件目录。
综上所述,本发明提供的基于蓝牙设备的蓝牙组网方法及其系统,不仅能实现在无网络情况下,能通过自组网,在网内实现不受终端数量限制的进行终端之间的数据互通;并且能确保终端之间数据传输的高效性和准确性;进一步的,无需对终端关于硬件方面做任何改进,大大降低了实现成本,具备较高实用性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.基于蓝牙设备的蓝牙组网方法,其特征在于,包括:
终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表;
终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址;
终端将所述其他终端发送过来的数据依序放入消息队列线程;
终端依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATTSERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
2.如权利要求1所述的基于蓝牙设备的蓝牙组网方法,其特征在于,所述终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,具体为:
终端依据预设UUID扫描获取至少一个其他终端;
将所述其他终端的蓝牙设备IP地址写入到对等网络节点的列表中;
终端的GATT CLIENT线程遍历所述列表,依据列表中的蓝牙设备IP地址建立与所述其他终端的蓝牙通讯连接;
终端将所述其他终端的设备对象写入路由表中,所述设备对象包括蓝牙广播ID、蓝牙设备IP地址和GATT SERVER线程的服务地址。
3.如权利要求2所述的基于蓝牙设备的蓝牙组网方法,其特征在于,所述终端将所述其他终端的设备对象写入路由表中,具体为:
若所述蓝牙通讯连接建立成功,则将对应的蓝牙设备IP从列表中移除,并将对应的终端的设备对象写入路由表中;
若所述蓝牙通讯连接建立失败,则获取所述列表中的下一个蓝牙设备IP地址。
4.如权利要求1所述的基于蓝牙设备的蓝牙组网方法,其特征在于,所述终端将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,之后,还包括:
通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应的哈希键值对,并将其发送至与其连接的其他终端。
5.如权利要求4所述的基于蓝牙设备的蓝牙组网方法,其特征在于,所述通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应哈希键值对,并将其发送至与其连接的其他终端,具体为:
第一终端依据自身IP地址和终端序列号生成哈希键值对X1;
第一终端发送哈希键值对X1至第二终端;
第二终端存储第一终端发送过来的哈希键值对X1至本地;
第二终端依据自身IP地址和终端序列号生成哈希键值对X2;
第二终端发送哈希键值对X2至第一终端;
第一终端存储第二终端发送过来的哈希键值对X2至本地;
第二终端发送哈希键值对X2至第三终端;
第三终端存储第二终端发送过来的哈希键值对X2至本地;
第三终端依据自身IP地址和终端序列号生成哈希键值对X3;
第三终端发送哈希键值对X3至第二终端;
第二终端存储第三终端发送过来的哈希键值对X3至本地。
6.如权利要求4所述的基于蓝牙设备的蓝牙组网方法,其特征在于,还包括:
终端依据接收到的哈希键值对分别创建对应的文件目录;
终端通过回调GATT SERVER线程的服务地址获取其他终端写入的数据,并依据写入的终端将所述数据存入对应的文件目录。
7.一种基于蓝牙设备的蓝牙组网系统,其特征在于,包括至少两个的终端;
所述终端包括:
创建模块,用于终端分别创建GATT CLIENT线程、GATT SERVER线程、消息队列线程和一路由表;
路由表创建模块,用于将与其GATT CLIENT线程连接的其他终端的设备对象写入路由表中,所述设备对象包括GATT SERVER线程的服务地址;
数据接收模块,用于将所述其他终端发送过来的数据依序放入消息队列线程;
数据写入模块,用于依序从所述消息队列线程中读取出数据,并依据路由表中各设备对象的GATT SERVER线程的服务地址,将所述数据分别写入所述各设备对象对应的终端。
8.如权利要求7所述的基于蓝牙设备的蓝牙组网系统,其特征在于,所述路由表创建模块包括:
扫描单元,用于终端依据预设UUID扫描获取至少一个其他终端;
第一写入单元,用于将所述其他终端的蓝牙设备IP地址写入到对等网络节点的列表中;
第一连接单元,用于终端的GATT CLIENT线程遍历所述列表,依据列表中的蓝牙设备IP地址建立与所述其他终端的蓝牙通讯连接;
第二写入单元,用于终端将所述其他终端的设备对象写入路由表中,所述设备对象包括蓝牙广播ID、蓝牙设备IP地址和GATT SERVER线程的服务地址。
9.如权利要求7所述的基于蓝牙设备的蓝牙组网系统,其特征在于,所述终端还包括:
生成模块,用于通讯连接的终端依据其蓝牙设备IP地址和终端序列号生成对应的哈希键值对,并将其发送至与其连接的其他终端。
10.如权利要求9所述的基于蓝牙设备的蓝牙组网系统,其特征在于,所述终端还包括:
目录创建模块,用于依据接收到的哈希键值对分别创建对应的文件目录;
获取模块,用于通过回调GATT SERVER线程的服务地址获取其他终端写入的数据,并依据写入的终端将所述数据存入对应的文件目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811376324.XA CN111200805B (zh) | 2018-11-19 | 2018-11-19 | 基于蓝牙设备的蓝牙组网方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811376324.XA CN111200805B (zh) | 2018-11-19 | 2018-11-19 | 基于蓝牙设备的蓝牙组网方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111200805A true CN111200805A (zh) | 2020-05-26 |
CN111200805B CN111200805B (zh) | 2023-11-24 |
Family
ID=70747439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811376324.XA Active CN111200805B (zh) | 2018-11-19 | 2018-11-19 | 基于蓝牙设备的蓝牙组网方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111200805B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885562A (zh) * | 2020-07-01 | 2020-11-03 | 精伦电子股份有限公司 | 一种蓝牙组网方法及系统 |
CN113411866A (zh) * | 2021-06-02 | 2021-09-17 | 厦门市思芯微科技有限公司 | 一种安全高效的组播配网方系统、电子设备以及存储介质 |
CN113438631A (zh) * | 2021-06-05 | 2021-09-24 | 浙江工业大学 | 一种单移动端与多蓝牙设备二次并发连接的方法 |
CN114302433A (zh) * | 2021-12-28 | 2022-04-08 | 深圳市创维软件有限公司 | 多台设备Mesh组网方法、设备及可读存储介质 |
WO2023115554A1 (zh) * | 2021-12-24 | 2023-06-29 | 杭州所思互连科技有限公司 | 基于蓝牙ble的远程安全组网装置、方法、计算机设备和存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080003975A1 (en) * | 2006-06-30 | 2008-01-03 | Samsung Electronics Co., Ltd. | Emergency message transmission method and mobile terminal |
US20120057518A1 (en) * | 2010-06-24 | 2012-03-08 | 9Solutions Oy | Bluetooth networking |
CN102761351A (zh) * | 2011-04-27 | 2012-10-31 | 比亚迪股份有限公司 | 一种基于蓝牙技术的信息传输方法及系统 |
CN102780513A (zh) * | 2011-05-13 | 2012-11-14 | 希姆通信息技术(上海)有限公司 | 移动终端以及移动终端之间实现蓝牙通信的方法 |
CN102946378A (zh) * | 2012-10-16 | 2013-02-27 | 江苏南大腾龙信息科技有限公司 | 基于蓝牙的移动定位与多媒体信息推送网络系统 |
CN103179635A (zh) * | 2013-01-11 | 2013-06-26 | 南京邮电大学 | 一种基于蓝牙的Android移动设备自组网和通信的方法 |
CN103259859A (zh) * | 2013-05-08 | 2013-08-21 | 王天一 | 一种基于Android的体域网及其智能终端连接方法 |
US20130275513A1 (en) * | 2011-01-01 | 2013-10-17 | Valeriy Borovyk | Wireless ad-hoc network facilitating social interactions among plurality of users |
CN104660308A (zh) * | 2015-01-26 | 2015-05-27 | 武汉健坤科技有限公司 | 基于蓝牙低功耗技术的文件传输方法和系统 |
CN105827282A (zh) * | 2016-05-24 | 2016-08-03 | 卧槽科技(深圳)有限公司 | 一种蓝牙设备组网方法、装置及蓝牙设备 |
US20160359925A1 (en) * | 2015-06-08 | 2016-12-08 | Lg Electronics Inc. | Method and apparatus for transmitting and receiving data in wireless communication system |
CN106604212A (zh) * | 2016-12-21 | 2017-04-26 | 深圳市北电仪表有限公司 | 一种基于BLE属性及GATT的mesh组网方法 |
CN106793001A (zh) * | 2017-01-19 | 2017-05-31 | 深圳市民益得信息科技有限公司 | 一种无线通信网络组网方法及装置 |
US20170223615A1 (en) * | 2014-07-31 | 2017-08-03 | Lg Electronics Inc. | Method and apparatus for controlling electronic device in wireless communication system supporting bluetooth communication |
-
2018
- 2018-11-19 CN CN201811376324.XA patent/CN111200805B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080003975A1 (en) * | 2006-06-30 | 2008-01-03 | Samsung Electronics Co., Ltd. | Emergency message transmission method and mobile terminal |
US20120057518A1 (en) * | 2010-06-24 | 2012-03-08 | 9Solutions Oy | Bluetooth networking |
US20130275513A1 (en) * | 2011-01-01 | 2013-10-17 | Valeriy Borovyk | Wireless ad-hoc network facilitating social interactions among plurality of users |
CN102761351A (zh) * | 2011-04-27 | 2012-10-31 | 比亚迪股份有限公司 | 一种基于蓝牙技术的信息传输方法及系统 |
CN102780513A (zh) * | 2011-05-13 | 2012-11-14 | 希姆通信息技术(上海)有限公司 | 移动终端以及移动终端之间实现蓝牙通信的方法 |
CN102946378A (zh) * | 2012-10-16 | 2013-02-27 | 江苏南大腾龙信息科技有限公司 | 基于蓝牙的移动定位与多媒体信息推送网络系统 |
CN103179635A (zh) * | 2013-01-11 | 2013-06-26 | 南京邮电大学 | 一种基于蓝牙的Android移动设备自组网和通信的方法 |
CN103259859A (zh) * | 2013-05-08 | 2013-08-21 | 王天一 | 一种基于Android的体域网及其智能终端连接方法 |
US20170223615A1 (en) * | 2014-07-31 | 2017-08-03 | Lg Electronics Inc. | Method and apparatus for controlling electronic device in wireless communication system supporting bluetooth communication |
CN104660308A (zh) * | 2015-01-26 | 2015-05-27 | 武汉健坤科技有限公司 | 基于蓝牙低功耗技术的文件传输方法和系统 |
US20160359925A1 (en) * | 2015-06-08 | 2016-12-08 | Lg Electronics Inc. | Method and apparatus for transmitting and receiving data in wireless communication system |
CN105827282A (zh) * | 2016-05-24 | 2016-08-03 | 卧槽科技(深圳)有限公司 | 一种蓝牙设备组网方法、装置及蓝牙设备 |
CN106604212A (zh) * | 2016-12-21 | 2017-04-26 | 深圳市北电仪表有限公司 | 一种基于BLE属性及GATT的mesh组网方法 |
CN106793001A (zh) * | 2017-01-19 | 2017-05-31 | 深圳市民益得信息科技有限公司 | 一种无线通信网络组网方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885562A (zh) * | 2020-07-01 | 2020-11-03 | 精伦电子股份有限公司 | 一种蓝牙组网方法及系统 |
CN113411866A (zh) * | 2021-06-02 | 2021-09-17 | 厦门市思芯微科技有限公司 | 一种安全高效的组播配网方系统、电子设备以及存储介质 |
CN113411866B (zh) * | 2021-06-02 | 2024-04-26 | 厦门市思芯微科技有限公司 | 一种安全高效的组播配网方系统、电子设备以及存储介质 |
CN113438631A (zh) * | 2021-06-05 | 2021-09-24 | 浙江工业大学 | 一种单移动端与多蓝牙设备二次并发连接的方法 |
WO2023115554A1 (zh) * | 2021-12-24 | 2023-06-29 | 杭州所思互连科技有限公司 | 基于蓝牙ble的远程安全组网装置、方法、计算机设备和存储介质 |
CN114302433A (zh) * | 2021-12-28 | 2022-04-08 | 深圳市创维软件有限公司 | 多台设备Mesh组网方法、设备及可读存储介质 |
CN114302433B (zh) * | 2021-12-28 | 2023-09-01 | 深圳市创维软件有限公司 | 多台设备Mesh组网方法、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111200805B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111200805B (zh) | 基于蓝牙设备的蓝牙组网方法及其系统 | |
JP7313473B2 (ja) | データ伝送方法、装置、コンピュータプログラム、及びコンピュータ装置 | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN101364976B (zh) | 一种建立通信通道的方法、装置及数据通信系统 | |
CN105323628B (zh) | 基于dlna跨屏播放的方法及系统、浏览器端装置和播放装置 | |
CN110099078A (zh) | 设备间通信、消息同步方法、装置、设备和存储介质 | |
US10834542B2 (en) | Method and system for inter-group communication in a wireless P2P network | |
CN101247316A (zh) | 一种通信终端的数据共享方法 | |
CN105933393A (zh) | 一种局域网内数据同步方法及其装置、用户终端 | |
CN103391277A (zh) | 媒体播放方法、装置和系统 | |
CN113572864B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN104394127A (zh) | 一种多媒体分享方法、设备和系统 | |
CN103631652A (zh) | 虚拟机迁移的实现方法及系统 | |
CN103561281A (zh) | 一种多媒体数据共享的方法及装置 | |
CN101369987B (zh) | 一种建立通信通道的方法及装置 | |
US20130132338A1 (en) | Information processing apparatus, information processing method, and storage medium | |
JP2010103622A (ja) | ネットワークシステム、コンテンツ再生方法、およびコンテンツ再生プログラム | |
CN111200623B (zh) | 基于分布式存储实现终端数据同步的方法及其系统 | |
CN106231393B (zh) | 视频信息的处理方法、装置和系统 | |
US9451049B2 (en) | Sharing media among remote access clients in a universal plug and play environment | |
CN110049360A (zh) | 跨平台内容控制方法、装置、终端、服务器及存储介质 | |
JP5074177B2 (ja) | 基地局装置 | |
WO2014180436A1 (zh) | 一种终端间进行通信的方法及终端 | |
CN110474781B (zh) | 一种组播数据转发的方法及装置 | |
CN107038047B (zh) | 音频播放设备的软件版本同步方法、装置及音频播放设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |