一种用于无线设备节点网络同步的方法与流程

文档序号:15182401发布日期:2018-08-17 05:54阅读:152来源:国知局

本发明涉及短距离无线通信领域,更具体地,本发明涉及对短距离无线通信的设备节点进行同步的方法。



背景技术:

近年来,随着短距离无线通信技术和无线传感器网络(wirelesssensornetworks,wsn)的飞速发展,物联网技术在工业控制网络、智能家居网络、环境监测网络、精细农业网络、健康监测网络等得到了广泛应用。当前,wsn技术主要应用于非同步的无线通信网络。由于各个设备节点都为独立的传感器节点,各自拥有独立的中央处理器、晶振和系统时钟,并大多采用主从应答响应机制进行指令收发和数据交互,因此设备节点在开启同步时钟时存在时延,导致设备节点间无法进行同步信息的采集;另外,复杂的网络环境导致的数据丢包等问题同样会导致传感器节点在数据融合时出现同步误差。然而在某些wsn应用场景中,传感器节点需同步采集数据,以正确进行传感器数据融合和数据分析。

传统wsn时间同步方法大多专注于最小化同步误差,并未考虑设备成本、功耗和计算等方面的约束,导致很多现有方法无法运用到实际wsn传感器网路中。因此在评价wsn时间同步方法时,需要在同步精度和能耗之间折衷,以期得到较优的同步方案。



技术实现要素:

为了克服已有无线传感器网络的无法兼顾同步精度和能耗的不足,本发明提供了一种用于无线设备节点同步的方法,在保证设备节点同步精度较高的同时能耗较低。

本发明解决其技术问题所采用的技术方案是:

一种用于无线设备节点网络同步的方法,其特征在于:所述的方法包含以下步骤:

步骤(1-1),在n个无线设备节点中选取某个无线设备节点为主设备节点,其余(n-1)个无线设备节点为从设备节点;若选定的主设备节点为同时不具有port属性和sync属性的控制设备节点,则进行步骤(1-2)~步骤(1-13);

步骤(1-2),初始化(n-1)个从设备节点的port属性,所有从设备节点均为p0待同步端口;

步骤(1-3),初始化(n-1)个从设备节点的sync属性,所有从设备节点均为s0初始态;

步骤(1-4),主设备节点与其余(n-1)个从设备节点通过无线通信模块建立无线连接;主设备节点与从设备节点在每个连接间隔产生的连接事件中交互数据;

步骤(1-5),主设备节点配置某个从设备节点的port属性为p1基准时钟端口;在从设备节点网络中,port属性为p1基准时钟端口的从设备节点有且仅有一个;

步骤(1-6),主设备节点改变(n-2)个port属性为p0待同步端口的从设备节点的sync属性为s1接收态;sync属性为s1接收态的设备节点在无线通信模块空闲时开始侦听同步数据包;

步骤(1-7),主设备节点改变port属性为p1基准时钟端口的从设备节点的sync属性为s2广播态,同时主设备节点设定延迟时间t;sync属性为s2广播态的从设备节点在无线通信模块空闲时广播一次同步数据包;

步骤(1-8),port属性为p1基准时钟端口的从设备节点广播完同步数据包后,改变自身的sync属性为s3准同步态;

步骤(1-9),port属性为p0待同步端口的从设备节点如果在无线通信模块空闲时侦听到同步数据包,则改变自身的sync属性为s3准同步态;port属性为p0待同步端口的从设备节点如果在无线通信模块空闲时未侦听到同步数据包,则不改变sync属性;

步骤(1-10),主设备节点延迟时间t到达后,读取(n-1)个从设备节点的sync属性;如果(n-1)个从设备节点的sync属性都为s3准同步态,则该次同步操作成功,进入步骤(1-11);如果存在某个或某些从设备节点的sync属性不是s3准同步态,则说明本次同步操作失败,进入步骤(1-12);

