基于Mesh网络的网络通信跳频方法、系统、电子设备和介质与流程

文档序号:28271621发布日期:2021-12-31 19:52阅读:248来源:国知局
基于Mesh网络的网络通信跳频方法、系统、电子设备和介质与流程
基于mesh网络的网络通信跳频方法、系统、电子设备和介质
【技术领域】
1.本技术涉及通信技术领域,尤其涉及一种基于mesh网络的网络通信跳频方法、系统、电子设备和介质。


背景技术:

2.在mesh网络中,任何设备节点都可以同时作为ap(access point,接入点)和路由器,网络中的每个节点都可以发送和接收信息,每个节点都可以与一个或者多个对等节点进行直接通信。为了使各节点之间的通信更具抗干扰性,一般节点之间的通信基于跳频的方式实现。其中,跳频是指网络选取若干个信道,通信节点在这些信道上进行周期性的跳跃,进行的跳频通信。现有技术中,各行业标准纷纷制定了相关的跳频机制,但是目前跳频机制实现的协议复杂度较高,提高了对设备节点的设备要求。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种基于mesh网络的网络通信跳频方法、系统、电子设备和介质,用以解决因跳频机制实现的协议复杂度较高,对设备节点的设备要求较高的问题。
4.第一方面,本技术实施例提供了一种基于mesh网络的网络通信跳频方法,包括:
5.确定网络中节点的节点跳频序列;
6.第一节点发出第一信标帧,并根据所述第一节点的所述节点跳频序列进入所述第一节点的自身跳频网络,其中,所述自身跳频网络为所述节点与子节点通信的网络;
7.第二节点监听信标帧,根据监听到的所述第一信标帧加入所述第二节点的上行跳频网络,其中,所述上行跳频网络为所述节点与父节点通信的网络,所述第二节点是所述第一节点的所述子节点;
8.所述第二节点发出第二信标帧,并根据所述第二节点的所述节点跳频序列进入所述第二节点的自身跳频网络,通过所述第二节点的自身跳频网络与所述第二节点的子节点实现网络通信。
9.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第二节点的上行跳频网络与所述第二节点的自身跳频网络过渡的时隙中,设有缓冲区,在所述第二节点发出第二信标帧之前,所述方法还包括:
10.第二节点将接收所述第一信标帧的实际时刻,减去预设的接收所述第一信标帧的期望时刻,得到差值,根据所述差值更新所述缓冲区的缓冲区时长;
11.根据更新后的所述缓冲区的缓冲区时长,调整所述第二信标帧发出的时刻。
12.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述差值更新所述缓冲区的缓冲区时长,包括:
13.将最近一次更新的所述缓冲区时长减去所述差值,更新所述缓冲区时长;
14.若所述更新后的所述缓冲区时长不小于预设的最小缓冲区时长且不大于预设的
最大缓冲区时长,完成更新;
15.若所述更新后的所述缓冲区时长小于所述预设的最小缓冲区时长或大于所述预设的最大缓冲区时长,将所述更新后的所述缓冲区时长重置为所述缓冲区预设的缓冲区时长,完成更新。
16.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据更新后的所述缓冲区时长,调整所述第二信标帧发出的时刻,包括:
17.将接收所述第一信标帧的实际时刻、跳频网络维持时长和所述更新后的所述缓冲区时长相加,得到所述第二信标帧发出的时刻。
18.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述确定网络中节点的节点跳频序列,包括:
19.采用跳频序列生成算法,根据所述节点的媒体存取控制位址和所述节点可用信道组生成伪随机跳频序列,作为所述节点跳频序列,或者,根据用户输入的预定跳频序列作为所述节点跳频序列。
20.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第一节点发出第一信标帧,并根据所述第一节点的所述节点跳频序列进入所述第一节点的自身跳频网络之后,还包括:
21.若所述第一节点为根节点,在经历跳频网络维持时长后,所述第一节点进入休眠期;
22.在所述休眠期期间,所述第一节点与其他网络的所述根节点进行网络共存的通信。
23.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第一节点发出第一信标帧,并根据所述第一节点的所述节点跳频序列进入所述第一节点的自身跳频网络之后,还包括:
24.若所述第一节点为根节点,所述第一节点更新下一次发起所述第一信标帧的时刻和信道,其中,发起下一次所述第一信标帧的时刻为本次的所述第一信标帧的时刻、跳频网络维持时长和休眠期时长相加得到,下一次的所述信道基于本次的所述信道、所述第一节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度计算得到。
25.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二节点监听信标帧,根据监听到的所述第一信标帧加入所述第二节点的上行跳频网络,包括:
26.若所述第二节点未加入过所述第二节点的上行跳频网络,所述第二节点采用信道扫描的方式监听所述信标帧,在所述信标帧中选择所述第一信标帧,并加入所述第二节点的上行跳频网络,其中,所述第一节点为所述第二节点的父节点中,与所述第二节点的通信信号最佳的父节点;
27.若所述第二节点已加入过所述第二节点的上行跳频网络,所述第二节点切换到所述第二节点的上行跳频网络的信道监听所述信标帧,根据监听到的所述第一信标帧加入所述第二节点的上行跳频网络。
28.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述第二节点已加入过所述第二节点的上行跳频网络,切换到所述第二节点的上行跳频网络的信道监听所述信标帧,根据监听到的所述第一信标帧加入所述第二节点的上行跳频网络,
包括:
29.若所述第二节点已加入过所述第二节点的上行跳频网络,切换到所述第二节点的上行跳频网络的信道监听所述信标帧,当监听到所述第一信标帧时,与所述第一节点进行时间同步,在所述时间同步后加入到所述第二节点的上行跳频网络;
30.其中,所述时间同步为所述第二节点根据预先测量得到的传输时延更新所述第一信标帧的实际时刻,将更新后的所述第一信标帧的实际时刻作为所述第二节点的上行跳频网络的起始跳频时刻。
31.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第二节点监听信标帧,根据监听到的所述第一信标帧加入所述第二节点的上行跳频网络之后,还包括:
32.根据接收到所述第一信标帧的实际时刻、跳频网络维持时长和缓冲区预设的缓冲区时长,计算得到下一次接收所述第一信标帧的期望时刻;
33.根据所述第一节点本次的所述信道、所述第一节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度计算得到所述第一节点下一次的所述信道。
34.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
35.通过所述根节点发出消息指令,根据所述消息指令指定所述节点发起所述自身跳频网络。
36.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第二节点发出第二信标帧,并根据所述第二节点的所述节点跳频序列进入所述第二节点的自身跳频网络之后,还包括:
37.根据所述第二节点本次的所述信道、所述第二节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度更新所述第二节点下一次的所述信道。
38.第二方面,本技术实施例提供了一种由第一节点执行的基于mesh网络的网络通信跳频方法,包括:
39.确定网络中节点的节点跳频序列;
40.所述第一节点发出第一信标帧,并根据所述第一节点的所述节点跳频序列进入所述第一节点的自身跳频网络,其中,所述自身跳频网络为所述节点与子节点通信的网络;
41.所述第一节点根据所述第一节的自身跳频网络,与接收到所述第一信标帧的第二节点进行网络通信,其中,所述第二节点为所述第一节点的所述子节点。
42.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二节点根据接收的所述第一信标帧加入所述第二节点的上行跳频网络,通过所述第二节点的上行跳频网络与所述第一节点进行网络通信,其中,所述上行跳频网络为所述节点与父节点通信的网络,所述第一节点的自身跳频网络与所述第二节点的上行跳频网络为同一网络。
43.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述确定网络中节点的节点跳频序列,包括:
44.采用跳频序列生成算法,根据所述节点的媒体存取控制位址和所述节点可用信道组生成伪随机跳频序列,作为所述节点跳频序列,或者,根据用户输入的预定跳频序列作为所述节点跳频序列。
45.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述在所述第一节点发出第一信标帧,并根据所述第一节点的所述节点跳频序列进入所述第一节点的自身跳频网络之后,还包括:
46.若所述第一节点为根节点,在经历跳频网络维持时长后,所述第一节点进入休眠期;
47.在所述休眠期期间,所述第一节点与其他网络的所述根节点进行网络共存的通信。
48.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第一节点发出第一信标帧,并根据所述第一节点的所述节点跳频序列进入所述第一节点的自身跳频网络之后,还包括:
49.若所述第一节点为根节点,所述第一节点更新下一次发起所述第一信标帧的时刻和信道,其中,发起下一次所述第一信标帧的时刻为本次的所述第一信标帧的时刻、跳频网络维持时长和休眠期时长相加得到,下一次的所述信道基于本次的所述信道、所述第一节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度计算得到。
50.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
51.若所述第一节点为根节点,所述第一节点通过发出消息指令,根据所述消息指令指定所述节点发起所述自身跳频网络;
52.若所述第一节点不是根节点,所述第一节点通过所述根节点发出的消息指令,根据所述消息指令指定所述第一节点发起所述自身跳频网络。
53.第三方面,本技术实施例提供了一种由第二节点执行的基于mesh网络的网络通信跳频方法,包括:
54.确定网络中节点的节点跳频序列;
55.所述第二节点监听信标帧,根据监听到的第一信标帧加入所述第二节点的上行跳频网络,其中,所述上行跳频网络为所述节点与父节点通信的网络,所述第一信标帧由第一节点发出,所述第二节点是所述第一节点的子节点;
56.所述第二节点发出第二信标帧,并根据所述第二节点的所述节点跳频序列进入所述第二节点的自身跳频网络,通过所述第二节点的自身跳频网络与所述第二节点的所述子节点实现网络通信,其中,所述自身跳频网络为所述节点与所述子节点通信的网络。
57.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第一节点在发出所述第一信标帧之前,根据所述第一节点的节点跳频序列进入所述第一节点的自身跳频网络,所述第二节点的上行跳频网络与所述第一节点的自身跳频网络为同一网络。
58.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第二节点的上行跳频网络与所述第二节点的自身跳频网络过渡的时隙中,设有缓冲区,在所述第二节点发出第二信标帧之前,所述方法还包括:
59.第二节点将接收所述第一信标帧的实际时刻,减去预设的接收所述第一信标帧的期望时刻,得到差值,根据所述差值更新所述缓冲区的缓冲区时长;
60.根据更新后的所述缓冲区的缓冲区时长,调整所述第二信标帧发出的时刻。
61.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所
述差值更新所述缓冲区的缓冲区时长,包括:
62.将最近一次更新的所述缓冲区时长减去所述差值,更新所述缓冲区时长;
63.若所述更新后的所述缓冲区时长不小于预设的最小缓冲区时长且不大于预设的最大缓冲区时长,完成更新;
64.若所述更新后的所述缓冲区时长小于所述预设的最小缓冲区时长或大于所述预设的最大缓冲区时长,将所述更新后的所述缓冲区时长重置为所述缓冲区预设的缓冲区时长,完成更新。
65.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据更新后的所述缓冲区时长,调整所述第二信标帧发出的时刻,包括:
66.将接收所述第一信标帧的实际时刻、跳频网络维持时长和所述更新后的所述缓冲区时长相加,得到所述第二信标帧发出的时刻。
67.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述确定网络中节点的节点跳频序列,包括:
68.采用跳频序列生成算法,根据所述节点的媒体存取控制位址和所述节点可用信道组生成伪随机跳频序列,作为所述节点跳频序列,或者,根据用户输入的预定跳频序列作为所述节点跳频序列。
69.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述第二节点监听信标帧,根据监听到的第一信标帧加入所述第二节点的上行跳频网络,包括:
70.若所述第二节点未加入过所述第二节点的上行跳频网络,所述第二节点采用信道扫描的方式监听所述信标帧,在所述信标帧中选择所述第一信标帧,并加入所述第二节点的上行跳频网络,其中,所述第一节点为所述第二节点的父节点中,与所述第二节点的通信信号最佳的父节点;
71.若所述第二节点已加入过所述第二节点的上行跳频网络,所述第二节点切换到所述第二节点的上行跳频网络的信道监听所述信标帧,根据监听到的所述第一信标帧加入所述第二节点的上行跳频网络。
72.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述若所述第二节点已加入过所述第二节点的上行跳频网络,切换到所述第二节点的上行跳频网络的信道监听所述信标帧,根据监听到的所述第一信标帧加入所述第二节点的上行跳频网络,包括:
73.若所述第二节点已加入过所述第二节点的上行跳频网络,切换到所述第二节点的上行跳频网络的信道监听所述信标帧,当监听到所述第一信标帧时,与所述第一节点进行时间同步,在所述时间同步后加入到所述第二节点的上行跳频网络;
74.其中,所述时间同步为所述第二节点根据预先测量得到的传输时延更新所述第一信标帧的实际时刻,将更新后的所述第一信标帧的实际时刻作为所述第二节点的上行跳频网络的起始跳频时刻。
75.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第二节点发出第二信标帧,并根据所述第二节点的所述节点跳频序列进入所述第二节点的自身跳频网络之后,还包括:
76.根据接收到所述第一信标帧的实际时刻、跳频网络维持时长和缓冲区预设的缓冲
区时长,计算得到下一次接收所述第一信标帧的期望时刻;
77.根据所述第一节点本次的所述信道、所述第一节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度计算得到所述第一节点下一次的所述信道。
78.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
79.通过所述根节点发出消息指令,根据所述消息指令指定所述第二节点发起所述自身跳频网络。
80.如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述第二节点发出第二信标帧,并根据所述第二节点的所述节点跳频序列进入所述第二节点的自身跳频网络之后,还包括:
81.根据所述第二节点本次的所述信道、所述第二节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度更新所述第二节点下一次的所述信道。
82.第四方面,本技术实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如第二方面所述方法的步骤,或者,所述处理器执行所述计算机可读指令时实现如第三方面方法的步骤。
83.第五方面,本技术实施例提供了一种基于mesh网络的网络通信跳频系统,包括第一节点和第二节点,所述第一节点用于执行如第二方面所述方法的步骤,所述第二节点用于执行如第三方面所述方法的步骤。
84.第六方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如第二方面所述方法的步骤,或者,所述计算机可读指令被处理器执行时实现如第三方面所述方法的步骤。
85.在本技术实施例中,提出了一种设计简单,跳频能力强、对设备要求不高的新型跳频通信方法。该方法能够在任意网络中,由每个层级节点实现自身跳频网络,以及除根节点外用于于父节点沟通的上行跳频网络,使得相邻层级之间的节点能够通过自身跳频网络以及上行跳频网络进行跳频通信。
【附图说明】
86.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
87.图1是本技术提供的一种wi-sun跳频机制的示意图;
88.图2是本技术提供的一种isa100.11a标准跳频模式的示意图;
89.图3是本技术一实施例提供的一种mesh网络拓扑结构的示意图;
90.图4是本技术一实施例提供的一种二跳网络组网的时序图;
91.图5是本技术一实施例提供的一种基于mesh网络的网络通信跳频方法的流程图;
92.图6是本技术一实施例提供的一种动态调整第二节点的信标帧下一次的发出时刻和缓存区时长的流程图。
【具体实施方式】
93.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
94.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
95.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
96.现有技术中,wi-sun标准制定了一种调度灵活的跳频机制,如图1所示。跳频机制主要包括:
97.(1)每个节点的单播跳频序列全网唯一,使用tr51cf(tr51channel function,tr51算法计算跳频信道序列)或者dh1cf(direct hash channel function,直接哈希法计算跳频信道序列)方法通过节点的媒体存取控制位址和可用信道组生成伪随机跳频序列,每个节点可以自行计算得知网络中其他节点的跳频序列,无需交换跳频信息。其中,单播跳频序列不要求时隙对齐。
98.(2)全网节点使用同一个广播跳频序列,节点根据接收到的网络配置信息,计算得到下一个广播时隙开始的时刻,在时刻到来时切换到指定信道监听广播帧。
99.(3)节点间单播通信,根据接收到其他节点发送的单播调度信息,推算出其他节点当前位于哪个信道。需要通信时,直接切换到对方信道即可。
100.以上wi-sun跳频机制的存在以下缺点:
101.(1)wi-sun跳频机制的协议复杂度高,不仅需要维护自身单播跳频序列,还需要进行全网广播跳频序列对齐,涉及复杂的调度信息交换机制。软件实现难度较高。
102.(2)节点需要占用大量计算资源,去维护跳频网络,对硬件算力,处理速度有一定门槛要求。
103.isa100.11a是工业级无线传感器网络国际标准之一,能满足工业自动化领域多种不同应用场景需求。isa100.11a制定了灵活的跳频机制,如图2所示。
104.该跳频机制是基于时隙通信实现的,跳频模式包括:时隙跳信道,慢跳信道和混合跳信道三种模式,由系统管理器决定跳频模式,时隙分配等。
105.(1)时隙跳信道模式:每个时隙工作在不同的信道上,时隙时长在10-12ms之间,节点在每个时隙上切换到对应信道上进行通信。
106.(2)慢跳信道模式:多个连续时隙上使用同一信道进行通信,单跳周期在100-400ms之间,可以用于支持计时不精确的设备或者暂时失去网络连接的设备。
107.(3)混合跳信道模式:是时隙跳信道模式和慢跳信道模式的组合,提供更加灵活的跳频模式。
108.以上isa100.11a制定的跳频机制存在以下缺点:
109.(1)时隙跳信道模式要求网络严格的时隙对齐,节点需要跟邻居节点进行频繁的时间同步,对硬件设备计时精度要求高。而采用慢跳频信道模式,则由于单一信道驻留时间太长,网络跳频能力弱,降低了网络的抗干扰性。
110.(2)混合跳信道模式互补了两种跳频模式,但却提高了协议复杂度。
111.本技术为了克服现有技术存在的缺点,提出了一种设计简单,跳频能力强的新型跳频通信方法。该方法能够在任意网络中,由每个层级节点实现自身跳频网络,使得相邻层级之间的节点能够进行跳频通信。
112.可以理解地,图3示出了一mesh网络的示意图,具体地,图3描述了由根节点和6个子节点组成的mesh网络的拓扑结构。其中,节点1,4,5为一级节点,节点2,3,6为二级节点。在该mesh网络中,根节点与所有一级节点组成根节点跳频网络,一级节点1与二级节点2,3组成一级节点跳频网络,一级节点4与二级节点6组成一级节点跳频网络。各个跳频网络之间互不干扰。
113.本技术实施例提供了一种基于mesh网络的网络通信跳频方法,包括:
114.s10:确定网络中节点的节点跳频序列。
115.可以理解地,网络中各节点可根据预计算求得自身节点以及其他节点的节点跳频序列,无需通过信息交互的方式确定网络中节点的节点跳频序列。
116.s20:第一节点发出第一信标帧,并根据第一节点的节点跳频序列进入第一节点的自身跳频网络,其中,自身跳频网络为节点与子节点通信的网络。
117.s30:第二节点监听信标帧,根据监听到的第一信标帧加入第二节点的上行跳频网络,其中,上行跳频网络为节点与父节点通信的网络,第二节点是第一节点的子节点。
118.可以理解地,第一节点进入的自身跳频网络和第二节点加入的上行跳频网络为同一网络,网络中的第一节点和第二节点(具有父子节点关系的节点),通过这样的方式实现第一节点和第二节点之间的网络通信。
119.s40:第二节点发出第二信标帧,并根据第二节点的节点跳频序列进入第二节点的自身跳频网络,通过第二节点的自身跳频网络与第二节点的子节点实现网络通信。
120.可以理解地,第二节点可以通过进入自身跳频网络的方式,与其子节点进行网络通信。再往后,还可以有第三节点、第四节点等节点,子节点通过加入上行跳频网络与父节点进行通信,父节点通过发起的自身跳频网络与子节点进行通信。
121.图4为本技术一实施例提供的在三节点二跳网络中的组网时序图。其中,node0~2为mesh网络的三个节点,node0为根节点,node1为一级节点,node2为二级节点,它们之间组成了一个二跳网络。
122.在时序图中,每个节点将自己与父节点通信的网络称为上行跳频网络,将自己与子节点通信的网络称为自身跳频网络,由于根节点没有父节点,因此只有自身跳频网络。如图所示,该三节点二跳网络的组网流程如下:
123.(1)node0(根节点)在自己的跳频信道上发送信标帧,主动发起自身跳频网络;
124.(2)node1(一级节点)在未入网时,通过全网扫描,根据接收到的根节点发送的信标帧,加入到根节点的跳频网络中,作为其上行跳频网络。此时node1已入网,可以在自身跳频信道上发送信标帧,发起自身跳频网络。
125.(3)node2(二级节点)在未入网时,通过全网扫描,根据接收到的一级节点发送的信标帧,选择最优父节点作为上级节点,加入到该节点的跳频网络中,作为其上行跳频网络。此时node2已入网,可以在自身跳频信道上发送信标帧,发起自身跳频网络。
126.(4)此后,已入网的节点在自身跳频网络和上行跳频网络之间来回切换,实现上行和下行通信。
127.本技术方案使用到的变量和常量,如表1和表2所示。
128.表1变量定义
[0129][0130]
表2常量定义
[0131][0132]
本技术方案实施流程图如图5所示,此时第一节点具体可以是指根节点。
[0133]
具体可以总结为以下6个步骤:
[0134]
步骤1:确定网络中节点跳频序列和跳频网络预设(如t
chl
,t
buf
,t
seq
,t
sleep
,t
buf_min
和t
buf_max
)。
[0135]
步骤2:根节点发起自身跳频网络。
[0136]
步骤3:非根节点监听信标帧。
[0137]
步骤4:非根节点加入上行跳频网络。步骤5:动态调整缓存区时长。
[0138]
步骤6:非根节点发起自身跳频网络。
[0139]
在本技术实施例中,在第二节点的上行跳频网络与第二节点的自身跳频网络过渡的时隙中,设有缓冲区,在s40步骤中第二节点发出第二信标帧之前,方法还包括:
[0140]
s41:第二节点将接收第一信标帧的实际时刻,减去预设的接收第一信标帧的期望时刻,得到差值,根据差值更新缓冲区的缓冲区时长。
[0141]
s42:根据更新后的缓冲区时长,调整第二信标帧发出的时刻。
[0142]
进一步地,在步骤s41中,根据差值更新缓冲区的缓冲区时长,包括:
[0143]
s411:将最近一次更新的缓冲区时长减去差值,更新缓冲区时长。
[0144]
s412:若更新后的缓冲区时长不小于预设的最小缓冲区时长且不大于预设的最大缓冲区时长,完成更新。
[0145]
s413:若更新后的缓冲区时长小于预设的最小缓冲区时长或大于预设的最大缓冲区时长,将更新后的缓冲区时长重置为缓冲区预设的缓冲区时长,完成更新。
[0146]
进一步地,在步骤s42中,根据更新后的缓冲区时长,调整第二信标帧发出的时刻,包括:
[0147]
将接收第一信标帧的实际时刻、跳频网络维持时长和更新后的缓冲区时长相加,得到第二信标帧发出的时刻。
[0148]
以上动态调整缓冲区时长和调整第二节点发送自身信标帧的步骤如图6的流程图所示。
[0149]
可以理解地,由于设备时钟精度存在误差,因此每个节点的时钟频率都存在偏差,没办法准确的预估到父节点发送信标帧的时刻。假设一段时间后,节点监听到其父节点的信标帧来早/晚了,那么就要提前/推迟后续自身跳频网络信标帧发送的起始时刻,严重的话会导致全网节点跟着提前/推迟跳频网络,网络发生抖动,而频繁的网络抖动会使得网络稳定性下降。因此在自身跳频网络和上行跳频网络之间,增加了一段缓冲区,用于减少跳频网络之间的影响。
[0150]
可知t

