一种基于LoRa的组网方法及系统与流程

文档序号:11525057阅读:932来源:国知局
一种基于LoRa的组网方法及系统与流程
本发明涉及无线设备组网
技术领域
,尤其涉及一种基于lora的组网方法及系统。
背景技术
:现有的lorawan组网方式为:1.终端设备(下文简称为“终端”)通过lora无线通讯(下文简称为“lora通讯”)的方式与lorawan网关(下文简称“网关”)连接。2.网关通过ip网络(因特网或者局域网)与物联网云服务器(下文简称“云服务器”)连接。3.网关之间无法通过lora无线通讯方式连接。4.云服务器是整个lorawan的中心,它负责对每个终端进行控制或数据采集。传统lorawan的拓扑结构(图1):1.站在终端与网关的角度来看(图2),一个终端只能与一个网关相连,但是一个网关可以连接多个终端,这是以网关为中心的星型拓扑结构。2.站在网关与云服务器的角度来看(图3),一个网关只能与一个云服务器连接,但是一个云服务器可以连接多个网关,这是以云服务器为中心的星型拓扑结构。3.站在整个loraawan的角度来看(图1),这是以云服务器为中心的两层星型拓扑。当前技术问题及缺点:所有网关必须布设在有ip网络的环境中。在无法拥有ip网络的特定环境(比如广袤的草原和无垠的沙漠等)将无法铺设,或者直接限制了lorawan的覆盖范围。技术实现要素:本发明提供了一种基于lora的组网方法,包括:直接与云服务器通过ip网络相连的网关称作主网关,主网关与云服务器的lora通讯跳数为0,网关的跳数是指网关要与云服务器通讯需要经过的网关的个数;没有ip网络、无法与云服务器直接相连的网关称作子网关,子网关与主网关或其他子网关相连;使终端与子网关相连;该组网方法包括物理层、链路层、网络层和应用帧层,所述链路层负责临近网关的链接,所述网络层负责云服务器与指定网关间的链接,其中包含路由信息。作为本发明的进一步改进,所述子网关入网执行如下步骤:初始化步骤:网关初始化;请求步骤:广播发送入网请求;判断步骤:判断超时时间内是否收到云服务器的入网确认,如是,那么执行保存步骤,否则执行请求步骤;保存步骤:保存入网确认中的网关地址信息;发送步骤:网关按照保存的路由表信息,向云服务器发送入网确认信息;发送步骤:网关按照保存的路由表信息,向云服务器发送入网确认信息。作为本发明的进一步改进,每当网络发生变化时,云服务器会根据路由跳数、接收时间和此网关与相邻网关的rssi这三个值来计算路径权重pathweight,算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系数,根据实际权衡来调节;每个网关选出权重最大的几条路径,也就是从相邻网关中选取下一跳优先网关,并将此信息更新到对应网关中。作为本发明的进一步改进,如果云服务器发现发送下行数据时,某个网关无法继续转发数据,则重新计算路由,换另外的路径发送帧,如果此时发送成功则更新响应网关的路由表;对于网关转发上行数据时,按照上行路由表的优先次序,如果某一个网关不能为其转发数据或者转发超时,会切换到下一优先级的网关继续转发,其他网关转发成功,会再使用此路径发送一个上行帧告诉云服务器,网关转发异常,云服务器会根据这一信息更新相应网关的路由表。作为本发明的进一步改进,云服务器按照网关的定位信息、网关间的rssi、以及终端与网关间的rssi信息得出可视化网络覆盖。本发明还提供了一种基于lora的组网系统,包括云服务器、主网关、子网关和终端,其中:直接与云服务器通过ip网络相连的网关称作主网关,主网关与云服务器的lora通讯跳数为0,网关的跳数是指网关要与云服务器通讯需要经过的网关的个数;没有ip网络、无法与云服务器直接相连的网关称作子网关,子网关与主网关或其他子网关相连;终端与子网关相连;该组网系统包括物理层、链路层、网络层和应用帧层,所述链路层负责临近网关的链接,所述网络层负责云服务器与指定网关间的链接,其中包含路由信息。作为本发明的进一步改进,所述子网关入网执行如下模块:初始化模块:网关初始化;请求模块:广播发送入网请求;判断模块:判断超时时间内是否收到云服务器的入网确认,如是,那么执行保存模块,否则执行请求模块;保存模块:保存入网确认中的网关地址信息;发送模块:网关按照保存的路由表信息,向云服务器发送入网确认信息;确认模块:云服务器确认网关已经入网成功。作为本发明的进一步改进,每当网络发生变化时,云服务器会根据路由跳数、接收时间和此网关与相邻网关的rssi这三个值来计算路径权重pathweight,算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系数,根据实际权衡来调节;每个网关选出权重最大的几条路径,也就是从相邻网关中选取下一跳优先网关,并将此信息更新到对应网关中。作为本发明的进一步改进,如果云服务器发现发送下行数据时,某个网关无法继续转发数据,则重新计算路由,换另外的路径发送帧,如果此时发送成功则更新响应网关的路由表;对于网关转发上行数据时,按照上行路由表的优先次序,如果某一个网关不能为其转发数据或者转发超时,会切换到下一优先级的网关继续转发,其他网关转发成功,会再使用此路径发送一个上行帧告诉云服务器,网关转发异常,云服务器会根据这一信息更新相应网关的路由表。作为本发明的进一步改进,云服务器按照网关的定位信息、网关间的rssi、以及终端与网关间的rssi信息得出可视化网络覆盖。本发明的有益效果是:本发明在没有ip网络的环境下极大增加lora网络覆盖范围;并且是自愈型网络,可以在某个或某些网关故障的情况下,保证终端与与服务器之间仍可以保持通讯;可视化网络覆盖,可以方便扩充以及维护设备。附图说明图1是传统lorawan拓扑结构图。图2是传统lorawan网关与终端间拓扑结构图。图3是传统lorawan云服务器与网关间拓扑结构图。图4是本发明的loraawan拓扑结构图。图5是本发明的loraawan的跳数示意图。图6是本发明的loraawan网关间拓扑结构图。图7是本发明的各设备间通讯使用的协议图。图8是本发明在通讯中网关数据发送与接收图。图9是本发明的网关对下行数据帧的发送流程图。图10是本发明的网关初始化流程图。图11是本发明的子网关入网流程图。图12是本发明的可视化网络覆盖图。具体实施方式如图4所示,本发明公开了一种基于lora的组网方法(一套网关之间基于lora通讯的网状多跳组网方式),解决了没有ip网络的环境中lora网络的覆盖问题,本发明将此组网方式称作lora增强型广域网(下文简称“loraawan”)。并且此组网方式考虑到了网关故障时整个网络的自愈性,以及lora网络覆盖可视化监控。如图4所示,直接与云服务器通过ip网络相连的网关称作主网关,主网关与云服务器的lora通讯跳数为0(网关的跳数是指网关要与云服务器通讯需要经过的网关的个数)。没有ip网络、无法与云服务器直接相连的网关称作子网关,子网关可与主网关或其他子网关相连。应用这种新型组网方式理论可以使任何一个网关所构建的子网络的覆盖范围都为无穷远。下面进行具体的介绍:1.loraawan的构成:1.1网络设备:本发明的loraawan由云服务器、主网关、子网关和终端组成。从硬件的角度来看:1.1.1.云服务器硬件上与传统云服务器相同;1.1.2.主网关与子网关都硬件配有中央处理器、电源模块、gps模块,支持全球ism频段的lora收发器(例如采用semtech的sx1301)。1.1.2.1.对于主网关还配有以太网或wifi模块等用来连接ip网络,并且为线路供电;1.1.2.2.对于子网关在一些不具备线路供电的情况下也可以考虑采用电池供电;1.1.3.终端是可以配有lora模块可以接入lorawan的数据采集或控制类设备,大多为电池供电。1.2.网络拓扑结构。a.loraawan拓扑结构。b.网关间拓扑结构。c.跳数计算。1.3.loraawan的网络分层(如表2),其中:a.phylayer(物理层)与lorawan的phylayer完全相同。b.lnklayer(链路层)主要负责临近网关的链接。c.nwklayer(网络层)主要负责云服务器与指定网关间的链接,其中包含路由信息。2.通讯方式2.1.为了合理的利用带宽,lorawan和loraawan之间使用的信道不同。例如,loraawan通讯使用779-787mhz频段,lorawan通讯使用470-510mhz频段。(当然按照实际情况也可以使用同一个频段中分配不同的信道lorawan和loraawan使用)。2.2.从整个优化后的系统来看,各设备间的通讯方式见图7:2.2.1.云服务器只需要支持loraawan。2.2.2.每个网关都分别实现了lorawan和loraawan。2.2.3.终端仅支持lorawan。2.2.4.终端与网关的通讯被转换成loraawan后在转发给云服务器或者其他网关。2.3.站在通讯发起端来看loraawan通讯方式见图8,其中除了网关需要发送之外的时间全部用来接收数据。2.4.loraawan的帧格式。2.4.1.phylayer(物理层)与lorawan的phylayer完全相同。2.4.2.在phylayer之上是lnklayer(链路层),结构见表3。lnklayer通过lhdr(表6)保证了临近网关间的传输。其中2.4.2.1.lnk描述(表7)中确定了数据类型(表8),是正常发送出去的,还是由于某种原因回传回来的,如果是回传的数据可以查看表9,判断目标是否不可达。2.4.2.2.lnk序号是发起端指定的一个数字,为了在传输失败时确认哪一个序号lnkpayload失败了。2.4.2.3.接收方地址和发送方地址都是3字节的网关地址。网关只有发现接收方的地址与自身匹配才处理这一帧。网关地址为0指云服务器,网关地址为0xffffff指广播。2.4.2.4.如果当前网关接到a帧,转发a帧失败后,则回传,并且告诉在lnk状态中标注目标不可达。2.4.3.在lnklayer之上是nwklayer(网络层),结构见表4。nwklayer通过nhdr(表10)引入了路由表的概念,可以依赖路由表通过多个网关将数据传输至云服务器或者指定网关。2.4.3.1.nwk描述(表11)中定义了ntype(nwk类型,见表12),其中“上行”指从指定网关到云服务器,“下行”指从云服务器到指定网关。“需要确认”指接收方收到此帧后需要回复原始发送方确认帧(确认位=1),“不需要确认”是指接收方收到此帧后不需要回复任何信息。如果“通讯模式”为1表示此帧是节点与云服务器之间的通讯,frmpayload需要按照lorawan的phypayload解析。“通讯模式”为0代表frmpayload按照loraawan的子协议解析。2.4.3.2.“nwk序号”是发起端指定的一个数字,为了在传输失败时确认哪一个序号的nwkpayload失败了。2.4.3.3.“网关地址”在上行帧中代表发起方网关的地址,在下行帧中代表目标接受方的网关地址。2.4.3.4.“跳数”是指当前网关收到此帧时已经经过了几个网关转发。2.4.3.5."路由序列"在2.4.5中描述。在下行帧中需要从“路由序列”中“跳数”对应的位置取出网关编号,再根据网关编号检索出对应的网关地址,将此网关地址填入“lhdr”中的“接收方”,自身作为发送方,将此帧发送出去。2.4.3.6.“确认的nwk序号”仅当“nwk描述”中的“确认位”位1时才存在,代表了对哪个nwk序号的帧进行确认。2.4.4.在nwklayer之上是frmlayer(应用帧层),结构见表5。frmlayer携带具体的应用数据,因此这一层的协议由对应应用自行定义。2.4.5.“路由序列”:2.4.5.1.路由信息对于上行和下行的意义不同。上行帧中需要每个途径的网关填入自身的下一跳网关编号到对应“跳数”的位置,并将“跳数”加1,并此网关编号检索到的网关地址填入“lhdr”中的“接收方”,自身作为发送方,将此帧发送出去;2.4.5.2.网关编号由3位组成,“路由序列”表由15个字节组成,意味着最大跳数只能到40。3.网关入网流程:3.1“入网请求”的frmpayload格式见表14。3.1.1“网关设备id”是发起入网请求的网关在ieeeeui64地址空间的唯一设备地址。3.1.2“到第一个网关的rssi”是指入网帧被第一网关接收到时的rssi(接收的信号强度指示)。3.1.3最多允许网关有三根天线,这三根天线也许不在同一位置,每根天线坐标字段的前3个字节为纬度,后3个字节为经度。3.1.4“网关的utc时间”是指发起入网请求的网关在与gps同步时间后获取的utc时间,云服务器可以以此计算此网关到云服务器的上行传输延迟时间。3.2入网确认的frmpayload格式见表15。3.2.1“网关设备id”是发起入网请求的网关在ieeeeui64地址空间的唯一设备地址。3.2.2“分配的网络地址”是指云服务器分配给此“网关设备id”的网关的网络地址。3.2.3“临近网关地址列表”是指云服务器告诉发起入网的网关,它附近有哪些其他网关已经加入此loraawan网络。最多有8个网关地址,他们的编号是从0到7。3.2.4“上行路由表”是一个优先级列表,其中每3位是“临近网关地址列表”中的一个序号,最多保存4个网关序号,发送上行数据可以根据此序号检索“临近网关地址列表”取出网关地址作为目标地址传输帧。3.2.5“云服务器的utc时间”是指云服务器的utc时间,网关可以以此计算下行传输延迟时间。3.3网关入网前需要做的初始化如图10。3.4子网关入网流程图见图11,执行如下步骤:初始化步骤:网关初始化;请求步骤:广播发送入网请求;判断步骤:判断超时时间内是否收到云服务器的入网确认,如是,那么执行保存步骤,否则执行请求步骤;保存步骤:保存入网确认中的网关地址信息;发送步骤:网关按照保存的路由表信息,向云服务器发送入网确认信息;确认步骤:云服务器确认网关已经入网成功。4.终端入网流程:4.1.从终端的角度来看,入网流程与lorawan没有任何差别。4.2.从网关的角度来看,每个收到此终端入网请求的网关都需要将入网请求的phypayload(lorawan)搭载在loraawan的frmpayload中发送给服务器,并在frmpayload结尾处加入收到终端入网请求帧的rssi。4.3从云服务器的角度来看:4.3.1.它会收到对于此终端入网信息来自不同网关的帧。4.3.2.它会根据rssi、路由信息选出一个最适合转发此终端的信息的网关作为目标网关发送终端的入网确认信息。4.3.3.它会选择几个最适合转发此终端上行帧的网关,并更新这几个网关的“终端托管列表”。4.4.网关收到一个终端的上行帧时,会先查询自身的“终端托管列表”,如果存在此终端地址则转发此终端的上行数据,否则忽略。5.路由表更新算法。每当网络发生变化时,比如增加或减少一个网关时。云服务器会根据路由跳数(hopnb)、接收时间(rcvtime)和此网关与相邻网关的rssi这三个值来计算路径权重(pathweight)。算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系数,根据实际权衡来调节。每个网关选出权重最大的几条路径,也就是从相邻网关中选取下一跳优先网关。并将此信息更新到对应网关中。6.网络自愈机制网络自愈是指,网络中任何一个网关出现问题,无法转发数据,那么可以不影响整个网络的传输,并且可以定位出问题的网关。如果云服务器发现发送下行数据时,某个网关无法继续转发数据,则重新计算路由,换另外的路径发送帧,如果此时发送成功则更新响应网关的路由表。对于网关转发上行数据时,按照上行路由表的优先次序,如果某一个网关不能为其转发数据或者转发超时,它会切换到下一优先级的网关继续转发,其他网关转发成功,它会再使用此路径发送一个上行帧告诉云服务器,这个网关转发异常。云服务器会根据这一信息更新相应网关的路由表。7.可视化网络维护云服务器可以按照网关的定位信息,网关间的rssi,终端与网关间的rssi等信息得出可视化网络覆盖(如图12)。根据可视化覆盖信息可以提供如下帮助:a.掌握各个区域的网络覆盖情况。b.再次部署网关时应该选择什么样的位置。c.找出网络的薄弱和冗余环节。本发明还公开了一种基于lora的组网系统,包括云服务器、主网关、子网关和终端,其中:直接与云服务器通过ip网络相连的网关称作主网关,主网关与云服务器的lora通讯跳数为0,网关的跳数是指网关要与云服务器通讯需要经过的网关的个数;没有ip网络、无法与云服务器直接相连的网关称作子网关,子网关与主网关或其他子网关相连;终端与子网关相连;该组网系统包括物理层、链路层、网络层和应用帧层,所述链路层负责临近网关的链接,所述网络层负责云服务器与指定网关间的链接,其中包含路由信息。所述子网关入网执行如下模块:初始化模块:网关初始化;请求模块:广播发送入网请求;判断模块:判断超时时间内是否收到云服务器的入网确认,如是,那么执行保存模块,否则执行请求模块;保存模块:保存入网确认中的网关地址信息;发送模块:网关按照保存的路由表信息,向云服务器发送入网确认信息;确认模块:云服务器确认网关已经入网成功。每当网络发生变化时,云服务器会根据路由跳数、接收时间和此网关与相邻网关的rssi这三个值来计算路径权重pathweight,算法如下:pathweight=a*hop+b*rcvtime+c*pathweight其中a、b、c是系数,根据实际权衡来调节;每个网关选出权重最大的几条路径,也就是从相邻网关中选取下一跳优先网关,并将此信息更新到对应网关中。如果云服务器发现发送下行数据时,某个网关无法继续转发数据,则重新计算路由,换另外的路径发送帧,如果此时发送成功则更新响应网关的路由表;对于网关转发上行数据时,按照上行路由表的优先次序,如果某一个网关不能为其转发数据或者转发超时,会切换到下一优先级的网关继续转发,其他网关转发成功,会再使用此路径发送一个上行帧告诉云服务器,网关转发异常,云服务器会根据这一信息更新相应网关的路由表。云服务器按照网关的定位信息、网关间的rssi、以及终端与网关间的rssi信息得出可视化网络覆盖。3framelayer(应用帧层,下文简称“frmlayer”)2maclayer(介质访问控制层)1physicallayer(物理层,下文简称“phylayer”)表1传统lora网络(lorawan)分层4frmlayer3networklayer(网络层,下文简称“nwklayer”)2linklayer(链路层,下文简称“lnklayer”)1phylayer表2lora增强型网络(loraawan)分层lhdrlinpayloadmic表3loraawan的lnklayer(即phypayload)数据结构nhdrnetpayload表4loraawan的nwklayer(即linpayload)数据结构fhdrfrmpayload表5loraawan的frmlayer(即netpayload)数据结构长度(字节)1233定义lnk描述lnk序号接收方地址发送方地址表6lhdr的数据格式bit#7..54..21..0描述固定为0b111lnk类型lnk状态表7lnk描述的数据格式表8lin类型的数据格式值(二进制)描述00传输成功01目标不可达10预留11预留表9lnk状态的描述表10nhdr的数据格式bit#7..54..210定义ntype预留确认位通讯模式表11nwk描述的数据格式ntype描述000入网请求001入网确认010不需要确认的上行数据011不需要确认的下行数据100需要确认的上行数据101需要确认的下行数据110预留111预留表12ntype的数据描述01网关与云服务器之间的通讯节点与云服务器之间的通讯表13net描述中通讯模式定义表14入网请求所携带的数据表15入网确认所携带的数据本发明在没有ip网络的环境下极大增加lora网络覆盖范围;并且是自愈型网络,可以在某个或某些网关故障的情况下,保证终端与与服务器之间仍可以保持通讯;可视化网络覆盖,可以方便扩充以及维护设备。比如荒漠中,需要捕获一些信息(例如温度、风速等),或者控制某个设备(例如喷灌设备等)。由于无法广泛铺设ip网络,所以传统lorawan的覆盖范围被极大限制,甚至可能达不到目标效果。本发明的loraawan可以在这样的环境中铺设,loraawan网关的覆盖不依赖于ip网络。并且有效应对恶劣环境,在网关故障的情况下可以快速愈合网络,并且定位出故障设备。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域
的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1