步骤(1-11),主设备节点改变(n-1)个从设备节点的sync属性为s4同步态,并进入步骤(1-13);

步骤(1-12),主设备节点改变(n-1)个从设备节点的sync属性为s5重置态,并跳转到步骤(1-6),重新开始从设备节点的同步操作过程。

步骤(1-13),主设备节点接收(n-1)个从设备节点的数据包,并将(n-1)个从设备节点的数据包根据时间顺序进行排序;将各个从设备节点排列好的数据包根据数据包的包序进行对齐;对于因网络环境等因素导致的某些从设备节点、某些时间点的数据包丢失,则主设备将对应从设备节点的对应包序位置的数据用填充数据补齐;

至此,基于主设备节点为控制设备节点的同步过程完成。

进一步,所述步骤(1-1)中,若选定的主设备节点为同时具有port属性和sync属性的同步设备节点,

所述方法还包含以下步骤:

步骤(1-14),初始化n个无线设备节点的port属性,所有无线设备节点均为p0待同步端口;

步骤(1-15),初始化n个无线设备节点的sync属性,所有无线设备节点均为s0初始态;

步骤(1-16),主设备节点与其余(n-1)个从设备节点通过无线通信模块建立无线连接;主设备节点与从设备节点在每个连接间隔产生的连接事件中交互数据;

步骤(1-17),主设备节点配置某个设备节点的port属性为p1基准时钟端口;在设备节点网络中,port属性为p1基准时钟端口的设备节点有且仅有一个;

步骤(1-18),主设备节点改变(n-1)个port属性为p0待同步端口的设备节点的sync属性为s1接收态;sync属性为s1接收态的设备节点在无线通信模块空闲时开始侦听同步数据包;

步骤(1-19),主设备节点改变port属性为p1基准时钟端口的设备节点的sync属性为s2广播态,同时主设备节点设定延迟时间t;sync属性为s2广播态的设备节点在无线通信模块空闲时广播一次同步数据包;

步骤(1-20),port属性为p1基准时钟端口的设备节点广播完同步数据包后,改变自身的sync属性为s3准同步态;

步骤(1-21),port属性为p0待同步端口的设备节点如果在无线通信模块空闲时侦听到同步数据包,则改变自身的sync属性为s3准同步态;port属性为p0待同步端口的设备节点如果在无线通信模块空闲时未侦听到同步数据包,则不改变sync属性;

步骤(1-22),主设备节点延迟时间t到达后,读取n个设备节点的sync属性;如果n个设备节点的sync属性都为s3准同步态,则该次同步操作成功,进入步骤(1-23);如果存在某个或某些设备节点的sync属性不是s3准同步态,则说明本次同步操作失败,进入步骤(1-24);

步骤(1-23),主设备节点改变n个设备节点的sync属性为s4同步态,并进入步骤(1-25);

步骤(1-24),主设备节点改变n个设备节点的sync属性为s5重置态,并跳转到步骤(1-18),重新开始设备节点的同步操作过程;

步骤(1-25),主设备节点接收(n-1)个从设备节点的数据包,并将(n-1)从设备节点的数据包和自身节点的数据包共n个数据包根据时间顺序进行排序;将各个设备节点排列好的数据包根据数据包的包序进行对齐;对于因网络环境等因素导致的某些设备节点、某些时间点的数据包丢失,则主设备将对应设备节点的对应包序位置的数据用填充数据补齐;

至此,基于主设备节点为同步设备节点的同步过程完成。

所述方法中的sync属性用于标识设备节点当前的同步状态,包含:s0初始态、s1广播态、s2接收态、s3准同步态、s4同步态和s5重置态。

所述方法中的ort属性用于选择设备节点中的同步基准时钟,包含:p0待同步端口和p1基准时钟端口。

所述方法中的由线设备节点构成的网络,当选定主设备节点后,所有设备节点构成星型结构。

所述方法中的设备节点间通信使用的通信协议包含但不仅限于:蓝牙协议、zigbee协议或wifi协议。

