基于SIG MESH的组网方法、节点设备以及计算机设备
技术领域
本发明涉及无线通信领域,特别涉及一种基于SIG MESH的组网方法、节点设备以及计算机设备。
背景技术
目前SIG Mesh Spec具有抗干扰能力强、每个节点都可以作为操控平台等优点,但是其不能一次对大量节点设备进行组网优化。若用户有大量mesh装置(例如:灯泡),只能一台一台进行组网,需耗费大量时间。各家厂商也较少有快速组网的技术,因此亟需一种可以针对SIG Mesh进行快速组网的方法。
发明内容
本发明的主要目的为提供一种基于SIG MESH的组网方法、节点设备以及计算机设备,旨在解决目前SIG Mesh Spe的组网效率较为低下的技术问题。
本发明提供了一种基于SIG MESH的组网方法,包括:
第一节点设备获取第二节点设备的连接信息;
根据所述连接信息在一个或者多个信道内发送封包数据分别给不同的所述第二节点设备,其中一个信道内包括一个或者多个封包数据,所述封包数据包含有所述第一节点设备的MAC地址信息;获取所述第二节点设备接收到封包数据后所反馈的数据;
根据多个反馈的数据对对应的所述第二节点设备进行组网。
进一步地,所述根据所述连接信息在一个或者多个信道内发送封包数据分别给不同的所述第二节点设备的步骤,包括:
扫描每个信道的干扰程度;
选取干扰程度最小的信道,并通过选取出的所述信道,发送多个不同的封包数据至对应的所述第二节点设备。
进一步地,所述选取干扰程度最小的信道,并通过选取出的所述信道,发送多个不同的封包数据至对应的所述第二节点设备的步骤之后,还包括:
将所述其余第二节点设备设置为只接收所述干扰程度最小的信道中的封包数据。
进一步地,所述根据多个反馈的数据对对应的所述第二节点设备进行组网的步骤之后,还包括:
对所述连接信息所对应的所述第二节点设备,检测其中是否存在未组网的第二节点设备;
若存在,则检测当前未组网的第二节点设备与上一次组网前未组网第二节点设备的数量差;
判断所数量差是否小于预设数量差值;
若是,则在多个信道内分别发送相同的数据封包至同一未组网的第二节点设备。
进一步地,所述第一节点设备获取第二节点设备的连接信息的步骤之前,还包括:
连接第三方设备;
接收所述第三方设备的组网请求;
接收所述第三方设备发送的对第二节点设备进行组网的组网信息数据。
进一步地,所述根据多个反馈的数据对对应的所述第二节点设备进行组网的步骤之后,还包括:
获取前一配网周期内成功组网的第二节点设备数量;
根据前一配网周期内成功组网的设备数量设置当前配网周期内所需发送的封包数据的数量。
进一步地,所述根据所述连接信息在一个或者多个信道内发送封包数据分别给不同的所述第二节点设备的步骤,包括:
检测与各所述第二节点设备的连接信号强度;
判断所述连接信号强度是否大于预设值;
若是,则将其作为接收封包数据的第二节点设备。
本发明还提供了一种基于SIG MESH的节点设备,包括:
连接信息获取模块,用于获取第二节点设备的连接信息;
封包数据发送模块,用于根据所述连接信息在一个或者多个信道内发送封包数据分别给不同的所述第二节点设备,其中一个信道内包括一个或者多个封包数据,所述封包数据包含有所述第一节点设备的MAC地址信息;
反馈数据接收模块,用于获取所述第二节点设备接收到封包数据后所反馈的数据;
组网模块,用于根据多个反馈的数据对对应的所述第二节点设备进行组网。
本发明还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的基于SIG MESH的组网方法的步骤。
本发明还提供了一种计算机设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述的基于SIG MESH的组网方法的步骤。
本发明的有益效果:通过在一个或者多个信道内发送多个封包数据分别给不同的第二节点设备,从而对应接收多个第二节点设备的反馈的数据,从而可以在一个配网周期内实现对多个第二节点设备进行组网,提高了组网效率。
附图说明
图1是本发明一实施例的一种基于SIG MESH的组网方法的流程示意图;
图2是本发明一实施例的一种基于SIG MESH的节点设备的结构框图。
图3为本发明的存储介质一实施例的结构框图;
图4为本发明的计算机设备一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,本发明提出一种基于SIG MESH的组网方法,其特征在于,包括:
S1:第一节点设备获取第二节点设备的连接信息;
S2:根据所述连接信息在一个或者多个信道内发送封包数据分别给不同的所述第二节点设备,其中一个信道内包括一个或者多个封包数据,所述封包数据包含有所述第一节点设备的MAC地址信息;
S3:获取所述第二节点设备接收到封包数据后所反馈的数据;
S4:根据多个反馈的数据对对应的所述第二节点设备进行组网。
如上述步骤S1所述,各节点设备(包括第一节点设备和第二节点设备)都通过BLEadvertising连接,具体地,各节点设备都是通过SIG MESH(基于flooding(泛洪)协议的MESH网络技术)连接的,因此在准备工作时,第一节点设备就可以获取每个节点设备的unprovisioned beacon(可连接类型)广播包,具体地,未组网的设备都会向外发送unprovisioned beacon(可连接类型)广播包,然后第一节点设备可以扫描该unprovisioned beacon(可连接类型)广播包,另外第一节点设备可以是通过BLEadvertising连接中的节点设备,也可以是移动终端或者电脑等终端设备,其为已组网的节点设备。若为移动终端或者电脑终端设备时,将该移动终端或者电脑终端设备通过BLEadvertising连接其余的第二节点设备,其可以通过相关的APP扫描每个节点设备的unprovisioned beacon(可连接类型)广播包。另外,若第一节点设备为通过BLEadvertising连接中的节点设备,可以是事先通过终端设备对第一节点设备进行组网,然后将组网的信息发送给第一节点设备,使其具备组网能力,充当provisioner。其中,连接信息包括节点设备的MAC地址信息以及通用唯一识别码(Universally Unique Identifier,UUID),在SIG MESH组内,各节点设备都会周期性发送连接信息给相邻的节点设备,且节点设备会将接收到的连接信息进行进一步分享给自身附近的节点设备,经过几次的分享后,每一个节点设备都会知晓SIG MESH组内其余所有节点设备的连接信息,故而第一节点设备可以知晓所有的第二节点设备的连接信息。
如上述步骤S2所述,通过在一个或者多个信道内发送,发送多个封包数据至对应的第二节点设备,即可以是通过多个信道发送多个数据封包,每个信道中至少包括一个封包数据,每一个数据封包分别对应发送给不同的第二节点设备,但是由于每个第二节点设备收取封包时,会对每个信道依次进行扫描,存在漏扫的现象,因此,优选将第二节点设备设置为只扫描一个信道,然后在该信道内发送多个封包数据给对应的第二节点设备,保证封包数据可以准确发送至对应的第二节点设备。其中,封包数据为SCAN REQ(扫描请求),其包含了第一节点设备的MAC地址信息。在一个具体的实施例中,可以在一个信道内(例如:37信道)发送三个数据封包给三个不同的第二节点设备。
如上述步骤S3所述,第二节点设备在接收到封包数据后(SCAN REQ),其就会向第一节点设备发送一个反馈数据(即SCAN RSP扫描应答),且反馈数据中附带有必要的信息(如MAC信息,UUID等),可以使组网设备根据反馈数据识别对应的第二节点设备。由于发送了多个封包给对应的第二节点设备,故而可以接收到多个第二节点设备的反馈数据。
如上述步骤S4所述,获取到多个反馈数据之后,可以同时连接多个对应的第二节点设备,对多个第二节点设备同时组网,因此在一个组网配网周期内可以实现多个第二节点设备的同时组网,加快组网的速度。
本实施例中,上述步骤S2,包括:
S201:扫描每个信道的干扰程度;
S202:选取干扰程度最小的信道,并通过选取出的所述信道,发送多个不同的封包数据至对应的所述第二节点设备。
如上述步骤S201-S202所述,当只选取一个信道作为发送信道时,可以根据每个信道的干扰程度进行选择,将干扰程度最小的信道作为发送信道,可以减少封包数据在信道中的丢失概率,使对应的第二节点设备可以稳定接收到第一节点设备发送的封包数据。其中扫描信道的方式可以是扫描该信道对应天线频段的状态(频段的壅塞程度、繁忙程度、使用频率等),也可以是该信道在一段时间内传送的封包总数量,根据传送的封包总数量对应其干扰程度,封包数量越多,其干扰程度越大,总数量的统计可以通过内部设置的计数器进行统计,然后传递给第一节点设备。在一个较佳的实施例中,还可以扫描各个信道中CRCerror(循环冗余校验错误)的数量,选择CRC error较少的信道作为发送信道,数据传输出现问题后会出现CRC error,表明在该信道内可能发生了数据丢失或者是其他不能成功发送数据的情况,若CRC error数量较多,则可以说明该信道不适宜作为封包数据的发送信道。
本实施例中,上述步骤S202之后,包括:
S203:将所述其余第二节点设备设置为只接收所述干扰程度最小的信道中的封包数据。
如上述步骤S203所述,在选择一个信道后将剩余的节点设备设置成只扫描该信道,使剩余第二节点设备不会在多个信道之间来回扫描,增大封包数据被对应的第二节点设备扫到的概率。设置的方法可以是通过第一节点设备发送更改扫描命令至对应的第二节点设备,然后第二节点设备根据该更改扫描命令设置为只接收干扰程度最小的信道中的封包数据,在另一个实施例中,还可以是在知晓了干扰程度最小的信道后,通过外部设备依次连接各个第二节点设备,通过外部设备分别将其余第二节点设备设置成只接收该干扰程度最小的信道中的封包数据。
本实施例中,上述步骤S4之后,还包括:
S501:获取前一配网周期内成功组网的第二节点设备数量;
S502:根据据前一配网周期内成功组网的设备数量设置当前配网周期内所需发送的封包数据的数量。
如上述步骤S501-S502所述,由于信道传输的数据是有限的,这取决于信道的宽度,干扰程度等,因此存在一个可以成功发送封包数据数量的一个极值,故而可以先统计出上一配网周期内成功组网的第二节点设备数量,然后当前配网周期以这个为准发送对应的封包数据的数量,减少信道中的干扰量,具体地,第一节点设备统计出当前配网周期前所有配网成功的第二节点设备的数量减去上一配网周期前所有配网成功的第二节点设备的数量,即可以得到上一配网周期成功组网的第二节点设备数量,然后将当前配网周期发送的封包数据数量设置为成上一配网周期成功组网的第二节点设备数量。其中,一个配网周期为完成以下各个步骤所需的时长:从发送多个封包数据,接收多个对应的第二节点设备接收到封包数据后反馈的数据,然后对根据多个反馈的数据对对应的第二节点设备进行组网。然后一个配网周期完毕后再发送下一周期的封包数据。
在一些实施例中,成功发送封包数据数量的极值可以根据实验进行测试得到,进一步地,建立干扰程度与可以成功发送封包数据数量的对应表,检测信道中的干扰程度,确定发送封包数据数量进行发送,在保证封包数据可以得到准确发送的前提下,又能尽可能提高发送封包数据的数量。
本实施例中,上述步骤S5之后,还包括:
S611:对所述连接信息所对应的所述第二节点设备,检测其中是否存在未组网的第二节点设备;
S612:若存在,则检测当前未组网的第二节点设备数量与上一次组网前未组网第二节点设备的数量差;
S613:判断所数量差是否小于预设数量差值;
S614:若是,则在多个信道内分别发送发送相同的数据封包至同一未组网的第二节点设备。
如上述步骤S611-S614所述,经过多次对第二节点设备进行组网后,可能会存在少量的第二节点设备未组网,而这些未组网的第二节点设备可能存在的情况是信道中干扰程度较大,无法顺利接收到封包数据,因此若当前未组网的第二节点设备数量与上一次组网前未组网第二节点设备的数量差小于预设数量差值,预设数量差值可以由事先设定,例如可以是0个,也可以是1个,这个可以根据实际情况选择,当小于该预设数量差值时,则可以认为剩余的未组网第二节点设备是难以接收到封包数据的,此时可以在多个信道内发送相同的数据封包给同一未组网的第二节点设备,提高该第二节点设备的接收封包数据的概率,提高组网效率。需要说明的是,当第二节点设备收到多个相同的封包数据时,其可以自动删除相同的封包数据。
本实施例中,上述步骤S1之前,还包括:
S001:连接第三方设备;
S002:接收所述第三方设备的组网请求;
S003:接收所述第三方设备发送的对第二节点设备进行组网的组网信息数据。
如上述步骤S001-S003所述,虽说SIG MESH这种模式可以选取任何一个节点设备作为操控平台,但是需要对每个第二节点设备进行组网,故而第一节点设备需要具备provisioner功能(即具备将节点设备组入局域网中的功能),故而可以将第一节点设备与第三方设备(移动终端或者电脑等)进行连接,第三方终端将第一节点设备进行组网,将其组入局域网内,然后将组网信息数据发送给第一节点设备,使第一节点设备具备直接将其他第二节点设备组入局域网的能力。
本实施例中,上述步骤S2之后,还包括:
S301:发送传送指令至成功接收封包数据的第二节点设备;
S302:该成功接收封包数据的第二节点设备将接收的封包数据发送给其他第二节点设备。
如上述步骤S301-S302所述,由于BLE advertising中特殊的连接方式,对于与第一节点设备信号比较差,或者完全无法与第一节点设备构成直接连接的第二节点设备,可以通过中间的第二节点设备进行发送(即第一节点设备不能发送封包数据给信号较弱的第二节点设备,但是可以发送给中间第二节点设备,故而可以通过第二节点设备将封包数据发送给信号较弱的第二节点设备),即该成功接收封包数据的第二节点设备将接收的封包数据发送给其他第二节点设备,从而完成全部第二节点设备的组网。需要说明的是,该成功接收封包数据的第二节点设备需要具有relay feature(转换功能),才能实现将将接收的封包数据发送给其他第二节点设备。
本实施例中,上述步骤S2,包括:
S211:检测与各所述第二节点设备的连接信号强度;
S212:判断所述连接信号强度是否大于预设值;
S213:若是,则将其作为接收封包数据的对应的第二节点设备。
如上述步骤S211-S213所述,由于各个节点设备之间的数据交换一般都是通过蓝牙进行交换,因此,需要对第一节点设备与各第二节点设备连接的信号强度进行判定,当信号强度足够强的时候,才发送对应的封包数据,因为成功接收封包数据的第二节点设备也会发送给剩余的第二节点设备,为了节省发送的时间以及一个配网周期的时间,当信号强度小于预设值时,可以不用发送封包数据给对应的第二节点设备。从另一方面说,该连接信号强度如果过低的时候,封包数据的发送速率也会非常缓慢,所以为了缩短一个配网周期的时间,第一节点设备可以不用发送给连接信号差的节点设备。
参照图2,本发明提出一种基于SIG MESH的节点设备,包括:
连接信息获取模块10,用于获取第二节点设备的连接信息;
封包数据发送模块20,用于根据所述连接信息在一个或者多个信道内发送封包数据分别给不同的所述第二节点设备,其中一个信道内包括一个或者多个封包数据,所述封包数据包含有所述第一节点设备的MAC地址信息;
反馈数据接收模块30,用于获取所述第二节点设备接收到封包数据后所反馈的数据;
组网模块40,用于根据多个反馈的数据对对应的所述第二节点设备进行组网。
各节点设备(包括第一节点设备和第二节点设备)都通过BLE advertising连接,具体地,各节点设备都是通过SIG MESH(基于flooding(泛洪)协议的MESH网络技术)连接的,因此在准备工作时,第一节点设备就可以通过连接信息获取模块10获取每个节点设备的unprovisioned beacon(可连接类型)广播包,具体地,未组网的设备都会向外发送unprovisioned beacon(可连接类型)广播包,然后第一节点设备可以扫描该unprovisioned beacon(可连接类型)广播包,另外第一节点设备可以是通过BLEadvertising连接中的节点设备,也可以是移动终端或者电脑等终端设备,其为已组网的节点设备。若为移动终端或者电脑终端设备时,将该移动终端或者电脑终端设备通过BLEadvertising连接其余的第二节点设备,其可以通过相关的APP扫描每个节点设备的unprovisioned beacon(可连接类型)广播包,但第一节点设备已经进行了组网,另外,若第一节点设备为通过BLE advertising连接中的节点设备,可以是事先通过终端设备对第一节点设备进行组网,然后将组网的信息发送给该节点设备,使其具备组网能力,充当provisioner。其中,连接信息包括节点设备的MAC地址信息以及通用唯一识别码(Universally Unique Identifier,UUID),在SIG MESH组内,各节点设备都会周期性发送连接信息给相邻的节点设备,且节点设备会将接收到的连接信息进行进一步分享给自身附近的节点设备,经过几次的分享后,每一个节点设备都会知晓SIG MESH组内其余所有节点设备的连接信息,故而第一节点设备可以知晓所有的第二节点设备的连接信息。
通过封包数据发送模块20在一个或者多个信道内发送,发送多个封包数据至对应的第二节点设备,即可以是通过多个信道发送多个数据封包,每个信道中至少包括一个封包数据,每一个数据封包分别对应发送给不同的第二节点设备,但是由于每个第二节点设备收取封包时,会对每个信道依次进行扫描,存在漏扫的现象,因此,优选将第二节点设备设置为只扫描一个信道,然后在该信道内发送多个封包数据给对应的第二节点设备,保证封包数据可以准确发送至对应的第二节点设备。其中,封包数据为SCAN REQ(扫描请求),其包含了第一节点设备的MAC地址信息。在一个具体的实施例中,可以在一个信道内(例如:37信道)发送三个数据封包给三个不同的第二节点设备。
第二节点设备在接收到封包数据后(SCAN REQ),其就会向第一节点设备发送一个反馈数据(即SCAN RSP扫描应答),且反馈数据中附带有必要的信息(如MAC信息,UUID等),第一节点设备可以通过反馈数据接收模块30进行接收,使组网设备根据反馈数据识别对应的第二节点设备。由于发送了多个封包给对应的第二节点设备,故而可以接收到多个第二节点设备的反馈数据。
获取到多个反馈数据之后,可以同时连接多个对应的第二节点设备,通过组网模块40对多个第二节点设备同时组网,因此在一个组网配网周期内可以实现多个第二节点设备的同时组网,加快组网的速度。
本实施例中,封包数据发送模块20包括:
干扰程度扫描子模块,用于扫描每个信道的干扰程度;
信道选取子模块,用于选取干扰程度最小的信道,并通过选取出的所述信道,发送多个不同的封包数据至对应的所述第二节点设备。当只选取一个信道作为发送信道时,可以根据每个信道的干扰程度进行选择,将干扰程度最小的信道作为发送信道,可以减少封包数据在信道中的丢失概率,使对应的第二节点设备可以稳定接收到第一节点设备发送的封包数据。其中扫描信道的方式可以是扫描该信道对应天线频段的状态(频段的壅塞程度、繁忙程度、使用频率等),也可以是该信道在一段时间内传送的封包总数量,根据传送的封包总数量对应其干扰程度,封包数量越多,其干扰程度越大,总数量的统计可以通过内部设置的计数器进行统计,然后传递给第一节点设备。在一个较佳的实施例中,还可以扫描各个信道中CRC error(循环冗余校验错误)的数量,选择CRC error较少的信道作为发送信道,数据传输出现问题后会出现CRC error,表明在该信道内可能发生了数据丢失或者是其他不能成功发送数据的情况,若CRC error数量较多,则可以说明该信道不适宜作为封包数据的发送信道。
本实施例中,封包数据发送模块20还包括:
扫描信道设置子模块,用于将将所述其余第二节点设备设置为只接收所述干扰程度最小的信道中的封包数据。
在选择一个信道后将剩余的节点设备设置成只扫描该信道,使剩余第二节点设备不会在多个信道之间来回扫描,增大封包数据被对应的第二节点设备扫到的概率。设置的方法可以是通过第一节点设备发送更改扫描命令至对应的第二节点设备,然后第二节点设备根据该更改扫描命令设置为只接收干扰程度最小的信道中的封包数据,在另一个实施例中,还可以是在知晓了干扰程度最小的信道后,通过外部设备依次连接各个第二节点设备,通过外部设备分别将其余第二节点设备设置成只接收该干扰程度最小的信道中的封包数据。
本实施例中,基于SIG MESH的节点设备,还包括:
节点设备数量获取模块,用于获取前一配网周期内成功组网的第二节点设备数量;
封包数据数量设置模块,用于根据据前一配网周期内成功组网的设备数量设置当前配网周期内发送封包数据的数量。
由于信道传输的数据是有限的,这取决于信道的宽度,干扰程度等,因此存在一个可以成功发送封包数据数量的一个极值,故而可以先统计出上一配网周期内成功组网的第二节点设备数量,然后当前配网周期以这个为准发送对应的封包数据的数量,减少信道中的干扰量,具体地,第一节点设备统计出当前配网周期前所有配网成功的第二节点设备的数量减去上一配网周期前所有配网成功的第二节点设备的数量,即可以得到上一配网周期成功组网的第二节点设备数量,然后将当前配网周期发送的封包数据数量设置为成上一配网周期成功组网的第二节点设备数量。其中,一个配网周期为完成以下各个步骤所需的时长,从发送多个封包数据,接收多个对应的第二节点设备接收到封包数据后反馈的数据,然后对根据多个反馈的数据对对应的第二节点设备进行组网。然后一个配网周期完毕后再发送下一周期的封包数据。
在一些实施例中,成功发送封包数据数量的极值可以根据实验进行测试得到,进一步地,建立干扰程度与可以成功发送封包数据数量的对应表,检测信道中的干扰程度,确定发送封包数据数量进行发送,在保证封包数据可以得到准确发送的前提下,又能尽可能提高的发送封包数据的数量。
本实施例中,基于SIG MESH的节点设备还包括:
未组网节点设备检测模块,用于对所述连接信息所对应的所述第二节点设备,检测其中是否存在未组网的第二节点设备;
数量差检测模块,用于当存在未组网的节点设备时,检测当前未组网的第二节点设备数量与上一次组网前未组网第二节点设备的数量差;
数量差判断模块,用于判断所数量差是否小于预设数量差值;
信道发送模块,用于若数量差小于预设数量差值时,在多个信道内分别发送相同的数据封包至同一未组网的第二节点设备。
经过多次对第二节点设备进行组网后,可能会存在少量的第二节点设备未组网,而这些未组网的第二节点设备可能存在的情况是信道中干扰程度较大,无法顺利接收到封包数据,因此若当前未组网的第二节点设备数量与上一次组网前未组网第二节点设备的数量差小于预设数量差值,预设数量差值可以由事先设定,例如可以是0个,也可以是1个,这个可以根据实际情况选择,当小于该预设数量差值时,则可以认为剩余的未组网第二节点设备是难以接收到封包数据的,此时可以在多个信道内发送相同的数据封包给同一未组网的第二节点设备,提高该第二节点设备的接收封包数据的概率,提高组网效率。需要说明的是,当第二节点设备收到多个相同的封包数据时,其可以自动删除相同的封包数据。
本实施例中,基于SIG MESH的节点设备还包括:
第三方设备连接模块,用于连接第三方设备;
组网请求接收模块,用于接收所述第三方设备的组网请求;
组网信息数据接收模块,用于接收所述第三方设备发送的对第二节点设备进行组网的组网信息数据。
虽说SIG MESH这种模式可以选取任何一个节点设备作为操控平台,但是需要对每个第二节点设备进行组网,故而第一节点设备需要具备provisioner功能(即具备将节点设备组入局域网中的功能),故而可以将第一节点设备与第三方设备(移动终端或者电脑等)进行连接,第三方终端将第一节点设备进行组网,将其组入局域网内,然后将组网信息数据发送给第一节点设备,使第一节点设备具备直接将其他第二节点设备组入局域网的能力。
本实施例中,基于SIG MESH的节点设备,还包括:
传送指令发送模块,用于发送传送指令至成功接收封包数据的第二节点设备;
由于BLE advertising中特殊的连接方式,对于与第一节点设备信号比较差,或者完全无法与第一节点设备构成直接连接的第二节点设备,可以通过中间的第二节点设备进行发送(即第一节点设备不能发送封包数据给信号较弱的第二节点设备,但是可以发送给中间第二节点设备,故而可以通过第二节点设备将封包数据发送给信号较弱的第二节点设备),即该成功接收封包数据的第二节点设备将接收的封包数据发送给其他第二节点设备,从而完成全部第二节点设备的组网。需要说明的是,该成功接收封包数据的第二节点设备需要具有relay feature(转换功能),才能实现将将接收的封包数据发送给其他第二节点设备。
本实施例中,封包数据发送模块20,包括:
连接信号检测子模块,用于检测与各所述第二节点设备的连接信号强度;
连接信号强度判断模块,用于判断所述连接信号强度是否大于预设值;
节点设备设定子模块,用于连接信号强度大于预设值时,则将其作为接收封包数据的对应的第二节点设备。
由于各个节点设备之间的数据交换一般都是通过蓝牙进行交换,因此,需要对第一节点设备与各第二节点设备连接的信号强度进行判定,当信号强度足够强的时候,才发送对应的接收封包数据,因为成功接收封包数据的第二节点设备也会发送给剩余的第二节点设备,为了节省发送的时间以及一个配网周期的时间,当信号强度小于预设值时,可以不用发送封包数据给对应的第二节点设备。从另一方面说,该连接信号强度如果过低的时候,封包数据的发送速率也会非常缓慢,所以为了缩短一个配网周期的时间,第一节点设备可以不用发送给连接信号差的节点设备。
参考图3,本申请还提供了一种存储介质100,存储介质100中存储有计算机程序200,当其在计算机上运行时,使得计算机执行以上实施例所描述的基于SIG MESH的组网方法。
参考图4,本申请还提供了一种包含上述存储介质100的计算机设备300,当上述存储介质100中存储的计算机程序200在计算机设备300上运行时,使得计算机设备300通过其内部设置的处理器400执行以上实施例所描述的SIG MESH的组网方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本发明的有益效果:通过在一个或者多个信道内发送多个封包数据分别给不同的节点设备,从而对应接收多个节点设备的反馈的数据,从而可以在一个配网周期内实现对多个节点设备进行组网,提高了组网效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。