p_beacon
记录当前收到父节点信标帧的实际时刻。t
p_beacon
记录节点收到父节点信标帧的期望时刻。在一实施例中,可基于这两个变量,动态调整更新缓存区时长t
cur_buf
和发送自身信标时刻t
s_beacon
,如图6所示。
[0151]
首先计算t

p_beacon
和t
p_beacon
之间的差值d,d=t

p_beacon-t
p_beacon
。再根据d值调整当前缓冲区时长t
cur_buf
。如果调整后t
cur_buf
超过阈值,则将t
cur_buf
恢复为初始值,此时按照下式调整发送自身信标帧时刻t
s_beacon

[0152]
t
s_beacon
=t

p_beacon
+t
seq
+t
cur_buf
[0153]
进一步地,在步骤s10中,确定网络中节点的节点跳频序列,包括:
[0154]
采用跳频序列生成算法,根据节点的媒体存取控制位址和节点可用信道组生成伪随机跳频序列,作为节点跳频序列,或者,根据用户输入的预定跳频序列作为节点跳频序列。
[0155]
在一实施例中,节点确定一个全网唯一的自身跳频序列。具体地,可以通过用户预设的每个节点的跳频序列,也可以采用tr51cf或者dh1cf方法通过节点的媒体存取控制位址和可用信道组生成伪随机跳频序列,保存到s
chl
中,格式诸如:s
chl
={ch1,ch2,
ch3......},记录跳频序列长度l
chl

