一种物联网节点设备自主切换网关的方法与流程

文档序号:15751652发布日期:2018-10-26 17:51阅读:807来源:国知局
一种物联网节点设备自主切换网关的方法与流程

本发明属于物联网通信领域,具体涉及一种物联网节点设备自主切换网关的方法。



背景技术:

随着物联网技术的不断发展,连接到物联网的节点设备不断增加,节点设备对网关有着很高的依赖性。网关一旦由于硬件损坏或者其它原因而无法正常工作时,则将导致与该网关已建立连接的所有节点设备失联。



技术实现要素:

针对现有技术中由于网关无法正常工作导致节点设备失联的问题,本发明提供一种物联网节点设备自主切换网关的方法,节点设备能够在多个网关之间自由切换,不会因为一个网关损坏而影响工作。

一种物联网节点设备自主切换网关的方法,包括:

步骤s1:节点设备向网络中的所有网关广播发现请求;

步骤s2:节点设备与最先回应的第一网关建立连接,并通过第一网关上线;

步骤s3:节点设备在固定时间内向第一网关发送一定次数心跳,若节点设备未收到第一网关的心跳回应,则返回执行步骤s1;

步骤s4:节点设备与最先回应的第二网关建立连接,并通过第二网关上线。

优选的,所述节点设备具有唯一识别码。

优选的,若所述节点设备没有唯一识别码,则节点设备通过第一网关向云端服务器进行注册。

优选的,所述步骤s2包括:所述第一网关向云端服务器请求子设备列表,并根据列表中节点设备的唯一识别码的查找情况确定是否回应节点设备的请求。

优选的,所述节点设备通过第一网关上线包括:

节点设备保存第一网关的地址,并向第一网关发起实名连接请求;

节点设备收到第一网关的请求响应后发送mqtt订阅请求至网关,根据mqtt订阅请求,第一网关以自己的身份向云端服务器提出订阅请求;

若云端服务器响应第一网关的订阅请求且网关回应节点设备的订阅请求,则节点设备订阅成功;

节点设备开始lora心跳包,心跳过程中若接收到控制指令,则对该指令进行处理。

优选的,所述固定时间设置为30s。

优选的,所述次数设定为3次。

优选的,所述步骤s4执行后,云端服务器更新第二网关的子设备列表,并推送至第二网关。

优选的,所述控制指令由云端服务器发送,用以改变节点设备的状态或者回传节点设备采集的数据。

优选的,所述子设备列表用于记录节点设备与网关的连接信息。

本发明的有益效果:

网络中的节点设备与多个网关都能够建立连接,当某个网关出现故障而无法工作时,该网关下面的节点设备可自动连接至其它网关上,从而保证节点设备不会失联,大大提高网关的可用性。

附图说明

图1是本发明实施例的一种物联网节点设备自主切换网关的方法流程图;

图2是本发明实施例的网关在正常状态下与节点设备的连接示意图;

图3是本发明实施例的网关故障时节点设备与网关的连接示意图;

图4是本发明实施例的节点设备与新网关的连接示意图。

具体实施内容

下面结合实施例及附图对本发明做进一步详细描述,但本发明的实施方式不限于此。

如图1所示,本发明实施例提供一种物联网节点设备自主切换网关的方法,包括:

步骤s1:节点设备向网络中的所有网关广播发现请求;

在本实施例中,由节点设备与多个网关构建网络并进行数据传输,节点开机后,向网络中的所有网关广播发现请求,所有网关均对该请求作出回应。

步骤s2:节点设备与最先回应的第一网关建立连接,并通过第一网关上线;

在本实施例中,所有网关开机上线接收到节点设备的请求后,向云端服务器请求子设备列表,该列表包含已绑定节点设备的devicetd,网关根据子设备列表的查找情况以确定是否回应节点设备的请求。

需要说明的是,每个节点设备具有一个通用的唯一识别码deviceid,如果没有deviceid,则节点设备请求与之最初建立连接的第一网关向云端服务器进行注册,若第一网关将注册信息返回给节点设备,则节点设备将deviceid保存到flash。

进一步地,节点设备通过第一网关上线包括:

步骤s21:节点设备保存第一网关的地址,并向第一网关发起实名连接请求;

步骤s22:节点设备收到第一网关的请求响应后发送mqtt订阅请求至第一网关,根据mqtt订阅请求,第一网关以自己的身份向云端服务器提出订阅请求;

步骤s23:若云端服务器响应第一网关的订阅请求且第一网关回应节点设备的订阅请求,则节点设备订阅成功;

步骤s24:节点设备开始lora心跳包,心跳过程中若接收到控制指令,则对该指令进行处理。

步骤s3:节点设备在固定时间内向第一网关网关发送一定次数心跳,若节点设备未收到第一网关的心跳回应回应,则返回执行步骤s1,即节点设备重新向所有网关广播发现请求;

需要说明的是,在本实施例中,控制指令由云端服务器发送,用以改变节点设备的状态或者回传节点设备采集的数据。

在本实施例中,节点设备发送心跳的时间间隔设置为30s,当节点设备连续发送3次心跳且没有收到第一网关的心跳回应时,则节点设备重新广播发现请求以发现其他可用网关。

步骤s4:节点设备与最先回应的第二网关建立连接,并通过第二网关上线。

同理,节点设备设备通过第二网关上线包括:

步骤s41:节点设备保存第二网关的地址,并向第二网关发起实名连接请求;

步骤s42:节点设备收到第二网关的请求响应后发送mqtt订阅请求至第二网关,根据mqtt订阅请求,第二网关以自己的身份向云端服务器提出订阅请求;

步骤s43:若云端服务器响应第二网关的订阅请求且第二网关回应节点设备的订阅请求,则节点设备订阅成功;

步骤s44:节点设备开始lora心跳包,心跳过程中若接收到控制指令,则对该指令进行处理。

在本实施例中,当节点设备与第二网关建立连接并上线后,云端服务器更新第二网关的子设备列表,并推送至第二网关。

需要解释的是,在本实施例中,子设备列表用于记录节点设备与网关的连接信息。

图2-图4为本发明实施例的节点设备与网关的连接示意图,下面分别进行描述。

在一个实施例中,如图2所示,网关a和网关b都正常在线,节点设备a1通过网关a上线,节点设备b1和b2通过网关b上线。

在另一个实施例中,如图3所示,当网关a出现故障时无法正常工作时,若与网关a连接的节点设备a1无法连续3次收到网关a的心跳回应,则节点设备a1断开与网关a的连接。

在另一个实施例中,如图4所示,节点设备a1断开与网关a的连接后重新广播,进行实名发现请求,网关a由于故障无法通信,网关b收到广播后回应请求并与节点设备a1建立连接,则节点设备a1通过网关b上线。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他任何未背离本发明的精神实质与原理下所作的改变、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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