本发明的技术构思为:在无线设备节点网络中选取某个设备节点作为主设备节点;通过主设备节点配置各个节点的相关属性,以实现同步开启时钟的目的;而后主设备通过各个设备节点数据包的包序对传感器节点数据进行数据融合,最终实现无线设备节点网络的同步。

本发明的有益效果主要表现在:仅需在传感器数据采集前对设备节点进行同步。同步完成后,通过传感器节点数据融合即可对齐时间节点数据,达到设备节点的同步。

附图说明

图1为本发明所述方法中主设备节点为控制设备节点的程序流程图;

图2为本发明所述方法中主设备节点为同步设备节点的程序流程图;

图3为本发明所述方法同步状态属性的状态转移图;

图4为本发明所述方法中主设备节点为控制设备节点的数据融合图。

图5为本发明所述方法中主设备节点为同步设备节点的数据融合图;

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图5,一种用于无线设备节点网络同步的方法,其特征在于:所述的方法包含以下步骤:

步骤(1-1),在n个无线设备节点中选取某个无线设备节点为主设备节点,其余(n-1)个无线设备节点为从设备节点;若选定的主设备节点为同时不具有port属性和sync属性的控制设备节点,则进行步骤(1-2)~步骤(1-13);

步骤(1-2),初始化(n-1)个从设备节点的port属性,所有从设备节点均为p0待同步端口;

步骤(1-3),初始化(n-1)个从设备节点的sync属性,所有从设备节点均为s0初始态;

步骤(1-4),主设备节点与其余(n-1)个从设备节点通过无线通信模块建立无线连接;主设备节点与从设备节点在每个连接间隔产生的连接事件中交互数据;

步骤(1-5),主设备节点配置某个从设备节点的port属性为p1基准时钟端口;在从设备节点网络中,port属性为p1基准时钟端口的从设备节点有且仅有一个;

步骤(1-6),主设备节点改变(n-2)个port属性为p0待同步端口的从设备节点的sync属性为s1接收态;sync属性为s1接收态的设备节点在无线通信模块空闲时开始侦听同步数据包;

步骤(1-7),主设备节点改变port属性为p1基准时钟端口的从设备节点的sync属性为s2广播态,同时主设备节点设定延迟时间t;sync属性为s2广播态的从设备节点在无线通信模块空闲时广播一次同步数据包;

步骤(1-8),port属性为p1基准时钟端口的从设备节点广播完同步数据包后,改变自身的sync属性为s3准同步态;

步骤(1-9),port属性为p0待同步端口的从设备节点如果在无线通信模块空闲时侦听到同步数据包,则改变自身的sync属性为s3准同步态;port属性为p0待同步端口的从设备节点如果在无线通信模块空闲时未侦听到同步数据包,则不改变sync属性;

步骤(1-10),主设备节点延迟时间t到达后,读取(n-1)个从设备节点的sync属性;如果(n-1)个从设备节点的sync属性都为s3准同步态,则该次同步操作成功,进入步骤(1-11);如果存在某个或某些从设备节点的sync属性不是s3准同步态,则说明本次同步操作失败,进入步骤(1-12);

步骤(1-11),主设备节点改变(n-1)个从设备节点的sync属性为s4同步态,并进入步骤(1-13);

步骤(1-12),主设备节点改变(n-1)个从设备节点的sync属性为s5重置态,并跳转到步骤(1-6),重新开始从设备节点的同步操作过程。

步骤(1-13),主设备节点接收(n-1)个从设备节点的数据包,并将(n-1)个从设备节点的数据包根据时间顺序进行排序;将各个从设备节点排列好的数据包根据数据包的包序进行对齐;对于因网络环境等因素导致的某些从设备节点、某些时间点的数据包丢失,则主设备将对应从设备节点的对应包序位置的数据用填充数据补齐;

至此,基于主设备节点为控制设备节点的同步过程完成。