[0156]
在一实施例中,网络中所有节点,都事先知道或者通过计算得到网络中其他节点的跳频序列,无需通过报文交互获取。
[0157]
根据实地网络节点部署情况和组网规模确定跳频网络预设值,包括t
chl
,t
buf
,t
seq
,t
sleep
,t
buf_min
和t
buf_max
,为了防止通信时延过大同时保证跳频网络质量,t
seq
和t
sleep
设置为百ms级。
[0158]
进一步地,在步骤s20第一节点发出第一信标帧,并根据第一节点的节点跳频序列进入第一节点的自身跳频网络之后,还包括:
[0159]
s211:若第一节点为根节点,在经历跳频网络维持时长后,第一节点进入休眠期。
[0160]
s212:在休眠期期间,第一节点与其他网络的根节点进行网络共存的通信。
[0161]
进一步地,在步骤s20第一节点发出第一信标帧,并根据第一节点的节点跳频序列进入第一节点的自身跳频网络之后,还包括:
[0162]
若第一节点为根节点,第一节点更新下一次发起第一信标帧的时刻和信道,其中,发起下一次第一信标帧的时刻为本次的第一信标帧的时刻、跳频网络维持时长和休眠期时长相加得到,下一次的信道基于本次的信道、第一节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度计算得到。
[0163]
在一实施例中,在mesh网络中,通过根节点主动发起自身跳频网络来启动组网。其初始状态下:
[0164]
t
s_beacon
=0,c
s_beacon
=s
chl
[0]
[0165]
即根节点在0时刻,切换到自身跳频序列第一个信道上广播发送信标帧。然后进入自身跳频网络,根据t
chl
和t
seq
在自身跳频序列上周期性跳跃。最后根节点进入休眠期,可选地,根节点可以在休眠期与周围其他网络的根节点进行网络共存相关通信。
[0166]
此时,根节点根据下式更新下一次发起自身跳频网络的发送信标时刻t
s_beacon
和信道c
s_beacon

