CN107612668A - 基于LoRa的通信方法、装置、终端、服务器及存储介质 - Google Patents
基于LoRa的通信方法、装置、终端、服务器及存储介质 Download PDFInfo
- Publication number
- CN107612668A CN107612668A CN201710796815.9A CN201710796815A CN107612668A CN 107612668 A CN107612668 A CN 107612668A CN 201710796815 A CN201710796815 A CN 201710796815A CN 107612668 A CN107612668 A CN 107612668A
- Authority
- CN
- China
- Prior art keywords
- frame
- server
- uplink frame
- uplink
- sent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本公开涉及一种基于LoRa的通信方法、装置、终端、服务器及存储介质,涉及低功耗广域网技术领域,用于解决有多个需确认的上行帧发送时存在发送延迟以及控制开销大的问题,该方法包括:向服务器发送第一上行帧,第一上行帧的头部的保留位中设置有连续性标志位,连续性标志位用于表示在第一上行帧之后是否存在与第一上行帧成对发送的第二上行帧;在连续性标志位指示存在第二上行帧时,向服务器发送第二上行帧;从服务器获取用于指示是否成功接收到第一上行帧和第二上行帧的确认信息。能够降低上行帧的发送延迟,也能够降低ACK帧的数量,从而能够降低系统开销。
Description
技术领域
本公开涉及低功耗广域网技术领域,尤其涉及一种基于LoRa的通信方法、装置、终端、服务器及存储介质。
背景技术
低功耗广域网(英文:Low Power Wide Area Network,缩写:LPWAN),是近年来出现的一种面向物联网中远距离和低功耗通信需求的网络,主要涉及网络层、接入层和物理层技术。低功耗广域网技术的出现,在一定程度上填补了现有通讯技术的空白,为物联网的更大规模发展提供了基础。
目前市场上的较流行的低功耗广域网技术主要有LoRa(英文:Long Range,中文:长距离(低功耗)通信技术)和Sigfox(一种基于超窄带技术的低功耗广域网技术)两种。相较于Sigfox,LoRa采用扩频调制技术,接收功率门限值能低至-140dBm,有效延展了通信距离,同时该技术的产业化在近年也开展得较为广泛。
在现有的LoRa技术规范中,网络结构采用星型组网方式,即一个网关使用LoRa无线通信技术直接连接一个或多个终端,一个服务器通过有线或无线方式连接多个网关,因此其上行方向为从终端到网关再到服务器,下行方向为服务器到网关再到终端。目前,LoRa规范定义的接入方法包括A、B、C三级模式(Class A、Class B、Class C)。
其中,在A级模式下,允许终端进行双向通信,每一个终端传输上行帧会伴随着两个下行接收窗口以便等待接收来自服务器的下行帧,除此之外没有别的下行接收窗口。并且,对于这两个接收窗口的使用规则是:如果终端在第一个接收窗口接收到下行帧,则不打开第二个接收窗口,如果在第一个接收窗口没有接收到下行帧,则打开第二个接收窗口。另外,LoRa技术规范中规定,终端或服务器在向对方发送数据帧时,可要求对方回复是否成功接收的确认消息,也可以不要求回复。对于要求回复的数据帧,则服务器或终端向对方回复确认消息时可以用一种专门的控制帧:ACK帧,也可以在发给对方的数据帧中捎带确认消息。如果没有可用于捎带确认消息的数据帧,那么收方就必须给对方回复ACK帧来回复确认消息。
由此可见,在现有的LoRa技术中,当终端有多个需确认的上行帧要发送给服务器时,终端在每发送一个上行帧后等待一段时间(即上述的接收窗口)并接收一个ACK帧或者一个包含确认信息的下行帧后,才能发送下一帧,从而导致上行帧发送的延迟,并且服务器对于每个上行帧都回复一个ACK帧的方式,会导致ACK的冗余,增加控制开销。
发明内容
本公开的目的是提供一种基于LoRa的通信方法、装置、终端、服务器及存储介质,用于解决当终端有多个需确认的上行帧要发送给服务器时,由于每个上行帧需等待确认信息导致的后续上行帧发送延迟以及控制开销大的问题。
为了实现上述目的,在本公开的第一方面,提供一种基于LoRa的通信方法,应用于终端,所述方法包括:
向服务器发送第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;在所述连续性标志位指示存在所述第二上行帧时,向服务器发送所述第二上行帧;从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
结合第一方面,在第一种可实现方式中,在所述向服务器发送第一上行帧之前,还包括:接收所述服务器成对发送的第一下行帧和第二下行帧;在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
结合第一方面,在第二种可实现方式中,在所述向服务器发送第一上行帧之前,还包括:接收所述服务器成对发送的第一下行帧和第二下行帧;向所述服务器发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
结合第一方面,在第三种可实现方式中,所述从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:接收所述服务器发送的第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;从所述第三下行帧中获取所述第三应答标志位的值和所述第四应答标志位的值,作为所述确认信息。
结合第一方面,在第四种可实现方式中,所述从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:接收所述服务器发送的应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;从所述应答帧中获取所述确认位的值,作为所述确认信息。
结合第一方面的第三种可实现方式,在第五种可实现方式中,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,当所述帧等待标志位指示存在所述第四下行帧时,所述方法还包括:在接收到所述服务器发送的所述第三下行帧后,等待一个下行帧的时间,以接收所述第四下行帧。
结合第一方面的第三种至五种可实现方式中的任一可实现方式,在第六种可实现方式中,所述方法还包括:在每确认所述服务器收到一个上行帧后,从所述终端维护的上行帧计数器中获取所述上行帧计数器记录的上行帧序号,作为所述服务器已收到的帧的序号;在每次向所述服务器发送上行帧之前,获取所述上行帧计数器当前记录的帧序号;获取所述当前记录的帧序号与所述已收到的帧的序号之间的帧序号差值;根据所述帧序号差,以及预设的帧序号差值阈值确定所述服务器是否开始丢弃数据帧;当确定所述服务器开始丢弃数据帧时,停止向所述服务器发送上行帧。
在本公开的第二方面,提供另一种基于LoRa的通信方法,应用于服务器,所述方法包括:接收终端发送的第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;在所述连续性标志位指示存在所述第二上行帧时,等待一个上行帧的时间,以接收所述终端发送的所述第二上行帧;向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
结合第二方面,在第一种可实现方式中,在所述接收终端发送的第一上行帧之前,所述方法还包括:向所述终端成对发送第一下行帧和第二下行帧;在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示所述第一下行帧和所述第二下行帧是否被所述终端成功接收到。
结合第二方面,在第二种可实现方式中,在所述接收终端发送的第一上行帧之前,所述方法还包括:向所述终端成对发送第一下行帧和第二下行帧;接收所述终端发送的应答帧,所述头部设置有确认位,所述确认位用于表示所述终端是否成功接收到所述第一下行帧和所述第二下行帧。
结合第二方面,在第三种可实现方式中,所述向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:向所述终端发送第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
结合第二方面,在第四种可实现方式中,所述向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:向所述终端发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
结合第二方面的第三种可实现方式,在第五种可实现方式中,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,当所述帧等待标志位指示存在所述第四下行帧时,所述方法还包括:向所述终端发送所述第四下行帧。
在本公开的第三方面,提供一种基于LoRa的通信装置,应用于终端,所述装置包括:
第一模块,用于向服务器发送第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;所述第一模块,还用于在所述连续性标志位指示存在所述第二上行帧时,向服务器发送所述第二上行帧;第二模块,用于从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
结合第三方面,在第一种可实现方式中,所述装置还包括:第三模块,用于在所述向服务器发送第一上行帧之前,接收所述服务器成对发送的第一下行帧和第二下行帧;在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
结合第三方面,在第二种可实现方式中,所述装置还包括:第三模块,用于在所述向服务器发送第一上行帧之前,接收所述服务器成对发送的第一下行帧和第二下行帧;所述第一模块,还用于向所述服务器发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
结合第三方面,在第三种可实现方式中,所述第二模块,包括:第一子模块,用于接收所述服务器发送的第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;第二子模块,用于从所述第三下行帧中获取所述第三应答标志位的值和所述第四应答标志位的值,作为所述确认信息。
结合第三方面,在第四种可实现方式中,所述第二模块包括:第三子模块,用于接收所述服务器发送的应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;第四子模块,用于从所述应答帧中获取所述确认位的值,作为所述确认信息。
结合第三方面的第三种可实现方式,在第五种可实现方式中,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,所述装置还包括:第四模块,用于在所述帧等待标志位指示存在所述第四下行帧时,在接收到所述服务器发送的所述第三下行帧后,等待一个下行帧的时间,以接收所述第四下行帧。
结合第三方面的第三种至五种可实现方式中的任一可实现方式,在第六种可实现方式中,所述装置还包括:第五模块,用于在每确认所述服务器收到一个上行帧后,从所述终端维护的上行帧计数器中获取所述上行帧计数器记录的上行帧序号,作为所述服务器已收到的帧的序号;第六模块,用于在每次向所述服务器发送上行帧之前,获取所述上行帧计数器当前记录的帧序号;第七模块,用于获取所述当前记录的帧序号与所述已收到的帧的序号之间的帧序号差值;第八模块,用于根据所述帧序号差,以及预设的帧序号差值阈值确定所述服务器是否开始丢弃数据帧;第九模块,用于当确定所述服务器开始丢弃数据帧时,停止向所述服务器发送上行帧。
第四方面,提供一种基于LoRa的通信装置,应用于服务器,所述装置包括:
第一模块,用于接收终端发送的第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;第二模块,用于在所述连续性标志位指示存在所述第二上行帧时,等待一个上行帧的时间,以接收所述终端发送的所述第二上行帧;第三模块,用于向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
结合第四方面,在第一种可实现方式中,所述第三模块还用于:在所述接收终端发送的第一上行帧之前,向所述终端成对发送第一下行帧和第二下行帧;在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示所述第一下行帧和所述第二下行帧是否被所述终端成功接收到。
结合第四方面,在第二种可实现方式中,所述第三模块还用于:在所述接收终端发送的第一上行帧之前,向所述终端成对发送第一下行帧和第二下行帧;所述第一模块,还用于接收所述终端发送的应答帧,所述头部设置有确认位,所述确认位用于表示所述终端是否成功接收到所述第一下行帧和所述第二下行帧。
结合第四方面,在第三种可实现方式中,所述第三模块还用于:向所述终端发送第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
结合第四方面,在第四种可实现方式中,所述第三模块还用于:向所述终端发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
结合第四方面的第三种可实现方式,在第五种可实现方式中,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,当所述帧等待标志位指示存在所述第四下行帧时,所述第三模块还用于:向所述终端发送所述第四下行帧。
在本公开的第五方面,提供一种终端,包括:处理器,存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面或第一方面的任一可实现方式中所述方法的步骤。
在本公开的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第一方面的任一可实现方式中所述方法的步骤。
在本公开的第七方面,提供一种服务器,包括:处理器,存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第二方面或第二方面的任一可实现方式中所述方法的步骤。
在本公开的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面或第二方面的任一可实现方式中所述方法的步骤。
通过上述技术方案,将上行帧成对地向服务器发送,并且通过上行帧的头部的保留位中设置的连续性标志位来告知服务器,在发出的一个上行帧之后是否存在与该上行帧成对发送的第二个上行帧,服务器在收到第一个上行帧后,从该连续性标志位即可确认是否还有连续发送的第二个上行帧,当存在该第二个上行帧后,服务器就等待一个上行帧的时间来接收该第二个上行帧,并在终端成对发送完这两个上行帧后,服务器成对回复是否成功接收的确认信息。从而就实现了将上行帧成对发送,服务器成对接收上行帧,并成对确认,因此服务器不必再为每个上行帧都发一个ACK帧,终端也不必在每次发送一个上行帧后必须等待接收一个ACK帧才能发下一个上行帧,因此既能够降低上行帧的发送延迟,又能够降低ACK帧的数量,从而能够降低系统开销。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种网络结构示意图;
图2是根据本公开一示例性实施例示出的一种基于LoRa的通信方法的流程图;
图3是根据本公开一示例性实施例示出的一种基于LoRa的通信方法的流程图;
图4a是根据一示例性实施例示出的另一种基于LoRa的通信方法的流程图;
图4b是根据一示例性实施例示出的又一种基于LoRa的通信方法的流程图;
图5是根据本公开一示例性实施例示出的一种上行帧的结构示意图;
图6是根据本公开一示例性实施例示出的一种下行帧的结构示意图;
图7是根据本公开另一示例性实施例示出的一种丢帧处理方法的流程图;
图8是根据本公开一示例性实施例示出的一种基于LoRa的通信装置的结构框图;
图9是根据本公开一示例性实施例示出的另一种基于LoRa的通信装置的结构框图;
图10是根据本公开一示例性实施例示出的一种第二模块的结构框图;
图11是根据本公开一示例性实施例示出的另一种第二模块的结构框图;
图12是根据本公开一示例性实施例示出的又一种基于LoRa的通信装置的结构框图;
图13是根据本公开一示例性实施例示出的又一种基于LoRa的通信装置的结构框图;
图14是根据本公开另一示例性实施例示出的一种基于LoRa的通信装置的结构框图;
图15是根据本公开一示例性实施例示出的一种电子设备的框图;
图16是根据本公开一示例性实施例示出的另一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在对本公开实施例提供的基于LoRa的通信方法进行说明之前,首先对本公开各个实施例所涉及的应用场景进行介绍。本公开各个实施例所涉及的应用场景可以包括:至少一个终端,至少一个网关,以及服务器,如图1所示,该至少一个终端,至少一个网关以及服务器可以以星型组网方式连接,即该组网方式的上行方向为从终端到网关再到服务器,下行方向为服务器到网关再到终端。其中,终端和网关之间采用无线通信方式,网关和服务器之间采用有线或无线网络连接。另外,在本公开的各个实施例中,信息在终端和网关之间、网关与服务器之间均可以双向传输。
需要说明的是,在本公开的各个实施例中,终端与服务器之间传输的数据帧是经过网关转发的,例如,终端向服务器发送上行帧时,终端先将上行帧发送网关,再由网关将该上行帧发送给服务器;服务器向终端发送下行帧时,服务器先将下行帧发送至网关,再由网关将该下行帧发送至终端,因此在本公开各实施例中可以将网关看作是一种透传终端与服务器之间数据帧的转发设备。还需要说明的是,本公开各个实施例中,终端发送的上行帧或服务器发送的下行帧均可以为需要接收端回复确认信息的数据帧。
其中,上述的终端可以是具有联网功能的支持LoRa技术的电子设备,示例的,该电子设备可以是智能手机、平板电脑、智能电视、PDA(Personal Digital Assistant,个人数字助理)、便携计算机、台式计算机等等。服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者可以是一个云计算服务中心。网关(Gateway)是多个网络间提供数据转换服务的计算机系统或设备,可以是具有路由功能的设备,例如路由器、启用了路由协议的服务器等等。下面对本公开实施例提供的基于LoRa的通信方法进行说明。
图2是根据本公开一示例性实施例示出的一种基于LoRa的通信方法的流程图,应用于终端,该方法包括:
步骤201,向服务器发送第一上行帧,该第一上行帧的头部的保留位中设置有连续性标志位,该连续性标志位用于表示在该第一上行帧之后是否存在与该第一上行帧成对发送的第二上行帧。
步骤202,在该连续性标志位指示存在该第二上行帧时,向服务器发送该第二上行帧。
示例的,在本实施例中,将上行帧依序每两帧编为一对,并在每个上行帧的头部的保留位中设置一个“Continuity”标志位(连续性标志位),该“Continuity”标志位置1时,表示这个上行帧之后还有一起发送的下一个上行帧,该“Continuity”标志位置0时,则表示没有一起发送的下一个上行帧了。因此在成对发送的两个上行帧中的第一个上行帧中,“Continuity”标志位置1,第二个上行帧置中的“Continuity”标志位置0。
相应的,步骤101中的第一上行帧为成对发送的两个上行帧中的第一个上行帧,第二上行帧为第二个上行帧,因此当第一上行帧“Continuity”标志位置1时,表示在该第一上行帧之后存在与该第一上行帧成对发送的第二上行帧,因此在本实施例中,可以在发送第一上行帧后连续地发送该第二上行帧,而不需要等待服务器对第一上行帧回复确认信息后再发送该第二上行帧。这是,因为服务器在收到第一上行帧后,根据第一上行帧的“Continuity”标志位置1即可确定还有第二上行帧,因此服务器会等待接收到第二上行帧后再一起回复,即步骤103所示的方法。
步骤203,从服务器获取用于指示是否成功接收到该第一上行帧和该第二上行帧的确认信息。
示例的,在终端向服务器发送该第一上行帧和第二上行帧后,如果服务器有下行帧要发送,则可以在向终端发送下行帧时,通过该下行帧捎带上述的用于指示是否成功接收到该第一上行帧和该第二上行帧的确认信息。如果服务器没有下行帧要发送,则可以向终端发送一ACK帧,该ACK帧能够指示服务器是否成功接收到该第一上行帧和第二上行帧。即服务器在接收上行帧时,也是成对接收,并成对回复确认信息。
图3是根据本公开一示例性实施例示出的一种基于LoRa的通信方法的流程图,应用于服务器,该方法包括:
步骤301,接收终端发送的第一上行帧,该第一上行帧的头部的保留位中设置有连续性标志位,该连续性标志位用于表示在该第一上行帧之后是否存在与该第一上行帧成对发送的第二上行帧。
步骤302,在该连续性标志位指示存在该第二上行帧时,等待一个上行帧的时间,以接收终端发送的该第二上行帧。
其中,连续性标志位,即上述图1所示实施例中介绍的“Continuity”标志位,与步骤302中所述的内容相同,可参照步骤202,不再赘述。另外,需要说明的是,这里所述的等待一个上行帧的时间,可以按照服务器能够接收的最长帧的时间来确定。
步骤303,向终端回复用于指示是否成功接收到该第一上行帧和第二上行帧的确认信息。
关于服务器向终端回复该确认信息的方式,可以参照步骤203,此处不再赘述。
综上,本公开实施例提供的基于LoRa的通信方法,将上行帧成对地向服务器发送,并且通过上行帧的头部的保留位中设置的连续性标志位来告知服务器,在发出的一个上行帧之后是否存在与该上行帧成对发送的第二个上行帧,服务器在收到第一个上行帧后,从该连续性标志位即可确认是否还有连续发送的第二个上行帧,当存在该第二个上行帧后,服务器就等待一个上行帧的时间来接收该第二个上行帧,并在终端成对发送完这两个上行帧后,服务器成对回复是否成功接收的确认信息。从而就实现了将上行帧成对发送,服务器成对接收上行帧,并成对确认,因此服务器不必再为每个上行帧都发一个ACK帧,终端也不必在每次发送一个上行帧后必须等待接收一个ACK帧才能发下一个上行帧,因此既能够降低上行帧的发送延迟,又能够降低ACK帧的数量,从而能够降低系统开销。
图4a是根据一示例性实施例示出的另一种基于LoRa的通信方法的流程图,应用于图1所示的应用场景,该方法包括:
步骤401,终端向服务器发送第一上行帧。
其中,在第一上行帧的头部的保留位中设置有连续性标志位,该连续性标志位用于表示在该第一上行帧之后是否存在与该第一上行帧成对发送的第二上行帧。
示例的,在本实施例中,将上行帧依序每两帧编为一对,并在每个上行帧的头部的保留位中设置一个连续性标志位。图5是根据本公开一示例性实施例示出的一种上行帧的结构示意图,如图5所示,上行帧的头部的保留位,位于PHYPayload(物理层负载)部分的MHDR(MAC(Media Access Control,介质访问控制)Header,MAC头)中(按照LoRa技术规范,该保留位位于MHDR的第4位,共占1个bit(比特)),本实施例中将该保留位设置为“Continuity”标志位,即上述的连续性标志位。该“Continuity”标志位置1时,表示这个上行帧之后还有一起发送的下一个上行帧,该“Continuity”标志位置0时,则表示没有一起发送的下一个上行帧了。因此在成对发送的两个上行帧中的第一个上行帧中的“Continuity”标志位置1,第二个上行帧中的“Continuity”标志位置0。本实施例中,该第一上行帧中的“Continuity”标志位置1。因此,在发送第一上行帧后还需要继续执行步骤402。
步骤402,终端向服务器发送该第二上行帧。
另外,还需要说明的是,如果在终端向服务器发送第一上行帧之前,即步骤401之前,可以还包括:服务器向终端发送第一下行帧和第二下行帧,则终端可以通过两种方式向服务器回复是否成功接收到该第一下行帧和第二下行帧。
在第一种实现方式中,可以在该第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,该第一应答标志位和该第二应答标志位分别用于表示是否成功接收到该第一下行帧和第二下行帧。则终端在接收到服务器成对发送的第一下行帧和第二下行帧后,向服务器发送该第一上行帧即可完成对是否成功接收到该第一下行帧和第二下行帧的回复。示例性的,如图5所示,可以在现有的位于帧控制(FCtrl)域中的“ACK(应答,Acknowledge)”标志位后设置一个“ACK1”标志位。该“ACK”标志位和“ACK1”标志位,分别作为上述的第一应答标志位核第二应答标志位。从而分别利用“ACK”标志位和“ACK1”标志位来表示是否成功接收到该第一下行帧和第二下行帧。还需要说明书的是,如图5所示,在上行帧中,该FCtrl域位于PHYPayload部分的MACPayload(MAC层负载)的FHDR(Frame Header,帧头)中。其中,按照LoRa技术规范,该“ACK”标志位位于该FCtrl域中的第5位,共占用1个bit(比特),该“ACK1”标志位可以相邻设置在“ACK”标志位的后面,即该FCtrl域中的第4位,占用1个bit。
在第二种实现方式中,终端在接收服务器成对发送的第一下行帧和第二下行帧后,终端没有上行帧要发给服务器,则需要向服务器发送专门的应答帧,该应答帧的头部设置有确认位,该确认位用于表示是否成功接收到该第一下行帧和该第二下行帧。该应答帧是一种专用的控制帧(负载部分为空的帧,帧体中没有数据字段),示例的,可以在应答帧的头部可以设置一个2bit(比特)的确认位,其中第一个bit表示终端是否成功接收到该第一上行帧,第二个bit表示终端是否成功接收到该第二上行帧。服务器接收到终端发送的应答帧后,从该应答帧中提取该2bit确认位中的每个bit的值,即可得到关于该第一下行帧和第二下行帧的确认信息。其中,当确认位中的第一个bit置1时,表示成功接收到该第一下行帧,当确认位中的第一个bit置0时,表示没有接收到该第一下行帧。同理,当确认位中的第二个bit置1时,表示成功接收到该第二下行帧,当确认位中的第二个bit置0时,表示没有接收到该第二下行帧。如果是采用第二种实现方式,则终端要发送的该第一上行帧与终端之前接收到的第一下行帧和第二下行帧没有直接关系,也就是说终端要发送的第一上行帧没有要回复的确认信息,因此此时的第一上行帧中的该“ACK”标志位和“ACK1”标志位均为零。
可见,服务器也能够将下行帧成对地向终端发送,相应的,终端则可以对服务器发送的下行帧进行成对接收,并能够通过发送上行帧捎带确认信息的方式或发送ACK帧的方式进行对成对确认,从而可以减少下行帧的发送延迟,同时每两个下行帧发送一个ACK帧,能够降低控制开销。
在终端发送第一上行帧和第二上行帧后,就完成了一次成对的上行帧的发送,在本实施例中该第一上行帧和第二上行帧均为需要回复确认信息的数据帧,因此服务器需要成对地对是否接收到该第一上行帧和第二上行帧进行确认。
在一种实现方式中,如图4a所示,在终端发送第一上行帧和第二上行帧后,当服务器有要发送的第三下行帧时,在步骤402之后,可以执行步骤403a。
步骤403a,服务器向终端发送第三下行帧。
其中,在该第三下行帧的头部的保留位中设置有第三应答标志位,在该第三下行帧的帧控制域中设置有第四应答标志位,该第三应答标志位和该第四应答标志位分别用于表示该服务器是否成功接收到该第一上行帧和第二上行帧。示例的,图6是根据本公开一示例性实施例示出的一种下行帧的结构示意图,如图6所示,下行帧的头部的保留位,位于PHYPayload部分的MHDR中,本实施例中将该保留位为“ACK0”标志位,作为上述的第三应答标志位。而第四应答标志位可以利用现有的位于帧控制域(FCtrl)中的“ACK”标志位,作为上述的第四应答标志位。从而分别利用“ACK0”标志位和“ACK”标志位来表示是否成功接收到该第一上行帧和第二上行帧。
还需要说明书的是,如图6所示,该FCtrl域,位于PHYPayload部分的MACPayload(MAC层负载)的FHDR(Frame Header,帧头)中。其中,按照LoRa技术规范,该“ACK”标志位位于该FCtrl域中的第5位,共占用1个bit(比特)。其中,关于图5或图6所示的帧结构中其他的标志位,可以参照LoRa技术规范(LoRaWANTM Specification[s].LoRa Alliance)。
步骤404a,终端从该第三下行帧中获取该第三应答标志位的值和该第四应答标志位的值,作为该确认信息。
示例的,以图6中所示的下行帧结构为例,终端接收到该服务器发送的第三下行帧后,提取该第三下行帧中的“ACK0”标志位的值和“ACK”标志位的值,从而就得到了关于该第一上行帧和第二上行帧的确认信息。其中,当“ACK0”标志位置1时,表示成功接收到该第一上行帧,当“ACK0”标志位置0时,表示没有接收到该第一上行帧。同理,当“ACK”标志位置1时,表示成功接收到该第二上行帧,当“ACK”标志位置0时,表示没有接收到该第二上行帧。
进一步的,如果服务器在发送第三下行帧后,还有与第三下行帧成对发送的第四下行帧要发送给终端,则在该第三下行帧的帧控制域中还设置有帧等待标志位,该帧等待标志位用于表示在该第三下行帧之后是否存在与该第三下行帧成对发送的第四下行帧。
示例的,如图6所示,可以利用该FCtrl域中已有的“FPending”标志位(帧等待标志位)来表示是否还有成对发送的下一个下行帧,按照LoRa技术规范,该“FPending”标志位位于该FCtrl域中的第4位,共占用1个bit(比特)。在该第三下行帧的“FPending”标志位被置1时,表示存在与该第三下行帧成对发送的第四下行帧,在该第三下行帧的“FPending”标志位被置0时,表示不存在该第四下行帧。本实施例中,该第三下行帧中的“FPending”标志位置1。因此,服务器在发送第三下行帧后还需要继续执行步骤405。
步骤405,服务器向终端发送第四下行帧。
步骤406,终端在接收到该服务器发送的该第三下行帧后,等待一个下行帧的时间,以接收该第四下行帧。
其中,终端等待的一个下行帧的时间,可以根据该终端能够接收的最长帧的时间来确定。
上述实施方式中,终端能够将上行帧成对地向服务器发送,相应的,服务器则可以对终端发送的上行帧进行成对接收,并能够通过下行帧捎带确定信息的方式对上行帧进行对成对确认,从而每对上行帧中的第二帧无需等待确认信息即可继续发送,减少了发送延迟。
在另一种实现方式中,如图4b所示,在终端发送第一上行帧和第二上行帧后,当服务器没有要发送的第三下行帧时,则在步骤402之后,可以执行步骤403b。
步骤403b,服务器向终端发送应答帧。
其中,应答帧的头部设置有确认位,该确认位用于表示该服务器是否成功接收到该第一上行帧和该第二上行帧。应答帧是一种专用的控制帧(负载部分为空的帧,帧体中没有数据字段),示例的,可以在应答帧的头部可以设置一个2bit(比特)的确认位,其中第一个bit表示服务器是否成功接收到该第一上行帧,第二个bit表示服务器是否成功接收到该第二上行帧。
步骤404b,从该应答帧中获取该确认位的值,作为该确认信息。
其中,终端接收到服务器发送的应答帧后,从该应答帧中提取该2bit确认位中的每个bit的值,即可得到关于该第一上行帧和第二上行帧的确认信息。其中,当确认位中的第一个bit置1时,表示成功接收到该第一上行帧,当确认位中的第一个bit置0时,表示没有接收到该第一上行帧。同理,当确认位中的第二个bit置1时,表示成功接收到该第二上行帧,当确认位中的第二个bit置0时,表示没有接收到该第二上行帧。
上述实施方式中,终端能够将上行帧成对地向服务器发送,相应的,服务器则可以对终端发送的上行帧进行成对接收,并能够通过ACK帧进行对成对确认,从而每对上行帧中的第二帧无需等待确认信息即可继续发送,减少了发送延迟,同时每两个上行帧发送一个ACK帧,能够降低控制开销。
需要说明的是,在本实施例中终端向服务器发送上行帧、服务器向终端发送下行帧、终端与服务器之间发送ACK帧均是通过终端与服务器之间的网关进行转发的。
另外,值得一提的是,现有的LoRa技术中为终端和服务器设计了一种丢帧处理机制以保障收到数据的有效性,具体如下:
终端和服务器分别维持1个帧计数器:终端维持上行帧计数器-FCntUp,服务器维持下行帧计数器-FCntDown。其中,上行帧计数器的FCntUp值由终端产生,服务器接收该FCntUp值并比较前后值的差异。下行帧计数器的FCntDown值由服务器产生,终端接收该FCntDown值并比较前后值的差异。其流程为:
在终端入网后终端记录的FCntUp值和服务器记录的FCntDown值都清零并开始计数。终端在发送给服务器发送的上行帧中携带FCntUp值,每发送一个新的上行帧FCntUp值便加1。服务器在发送给终端的下行帧中携带FCntDown值,每发送一个新的下行帧FCntDown值便加1。
以终端为例,终端在每收到一个下行帧后将其中的FCntDown值提取出来,并与上次收到的FCntDown值对比,如果二者之间的差值大于预设的帧序号差值阈值-MAX_FCNT_GAP(默认为16384),则可以认为已经丢失了太多的帧,后续的帧不再有效,从而终端便丢弃随后收到的下行帧。同理,服务器,在每收到一个上行帧后将其中的FCntUP值提取出来,并与上次收到的FCntUP值对比,如果二者之间的差值大于该MAX_FCNT_GAP,则可以丢弃随后收到的上行帧。
但是,按照现有的LoRa规范中的丢帧处理机制,服务器在丢帧时不会通知作为发送方的终端,这将导致在服务器开始丢帧后终端继续向服务器发送上行帧,从而引起不必要的帧发送,产生额外的发送开销和资源消耗。
因此,为了避免上述的问题,本公开实施例提供了一种新的丢帧处理机制,能够避免在服务器开始丢帧后终端继续向服务器发送上行帧,从而降低发送开销并节省终端的资源消耗。在更新后的丢帧处理机制中,终端需要设置一个新的参数,可以记为FCntUP0,用于表示服务器已收到的帧的序号,该更新后丢帧处理机制的具体处理流程可以如图7所示,图7是根据本公开另一示例性实施例示出的一种丢帧处理方法的流程图,可以包括以下步骤:
步骤701,在每确认服务器收到一个上行帧后,从终端维护的上行帧计数器中获取上行帧计数器记录的上行帧序号,作为服务器已收到的帧的序号。
其中,终端确认服务器是否收到一个上行帧的方法,可以根据服务器下发的ACK帧和服务器下发的下行帧中的确认信息来确认,其方法可以参照上述的图4a或图4b所示的方案。当终端每次确认服务器收到一个上行帧后,读取上行帧计数器记录的上行帧序号,即确认服务器收到一个上行帧时的FCntUP值,并将该FCntUP值作为服务器已收到的帧的序号,即将FCntUP值赋予FCntUP0。
步骤702,在每次向服务器发送上行帧之前,获取上行帧计数器当前记录的帧序号。
终端在每次向服务器发送上行帧之前,也要读取上行帧计数器当前记录的帧序号,即在向服务器发送上行帧之前的FCntUP值,此时的FCntUP值可以记为FCntUPNew。
步骤703,获取该当前记录的帧序号与已收到的帧的序号之间的帧序号差值。
步骤704,根据该帧序号差,以及预设的帧序号差值阈值确定服务器是否开始丢弃数据帧。
示例的,该当前记录的帧序号与已收到的帧的序号之间的帧序号差值可以表示为:|FCntUpnew-FCntUp0|,则该帧序号差应当满足以下条件:
|FCntUpnew-FCntUp0|≥MAX_FCNT_GAP
其中,MAX_FCNT_GAP表示该帧序号差值阈值,其默认值为16384。当满足上述条件时,确定服务器开始丢弃数据帧,可继续执行步骤705;否则,确定服务器没有丢弃数据帧。
步骤705,当确定服务器开始丢弃数据帧时,停止向服务器发送上行帧。
上述方案能够避免在服务器开始丢帧后终端继续向服务器发送上行帧,从而降低发送开销并节省终端的资源消耗。
图8是根据本公开一示例性实施例示出的一种基于LoRa的通信装置的结构框图,应用于终端,可以用于执行图2或图4a或图4b所示的方法,该装置可以通过软件或硬件或者二者结合的形式构成该终端的部分或者全部,如图8所示,该装置800包括:
第一模块801,用于向服务器发送第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;
所述第一模块801,还用于在所述连续性标志位指示存在所述第二上行帧时,向服务器发送所述第二上行帧;
第二模块802,用于从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
可选的,图9是根据本公开一示例性实施例示出的另一种基于LoRa的通信装置的结构框图,如图9所示,在图8的基础上,该装置800还可以包括:
第三模块803,用于在所述向服务器发送第一上行帧之前,接收所述服务器成对发送的第一下行帧和第二下行帧;
其中,在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
或者,在另一种实现方式中,
该第三模块803,还用于在所述向服务器发送第一上行帧之前,接收所述服务器成对发送的第一下行帧和第二下行帧;
该第一模块801,还用于向所述服务器发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
可选的,图10是根据本公开一示例性实施例示出的一种第二模块的结构框图,如图10所示,该第二模块802,包括:
第一子模块8021,用于接收所述服务器发送的第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;
第二子模块8022,用于从所述第三下行帧中获取所述第三应答标志位的值和所述第四应答标志位的值,作为所述确认信息。
或者,在另一种实现方式中,图11是根据本公开一示例性实施例示出的另一种第二模块的结构框图,如图11所示,该第二模块802,包括:
第三子模块8023,用于接收所述服务器发送的应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;
第四子模块8024,用于从所述应答帧中获取所述确认位的值,作为所述确认信息。
可选的,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,图12是根据本公开一示例性实施例示出的又一种基于LoRa的通信装置的结构框图,如图12所示,该装置800还包括:
第四模块804,用于在所述帧等待标志位指示存在所述第四下行帧时,在接收到所述服务器发送的所述第三下行帧后,等待一个下行帧的时间,以接收所述第四下行帧。
图13是根据本公开一示例性实施例示出的又一种基于LoRa的通信装置的结构框图,如图13所示,该装置800还包括:
第五模块805,用于在每确认所述服务器收到一个上行帧后,从所述终端维护的上行帧计数器中获取所述上行帧计数器记录的上行帧序号,作为所述服务器已收到的帧的序号;
第六模块806,用于在每次向所述服务器发送上行帧之前,获取所述上行帧计数器当前记录的帧序号;
第七模块807,用于获取所述当前记录的帧序号与所述已收到的帧的序号之间的帧序号差值;
第八模块808,用于根据所述帧序号差,以及预设的帧序号差值阈值确定所述服务器是否开始丢弃数据帧;
第九模块809,用于当确定所述服务器开始丢弃数据帧时,停止向所述服务器发送上行帧。
图14是根据本公开另一示例性实施例示出的一种基于LoRa的通信装置的结构框图,应用于服务器,可以用于执行图3或图4a或图4b所示的方法,该装置可以通过软件或硬件或者二者结合的形式构成该服务器的部分或者全部,如图14所示,该装置1400包括:
第一模块1401,用于接收终端发送的第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;
第二模块1402,用于在所述连续性标志位指示存在所述第二上行帧时,等待一个上行帧的时间,以接收所述终端发送的所述第二上行帧;
第三模块1403,用于向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
可选的,所述第三模块1403还用于:
在所述接收终端发送的第一上行帧之前,向所述终端成对发送第一下行帧和第二下行帧;
在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示所述第一下行帧和所述第二下行帧是否被所述终端成功接收到。
或者,在另一种实现方式中,所述第三模块1403还用于:
在所述接收终端发送的第一上行帧之前,向所述终端成对发送第一下行帧和第二下行帧;
所述第一模块,用于接收所述终端发送的应答帧,所述头部设置有确认位,所述确认位用于表示所述终端是否成功接收到所述第一下行帧和所述第二下行帧。
可选的,所述第三模块1403还用于:
向所述终端发送第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
或者,在另一种实现方式中,所述第三模块1403还用于:
向所述终端发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
可选的,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,当所述帧等待标志位指示存在所述第四下行帧时,所述第三模块1403还用于:向所述终端发送所述第四下行帧。
综上,本公开实施例提供的基于LoRa的通信装置,将上行帧成对地向服务器发送,并且通过上行帧的头部的保留位中设置的连续性标志位来告知服务器,在发出的一个上行帧之后是否存在与该上行帧成对发送的第二个上行帧,服务器在收到第一个上行帧后,从该连续性标志位即可确认是否还有连续发送的第二个上行帧,当存在该第二个上行帧后,服务器就等待一个上行帧的时间来接收该第二个上行帧,并在终端成对发送完这两个上行帧后,服务器成对回复是否成功接收的确认信息。从而就实现了将上行帧成对发送,服务器成对接收上行帧,并成对确认,因此服务器不必再为每个上行帧都发一个ACK帧,终端也不必在每次发送一个上行帧后必须等待接收一个ACK帧才能发下一个上行帧,因此既能够降低上行帧的发送延迟,又能够降低ACK帧的数量,从而能够降低系统开销。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图15是根据本公开一示例性实施例示出的一种电子设备1500的框图。如图15所示,该电子设备1500可以包括:处理器1501,存储器1502,多媒体组件1503,输入/输出(I/O)接口1504,以及通信组件1505。
其中,处理器1501用于控制该电子设备1500的整体操作,以完成上述的基于LoRa的通信方法中的全部或部分步骤。存储器1502用于存储各种类型的数据以支持在该电子设备1500的操作,这些数据例如可以包括用于在该电子设备1500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1502或通过通信组件1505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1504为处理器1501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1505用于该电子设备1500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1505可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备1500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于LoRa的通信方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器1502,上述程序指令可由电子设备1500的处理器1501执行以完成上述的基于LoRa的通信方法。
图16是根据本公开一示例性实施例示出的另一种电子设备1600的框图。例如,电子设备1600可以被提供为一服务器。参照图16,电子设备1600包括处理器1622,其数量可以为一个或多个,以及存储器1632,用于存储可由处理器1622执行的计算机程序。存储器1632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1622可以被配置为执行该计算机程序,以执行上述的基于LoRa的通信方法。
另外,电子设备1600还可以包括电源组件1626和通信组件1650,该电源组件1626可以被配置为执行电子设备1600的电源管理,该通信组件1650可以被配置为实现电子设备1600的通信,例如,有线或无线通信。此外,该电子设备1600还可以包括输入/输出(I/O)接口1658。电子设备1600可以操作基于存储在存储器1632的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器1632,上述程序指令可由电子设备1600的处理器1622执行以完成上述的基于LoRa的通信方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (19)
1.一种基于LoRa的通信方法,其特征在于,应用于终端,所述方法包括:
向服务器发送第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;
在所述连续性标志位指示存在所述第二上行帧时,向所述服务器发送所述第二上行帧;
从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
2.根据权利要求1所述的方法,其特征在于,在所述向服务器发送第一上行帧之前,还包括:
接收所述服务器成对发送的第一下行帧和第二下行帧;
在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
3.根据权利要求1所述的方法,其特征在于,在所述向服务器发送第一上行帧之前,还包括:
接收所述服务器成对发送的第一下行帧和第二下行帧;
向所述服务器发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示是否成功接收到所述第一下行帧和所述第二下行帧。
4.根据权利要求1所述的方法,其特征在于,所述从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:
接收所述服务器发送的第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;
从所述第三下行帧中获取所述第三应答标志位的值和所述第四应答标志位的值,作为所述确认信息。
5.根据权利要求1所述的方法,其特征在于,所述从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:
接收所述服务器发送的应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧;
从所述应答帧中获取所述确认位的值,作为所述确认信息。
6.根据权利要求4所述的方法,其特征在于,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,当所述帧等待标志位指示存在所述第四下行帧时,所述方法还包括:
在接收到所述服务器发送的所述第三下行帧后,等待一个下行帧的时间,以接收所述第四下行帧。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述方法还包括:
在每确认所述服务器收到一个上行帧后,从所述终端维护的上行帧计数器中获取所述上行帧计数器记录的上行帧序号,作为所述服务器已收到的帧的序号;
在每次向所述服务器发送上行帧之前,获取所述上行帧计数器当前记录的帧序号;
获取所述当前记录的帧序号与所述已收到的帧的序号之间的帧序号差值;
根据所述帧序号差,以及预设的帧序号差值阈值确定所述服务器是否开始丢弃数据帧;
当确定所述服务器开始丢弃数据帧时,停止向所述服务器发送上行帧。
8.一种基于LoRa的通信方法,其特征在于,应用于服务器,所述方法包括:
接收终端发送的第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;
在所述连续性标志位指示存在所述第二上行帧时,等待一个上行帧的时间,以接收所述终端发送的所述第二上行帧;
向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
9.根据权利要求8所述的方法,其特征在于,在所述接收终端发送的第一上行帧之前,所述方法还包括:
向所述终端成对发送第一下行帧和第二下行帧;
在所述第一上行帧的头部的帧控制域中设置有第一应答标志位和第二应答标志位,所述第一应答标志位和所述第二应答标志位分别用于表示所述第一下行帧和所述第二下行帧是否被所述终端成功接收到。
10.根据权利要求8所述的方法,其特征在于,在所述接收终端发送的第一上行帧之前,所述方法还包括:
向所述终端成对发送第一下行帧和第二下行帧;
接收所述终端发送的应答帧,所述头部设置有确认位,所述确认位用于表示所述终端是否成功接收到所述第一下行帧和所述第二下行帧。
11.根据权利要求8所述的方法,其特征在于,所述向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:
向所述终端发送第三下行帧,所述第三下行帧的头部的保留位中设置有第三应答标志位,在所述第三下行帧的帧控制域中设置有第四应答标志位,所述第三应答标志位和所述第四应答标志位分别用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
12.根据权利要求8所述的方法,其特征在于,所述向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息,包括:
向所述终端发送应答帧,所述应答帧的头部设置有确认位,所述确认位用于表示所述服务器是否成功接收到所述第一上行帧和所述第二上行帧。
13.根据权利要求11所述的方法,其特征在于,在所述第三下行帧的帧控制域中还设置有帧等待标志位,所述帧等待标志位用于表示在所述第三下行帧之后是否存在与所述第三下行帧成对发送的第四下行帧,当所述帧等待标志位指示存在所述第四下行帧时,所述方法还包括:向所述终端发送所述第四下行帧。
14.一种基于LoRa的通信装置,其特征在于,应用于终端,所述装置包括:
第一模块,用于向服务器发送第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;
所述第一模块,还用于在所述连续性标志位指示存在所述第二上行帧时,向服务器发送所述第二上行帧;
第二模块,用于从所述服务器获取用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
15.一种基于LoRa的通信装置,其特征在于,应用于服务器,所述装置包括:
第一模块,用于接收终端发送的第一上行帧,所述第一上行帧的头部的保留位中设置有连续性标志位,所述连续性标志位用于表示在所述第一上行帧之后是否存在与所述第一上行帧成对发送的第二上行帧;
第二模块,用于在所述连续性标志位指示存在所述第二上行帧时,等待一个上行帧的时间,以接收所述终端发送的所述第二上行帧;
第三模块,用于向所述终端回复用于指示是否成功接收到所述第一上行帧和所述第二上行帧的确认信息。
16.一种终端,其特征在于,包括:
处理器,存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
18.一种服务器,其特征在于,包括:
处理器,存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求8-13任一项所述方法的步骤。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求8-13中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710796815.9A CN107612668A (zh) | 2017-09-06 | 2017-09-06 | 基于LoRa的通信方法、装置、终端、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710796815.9A CN107612668A (zh) | 2017-09-06 | 2017-09-06 | 基于LoRa的通信方法、装置、终端、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107612668A true CN107612668A (zh) | 2018-01-19 |
Family
ID=61061976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710796815.9A Pending CN107612668A (zh) | 2017-09-06 | 2017-09-06 | 基于LoRa的通信方法、装置、终端、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107612668A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109067892A (zh) * | 2018-08-22 | 2018-12-21 | 苏州凌犀物联网技术有限公司 | 一种Lora通信系统中大数据传输方法、终端及服务器 |
CN110446227A (zh) * | 2019-10-08 | 2019-11-12 | 武汉慧联无限科技有限公司 | 终端下行窗口开启时机的控制方法及装置、设备、介质 |
CN110649993A (zh) * | 2018-06-27 | 2020-01-03 | 萨基姆卡姆能源及电信股份有限公司 | 快速确认帧的方法 |
CN110719580A (zh) * | 2018-07-11 | 2020-01-21 | 中移物联网有限公司 | 一种通信方法、装置、终端、网关及计算机存储介质 |
CN113497679A (zh) * | 2021-06-05 | 2021-10-12 | 南京一步智能科技有限公司 | 一种适用于LoRa传输的高效反馈确认方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016048210A1 (en) * | 2014-09-26 | 2016-03-31 | Telefonaktiebolaget L M Ericsson (Publ) | Detecting neighbor cell system information by low complexity user equipment |
CN106254239A (zh) * | 2016-08-30 | 2016-12-21 | 中兴长天信息技术(南昌)有限公司 | 一种低延迟的lora无线通信网络业务分组传输方法 |
CN106385303A (zh) * | 2016-08-30 | 2017-02-08 | 中兴长天信息技术(南昌)有限公司 | 一种用于物联网的lora无线传输系统信息速率自适应调整方法 |
CN108306711A (zh) * | 2018-01-02 | 2018-07-20 | 重庆邮电大学 | 一种基于LoRa的数据帧快速连续传输方法 |
-
2017
- 2017-09-06 CN CN201710796815.9A patent/CN107612668A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016048210A1 (en) * | 2014-09-26 | 2016-03-31 | Telefonaktiebolaget L M Ericsson (Publ) | Detecting neighbor cell system information by low complexity user equipment |
CN106254239A (zh) * | 2016-08-30 | 2016-12-21 | 中兴长天信息技术(南昌)有限公司 | 一种低延迟的lora无线通信网络业务分组传输方法 |
CN106385303A (zh) * | 2016-08-30 | 2017-02-08 | 中兴长天信息技术(南昌)有限公司 | 一种用于物联网的lora无线传输系统信息速率自适应调整方法 |
CN108306711A (zh) * | 2018-01-02 | 2018-07-20 | 重庆邮电大学 | 一种基于LoRa的数据帧快速连续传输方法 |
Non-Patent Citations (1)
Title |
---|
孙曼 等: "《基于LoRa标准的MAC层协议研究》", 《电视技术-网络与融合》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110649993A (zh) * | 2018-06-27 | 2020-01-03 | 萨基姆卡姆能源及电信股份有限公司 | 快速确认帧的方法 |
CN110649993B (zh) * | 2018-06-27 | 2022-05-10 | 萨基姆卡姆能源及电信股份有限公司 | 快速确认帧的方法 |
CN110719580A (zh) * | 2018-07-11 | 2020-01-21 | 中移物联网有限公司 | 一种通信方法、装置、终端、网关及计算机存储介质 |
CN110719580B (zh) * | 2018-07-11 | 2023-08-15 | 中移物联网有限公司 | 一种通信方法、装置、终端、网关及计算机存储介质 |
CN109067892A (zh) * | 2018-08-22 | 2018-12-21 | 苏州凌犀物联网技术有限公司 | 一种Lora通信系统中大数据传输方法、终端及服务器 |
CN110446227A (zh) * | 2019-10-08 | 2019-11-12 | 武汉慧联无限科技有限公司 | 终端下行窗口开启时机的控制方法及装置、设备、介质 |
CN113497679A (zh) * | 2021-06-05 | 2021-10-12 | 南京一步智能科技有限公司 | 一种适用于LoRa传输的高效反馈确认方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107612668A (zh) | 基于LoRa的通信方法、装置、终端、服务器及存储介质 | |
CN104135460B (zh) | 一种推送通道保活方法和推送服务器 | |
EP2963990B1 (en) | Method and apparatus for connecting to packet data networks in wireless communication system | |
CN101939968A (zh) | 针对封装的数据流的策略控制 | |
CN105263140A (zh) | 一种实现sim卡远程鉴权的系统与方法 | |
CN109218352A (zh) | 一种区块链网络中交易信息的共识确认方法及装置 | |
CN108965159A (zh) | 服务质量控制方法、设备及系统 | |
CN108574667A (zh) | 一种业务流的控制方法及装置 | |
CN104641599A (zh) | 用于通信网络中延时通知的方法和系统 | |
CN104270720A (zh) | 接入无线局域网络的方法、装置及移动终端 | |
CN107820246A (zh) | 用户认证的方法、装置和系统 | |
CN102612825A (zh) | 用于改进报头压缩的方法和装置 | |
CN109729122A (zh) | 确定以太网mac地址的方法及装置 | |
CN104769906A (zh) | 数据传输方法、用户设备和代理设备 | |
CN107147429A (zh) | 一种基于电力线载波通信的组网方法及装置 | |
CN116724608A (zh) | 通信方法、电子设备及存储介质 | |
CN106817318A (zh) | 鲁棒包头压缩状态协商方法、发送端以及系统 | |
CN205453946U (zh) | 基于云技术的可视对讲系统 | |
CN108616462A (zh) | 一种数据传输方法及装置 | |
CN105191355B (zh) | 用于支持接入终端处的uicc作出的异步命令处理的方法和装置 | |
Seo et al. | Impacts of retransmission limit on stability and throughput regions of S-ALOHA systems | |
CN105611216A (zh) | 一种美肤视频通话方法和设备 | |
CN109548006A (zh) | 一种建立数据通道的方法、设备及计算机可读存储介质 | |
WO2024061091A1 (zh) | 一种网络通信的方法、装置、网络侧设备、终端及介质 | |
CN110248323A (zh) | 接入无线通信网络的方法、装置、设备、系统和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180119 |
|
WD01 | Invention patent application deemed withdrawn after publication |