进一步,所述步骤(1-1)中,若选定的主设备节点为同时具有port属性和sync属性的同步设备节点,

所述方法还包含以下步骤:

步骤(1-14),初始化n个无线设备节点的port属性,所有无线设备节点均为p0待同步端口;

步骤(1-15),初始化n个无线设备节点的sync属性,所有无线设备节点均为s0初始态;

步骤(1-16),主设备节点与其余(n-1)个从设备节点通过无线通信模块建立无线连接;主设备节点与从设备节点在每个连接间隔产生的连接事件中交互数据;

步骤(1-17),主设备节点配置某个设备节点的port属性为p1基准时钟端口;在设备节点网络中,port属性为p1基准时钟端口的设备节点有且仅有一个;

步骤(1-18),主设备节点改变(n-1)个port属性为p0待同步端口的设备节点的sync属性为s1接收态;sync属性为s1接收态的设备节点在无线通信模块空闲时开始侦听同步数据包;

步骤(1-19),主设备节点改变port属性为p1基准时钟端口的设备节点的sync属性为s2广播态,同时主设备节点设定延迟时间t;sync属性为s2广播态的设备节点在无线通信模块空闲时广播一次同步数据包;

步骤(1-20),port属性为p1基准时钟端口的设备节点广播完同步数据包后,改变自身的sync属性为s3准同步态;

步骤(1-21),port属性为p0待同步端口的设备节点如果在无线通信模块空闲时侦听到同步数据包,则改变自身的sync属性为s3准同步态;port属性为p0待同步端口的设备节点如果在无线通信模块空闲时未侦听到同步数据包,则不改变sync属性;

步骤(1-22),主设备节点延迟时间t到达后,读取n个设备节点的sync属性;如果n个设备节点的sync属性都为s3准同步态,则该次同步操作成功,进入步骤(1-23);如果存在某个或某些设备节点的sync属性不是s3准同步态,则说明本次同步操作失败,进入步骤(1-24);

步骤(1-23),主设备节点改变n个设备节点的sync属性为s4同步态,并进入步骤(1-25);

步骤(1-24),主设备节点改变n个设备节点的sync属性为s5重置态,并跳转到步骤(1-18),重新开始设备节点的同步操作过程;

步骤(1-25),主设备节点接收(n-1)个从设备节点的数据包,并将(n-1)从设备节点的数据包和自身节点的数据包共n个数据包根据时间顺序进行排序;将各个设备节点排列好的数据包根据数据包的包序进行对齐;对于因网络环境等因素导致的某些设备节点、某些时间点的数据包丢失,则主设备将对应设备节点的对应包序位置的数据用填充数据补齐。

至此,基于主设备节点为同步设备节点的同步过程完成。

方法中的sync属性用于标识设备节点当前的同步状态,包含:s0初始态、s1广播态、s2接收态、s3准同步态、s4同步态和s5重置态。

方法中的port属性用于选择设备节点中的同步基准时钟,包含:p0待同步端口和p1基准时钟端口。

方法中的由无线设备节点构成的网络,当选定主设备节点后,所有设备节点构成星型结构。

方法中的设备节点间通信使用的通信协议包含但不仅限于:蓝牙协议,zigbee协议,wifi协议等等。

本实施例中,主设备节点选取为iphone5s手机设备,为控制设备节点。因此在同步过程中,主设备节点不具有port属性和sync属性。

本实施例中,从设备节点为2块肌电信号采集设备节点,分别为肌电信号采集设备节点1和肌电信号采集设备节点2。在肌电信号采集设备节点中建立两个可读可写属性:port属性和sync属性。

肌电信号采集设备节点上电初始化port和sync两个属性:port属性初始化为0x00,表示肌电信号采集设备节点默认的port属性为p0待同步端口;sync初始化为0x00,表示肌电信号采集设备节点上电后的sync属性为s0初始态。