[0167]
t
s_beacon
=t
s_beacon
+t
seq
+t
sleep
[0168]
c
s_beacon
=s
chl
[(c
s_beacon
+t
seq
/t
chl
+1)%l
chl
]
[0169]
进一步地,在步骤s30中第二节点监听信标帧,根据监听到的第一信标帧加入第二节点的上行跳频网络,包括:
[0170]
s31:若第二节点未加入过第二节点的上行跳频网络,第二节点采用信道扫描的方式监听信标帧,在信标帧中选择第一信标帧,并加入第二节点的上行跳频网络,其中,第一节点为第二节点的父节点中,与第二节点的通信信号最佳的父节点。
[0171]
s32:若第二节点已加入过第二节点的上行跳频网络,第二节点切换到第二节点的上行跳频网络的信道监听信标帧,根据监听到的第一信标帧加入第二节点的上行跳频网络。
[0172]
进一步地,在在步骤s30第二节点监听信标帧,根据监听到的第一信标帧加入第二节点的上行跳频网络之后,还包括:
[0173]
s33:根据接收到第一信标帧的实际时刻、跳频网络维持时长和缓冲区预设的缓冲区时长,计算得到下一次接收第一信标帧的期望时刻;
[0174]
s34:根据第一节点本次的信道、第一节点的节点跳频序列、跳频网络维持时长、信
道驻留时长、跳频序列长度计算得到第一节点下一次的信道。
[0175]
在一实施例中,如果第二根节点未入网,首先进行信道扫描监听,目的是收集足够的信标帧信息,可从中选择一个节点作为其最优父节点,根据接收到最优父节点信标的实际时刻t

p_beacon
和信道c
p_beacon
,按照下式更新该父节点下一次发送信标帧的期望时刻t
p_beacon
和信道c
p_beacon
,提前切换到该信道进行监听:
[0176]
t
p_beacon
=t

p_beacon
+2*t
seq
+t
buf
[0177][0178]
如果第二根节点已经入网,则直接切换到信道c
p_beacon
监听最优父节点的信标帧,在接收到父节点发送的信标帧时,t
p_beacon
和t

p_beacon
需要先用于调整变量的缓存区时长t
cur_buf
,再按照上述公式更新t
p_beacon
和c
p_beacon

[0179]
进一步地,在步骤s32中,若第二节点已加入过第二节点的上行跳频网络,切换到第二节点的上行跳频网络的信道监听信标帧,根据监听到的第一信标帧加入第二节点的上行跳频网络,包括:
[0180]
若第二节点已加入过第二节点的上行跳频网络,切换到第二节点的上行跳频网络的信道监听信标帧,当监听到第一信标帧时,与第一节点进行时间同步,在时间同步后加入到第二节点的上行跳频网络。
[0181]
其中,时间同步为第二节点根据预先测量得到的传输时延更新第一信标帧的实际时刻,将更新后的第一信标帧的实际时刻作为第二节点的上行跳频网络的起始跳频时刻。
[0182]
可以理解地,在第二根节点确定最优父节点后,当再次收到最优父节点的信标帧时,进行时间同步,加入到父节点发起的自身跳频网络中,作为其上行跳频网络。
[0183]
在一实施例中,时间同步过程主要完成时钟相位同步,节点将收到父节点信标帧的时刻作为时钟相位起始点,记录到t