实验中,iphone5s与肌电信号采集设备节点之间通过蓝牙低功耗协议(bluetoothlowenergy,ble)建立无线连接。iphone5s与肌电信号采集设备节点在每个连接间隔产生的连接事件中交互数据。

iphone5s通过ble向肌电信号采集设备节点1的port属性写入0x01,设置该设备节点的port属性为p1基准时钟端口,并回读该属性值确保写入成功。

肌电信号采集设备节点根据port和sync属性的配置,初始化无线通信协议和同步定时器。对于port属性为p1基准时钟端口的肌电信号采集设备节点1,将其配置为同步数据包发送端,在无线通信模块空闲时,利用无线通信协议广播同步数据包;同时配置事件任务触发机制,当肌电信号采集设备节点1广播同步数据包事件产生时,硬件单次触发延迟定时器,延迟时间到达后触发同步定时器开始同步采样,延迟定时器的定时时间根据设备节点间的通信距离决定。对于port属性为p0待同步端口的设备节点2,将其配置为同步数据包接收端,在无线通信模块空闲时,利用无线通信协议侦听同步数据包;同时配置事件任务触发机制,当肌电信号采集设备节点2侦听到同步数据包时,硬件触发同步定时器开始同步采样。

iphone5s首先向port属性为p0待同步端口的肌电信号采集设备节点2的sync属性写入0x01,配置该节点的sync属性为s1接受态,并回读该属性值确保写入成功;sync属性为s1接受态的肌电信号采集设备节点2在无线通信模块空闲时段开始侦听肌电信号采集设备节点1广播的同步数据包。

iphone5s接着向port属性为p1基准时钟端口的肌电信号采集设备节点1的sync属性写入0x01,配置该节点的sync属性为s2广播态,并回读该属性值确保写入成功;同时iphone5s设定延迟时间t=50ms。sync属性为s2广播态的肌电信号采集设备节点1在无线通信模块空闲时段广播一次同步数据包,并触发延迟定时器,延迟时间到达后触发同步定时器开始同步采样。

肌电信号采集设备节点1向自身的sync属性写入0x02,配置该节点的sync属性为s3准同步态。

如果肌电信号采集设备节点2侦听到肌电信号采集设备节点1广播的同步数据包,则向自身的sync属性写入0x02,配置该节点的sync属性为s3准同步态;如果肌电信号采集设备节点2未侦听到同步数据包,则不改变sync属性。

iphone5s在延迟时间t=50ms到达后,读取所有肌电信号采集设备节点的sync属性;如果所有肌电信号采集设备节点的sync属性都为s3准同步态,则说明所有设备节点已经在同一个时间点开启了同步定时器,该次同步操作成功。iphone5s向所有肌电信号采集设备节点的sync属性写入0x03,配置所有肌电信号采集设备节点的sync属性为s4同步态。从设备节点停止在无线通信模块空闲时段广播或侦听同步数据包。iphone5s接收所有肌电信号采集设备节点的数据包,并将各个肌电信号采集设备节点的数据包根据时间顺序进行排序;将各个肌电信号采集设备节点排列好的数据包再根据数据包的包序进行对齐。对于因网络环境等因素导致的某些肌电信号采集设备节点、某些时间点的数据包丢失,则主设备将对应从设备节点的对应包序位置的数据用填充数据补齐。

如果存在某个或某些肌电信号采集设备节点的sync属性不是s3准同步态,则说明本次同步失败,iphone5s向所有肌电信号采集设备节点的sync属性写入0x04,配置所有肌电信号采集设备节点的sync属性为s5重置态。sync属性为s5重置态的肌电信号采集设备节点,重置同步定时器和数据包包序,并重新开始下一轮的同步操作。

需要说明的是,上述的实施例仅用于说明本发明,而不应视为对本发明的限制。本发明的保护范围应以权利要求记载的技术方案,包括权利要求记载的技术方案中的特征的等同替换方案为保护范围。对本发明的技术方案进行各种组合、修改或者等同替换,也在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1