p_beacon
。由于信标帧的报文大小是固定的,发送速率也是确定的,因此可以事先测量得到一个传输时延β,作为时钟相位补偿,根据下式更新t

p_beacon

[0184]
t

p_beacon
=t

p_beacon

[0185]
t

p_beacon
作为节点上行跳频网络的起始跳频时刻。此后节点根据t
chl
和t
seq
在父节点的跳频序列上周期性的跳跃,实现与父节点之间跳频通信,完成入网流程。
[0186]
进一步地,该基于mesh网络的网络通信跳频方法还包括:
[0187]
通过根节点发出消息指令,根据消息指令指定节点发起自身跳频网络。
[0188]
可以理解地,节点入网后,可以主动发起自身跳频网络。可选地,考虑到如果所有节点都发起跳频网络,会出现由于节点选取父节点不是最优,而频繁切换父节点导致网络抖动的情况。或者出现网络跳数过大导致游离节点入不了网的问题。因此可由中央协调器(根节点)进行集中管理,通过消息指令通知指定节点发起自身跳频网络。
[0189]
进一步地,在步骤s40中第二节点发出第二信标帧,并根据第二节点的节点跳频序列进入第二节点的自身跳频网络之后,还包括:
[0190]
根据第二节点本次的信道、第二节点的节点跳频序列、跳频网络维持时长、信道驻留时长、跳频序列长度更新第二节点下一次的信道。
[0191]
在一实施例中,第二节点获取发起自身跳频网络的起始时刻t
s_beacon
。初始状态下c
s_beacon
=s
chl
[0],第二节点在t
s_beacon
时刻到来时,切换到信道c
s_beacon
上广播发送信标帧。
然后进入自身跳频网络,根据t
chl
和t
seq
在自身跳频序列上周期性跳跃。此时第二节点根据下式更新下一次发送自身跳频网络信标帧的信道c
s_beacon

[0192][0193]
在本技术实施例中,提出了一种设计简单,跳频能力强、对设备要求不高的新型跳频通信方法。该方法能够在任意网络中,由每个层级节点实现自身跳频网络,以及除根节点外用于于父节点沟通的上行跳频网络,使得相邻层级之间的节点能够通过自身跳频网络以及上行跳频网络进行跳频通信。
[0194]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0195]
本实施例提供一计算机可读存储介质,基于mesh网络的网络通信跳频系统,包括第一节点和第二节点,第一节点和第二节点用于实现实施例中基于mesh网络的网络通信跳频方法。
[0196]
本实施例提供一电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机可读指令,其特征在于,处理器执行计算机可读指令时实现实施例中基于mesh网络的网络通信跳频方法的步骤。
[0197]
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机可读指令,该计算机可读指令被处理器执行时实现实施例中基于mesh网络的网络通信跳频方法,为避免重复,此处不一一赘述。
[0198]
应当明确,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
[0199]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0200]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可对前述各实施例所存储的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1