发明内容
为了降低LoRa终端与LoRa服务器之间的通信网络的能耗,延长该通信网络的使用寿命的问题,本发明提供了一种基于LoRa技术的物联网通信方法、装置及存储介质。所述技术方案如下:
第一方面,提供了一种基于LoRa技术的物联网通信方法,所述方法包括:
获取LoRa终端以预设传输速率发送的数据信息,所述数据信息包括所述预设传输速率、目标信噪比和目标信号强度;
确定所述目标信噪比和所述目标信号强度对应的最大传输速率,并将所述最大传输速率作为第一预测传输速率,所述第一预测传输速率大于或等于所述预设传输速率;
将所述第一预测传输速率发送至所述LoRa终端;
接收所述LoRa终端基于所述第一预测传输速率发送的数据信息,以实现与所述LoRa终端的通信。
可选地,所述确定所述目标信噪比和所述目标信号强度对应的最大传输速率,包括:
从预先存储的传输速率、信噪比范围与信号强度范围之间的对应关系中确定所述目标信噪比和所述目标信号强度对应的至少一个传输速率;
从所述至少一个传输速率中确定所述目标信噪比和所述目标信号强度对应的最大传输速率。
可选地,所述确定所述目标信噪比和所述目标信号强度对应的最大传输速率,包括:
从预先存储的多个矩形区域中确定所述目标信噪比和所述目标信号强度对应的至少一个矩形区域,所述矩形区域是指信噪比范围和信号强度范围组成的区域;
确定所述至少一个矩形区域分别对应的传输速率,得到至少一个传输速率;
从所述至少一个传输速率中确定所述目标信噪比和所述目标信号强度对应的最大传输速率。
可选地,所述从预先存储的多个矩形区域中确定所述目标信噪比和所述目标信号强度对应的至少一个矩形区域之前,还包括:
获取多个传输速率,以及每个传输速率对应的信噪比范围和信号强度范围;
根据每个传输速率对应的信噪比范围和信号强度范围绘制矩形区域,以得到所述多个矩形区域,每个矩形区域分别对应一个传输速率。
第二方面,提供了一种基于LoRa技术的物联网通信方法,所述方法包括:
以预设传输速率发送数据信息至LoRa服务器,所述数据信息包括所述预设传输速率、目标信噪比和目标信号强度;
当接收到所述LoRa服务器发送的第一预测传输速率时,基于所述第一预测传输速率向所述LoRa服务器发送数据信息,以实现与所述LoRa服务器的通信,所述第一预测传输速率是指所述目标信噪比和所述目标信号强度对应的最大传输速率。
可选地,所述基于所述第一预测传输速率向所述LoRa服务器发送数据信息,以实现与所述LoRa服务器的通信之后,还包括:
若在第一预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,所述第二预测传输速率是指小于所述第一预测传输速率的至少一个传输速率中的最大传输速率;
基于所述第二预测传输速率向所述LoRa服务器发送所述数据信息,若在所述第一预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从所述多个传输速率中选择第三预测传输速率,所述第三预测传输速率是指小于所述第二预测传输速率的至少一个传输速率中的最大传输速率,直至在所述第一预设时长内接收到所述LoRa服务器发送的信息确认指令。
可选地,所述基于所述第一预测传输速率向所述LoRa服务器发送数据信息,以实现与所述LoRa服务器的通信之后,还包括:
确定基于所述第一预测传输速率发送所述数据信息的第一次数,若所述第一次数不小于预设重传次数,且在最后一次通过所述第一预测传输速率发送所述数据信息之后的第二预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,所述第二预测传输速率是指小于所述第一预测传输速率的至少一个传输速率中的最大传输速率;
基于所述第二预测传输速率向所述LoRa服务器发送所述数据信息,并确定基于所述第二预测传输速率发送所述数据信息的第二次数,若所述第二次数不小于所述预设重传次数,且在最后一次通过所述第二预测传输速率发送所述数据信息之后的所述第二预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从所述多个传输速率中选择第三预测传输速率,所述第三预测传输速率是指小于所述第二预测传输速率的至少一个传输速率中的最大传输速率,直至所述预设重传次数或者所述第二预设时长的条件满足的情况下接收到所述LoRa服务器发送的信息确认指令。
第三方面,提供了一种基于LoRa技术的物联网通信装置,所述装置包括:
获取模块,用于获取LoRa终端以预设传输速率发送的数据信息,所述数据信息包括所述预设传输速率、目标信噪比和目标信号强度;
确定模块,用于确定所述目标信噪比和所述目标信号强度对应的最大传输速率,并将所述最大传输速率作为第一预测传输速率,所述第一预测传输速率大于或等于所述预设传输速率;
发送模块,用于将所述第一预测传输速率发送至所述LoRa终端;
接收模块,用于接收所述LoRa终端基于所述第一预测传输速率发送的数据信息,以实现与所述LoRa终端的通信。
可选地,所述确定模块包括:
第一确定单元,用于从预先存储的传输速率、信噪比范围与信号强度范围之间的对应关系中确定所述目标信噪比和所述目标信号强度对应的至少一个传输速率;
第二确定单元,用于从所述至少一个传输速率中确定所述目标信噪比和所述目标信号强度对应的最大传输速率。
可选地,所述确定模块包括:
第三确定单元,用于从预先存储的多个矩形区域中确定所述目标信噪比和所述目标信号强度对应的至少一个矩形区域,所述矩形区域是指信噪比范围和信号强度范围组成的区域;
第四确定单元,用于确定所述至少一个矩形区域分别对应的传输速率,得到至少一个传输速率;
第五确定单元,用于从所述至少一个传输速率中确定所述目标信噪比和所述目标信号强度对应的最大传输速率。
可选地,所述装置还用于:
获取多个传输速率,以及每个传输速率对应的信噪比范围和信号强度范围;
根据每个传输速率对应的信噪比范围和信号强度范围绘制矩形区域,以得到所述多个矩形区域,每个矩形区域分别对应一个传输速率。
第四方面,提供了一种基于LoRa技术的物联网通信装置,所述装置包括:
第一发送模块,用于以预设传输速率发送数据信息至LoRa服务器,所述数据信息包括所述预设传输速率、目标信噪比和目标信号强度;
第二发送模块,用于当接收到所述LoRa服务器发送的第一预测传输速率时,基于所述第一预测传输速率向所述LoRa服务器发送数据信息,以实现与所述LoRa服务器的通信,所述第一预测传输速率是指所述目标信噪比和所述目标信号强度对应的最大传输速率。
可选地,所述装置还用于:
若在第一预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,所述第二预测传输速率是指小于所述第一预测传输速率的至少一个传输速率中的最大传输速率;
基于所述第二预测传输速率向所述LoRa服务器发送所述数据信息,若在所述第一预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从所述多个传输速率中选择第三预测传输速率,所述第三预测传输速率是指小于所述第二预测传输速率的至少一个传输速率中的最大传输速率,直至在所述第一预设时长内接收到所述LoRa服务器发送的信息确认指令。
可选地,所述装置还用于:
确定基于所述第一预测传输速率发送所述数据信息的第一次数,若所述第一次数不小于预设重传次数,且在最后一次通过所述第一预测传输速率发送所述数据信息之后的第二预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,所述第二预测传输速率是指小于所述第一预测传输速率的至少一个传输速率中的最大传输速率;
基于所述第二预测传输速率向所述LoRa服务器发送所述数据信息,并确定基于所述第二预测传输速率发送所述数据信息的第二次数,若所述第二次数不小于所述预设重传次数,且在最后一次通过所述第二预测传输速率发送所述数据信息之后的所述第二预设时长内未接收到所述LoRa服务器发送的信息确认指令,则从所述多个传输速率中选择第三预测传输速率,所述第三预测传输速率是指小于所述第二预测传输速率的至少一个传输速率中的最大传输速率,直至所述预设重传次数或者所述第二预设时长的条件满足的情况下接收到所述LoRa服务器发送的信息确认指令。
第五方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的任一所述的方法。
第六方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面提供的任一所述的方法。
本发明提供的技术方案带来的有益效果是:本发明通过获取LoRa终端以预设传输速率发送的数据信息包括的目标信噪比和目标信号强度,进而确定目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率发送至LoRa终端,以便于可以基于第一预测传输速率实现与LoRa终端之间的通信,也即是可以基于最大传输速率实现与LoRa终端之间的通信,从而减少与LoRa终端之间的通信时长,以降低与LoRa终端之间通信网络的功耗,延长该通信网络的使用寿命。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种基于LoRa技术的物联网通信方法的流程示意图。参见图1,该方法包括如下步骤。
步骤101:获取LoRa终端以预设传输速率发送的数据信息,该数据信息包括预设传输速率、目标信噪比和目标信号强度。
步骤102:确定目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率,第一预测传输速率大于或等于预设传输速率。
步骤103:将第一预测传输速率发送至LoRa终端。
步骤104:接收LoRa终端基于第一预测传输速率发送的数据信息,以实现与LoRa终端的通信。
本发明实施例中,通过获取LoRa终端以预设传输速率发送的数据信息包括的目标信噪比和目标信号强度,进而确定目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率发送至LoRa终端,以便于可以基于第一预测传输速率实现与LoRa终端之间的通信,也即是可以基于最大传输速率实现与LoRa终端之间的通信,从而减少与LoRa终端之间的通信时长,以降低与LoRa终端之间通信网络的功耗,延长该通信网络的使用寿命。
可选地,确定目标信噪比和目标信号强度对应的最大传输速率,包括:
从预先存储的传输速率、信噪比范围与信号强度范围之间的对应关系中确定目标信噪比和目标信号强度对应的至少一个传输速率;
从该至少一个传输速率中确定目标信噪比和目标信号强度对应的最大传输速率。
可选地,确定目标信噪比和目标信号强度对应的最大传输速率,包括:
从预先存储的多个矩形区域中确定目标信噪比和目标信号强度对应的至少一个矩形区域,矩形区域是指信噪比范围和信号强度范围组成的区域;
确定该至少一个矩形区域分别对应的传输速率,得到至少一个传输速率;
从该至少一个传输速率中确定目标信噪比和目标信号强度对应的最大传输速率。
可选地,从预先存储的多个矩形区域中确定目标信噪比和目标信号强度对应的至少一个矩形区域之前,还包括:
获取多个传输速率,以及每个传输速率对应的信噪比范围和信号强度范围;
根据每个传输速率对应的信噪比范围和信号强度范围绘制矩形区域,以得到该多个矩形区域,每个矩形区域分别对应一个传输速率。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图2时本发明实施例提供的一种基于LoRa技术的物联网通信方法。参见图2,该方法包括如下步骤:
步骤201:以预设传输速率发送数据信息至LoRa服务器,该数据信息包括预设传输速率、目标信噪比和目标信号强度。
步骤202:当接收到LoRa服务器发送的第一预测传输速率时,基于第一预测传输速率向LoRa服务器发送数据信息,以实现与LoRa服务器的通信,第一预测传输速率是指目标信噪比和目标信号强度对应的最大传输速率。
本发明实施例中,通过以预设传输速率发送包括有预设传输速率、目标信噪比和目标信号强度的数据信息至LoRa服务器,进而在接收到LoRa服务器发送的第一预测传输速率时,基于第一预测传输速率向LoRa服务器发送数据信息,以实现与LoRa服务器之间的通信,也即是,基于最大传输速率实现与LoRa服务器之间的通信,从而减少与LoRa服务器之间的通信时长,以降低与LoRa服务器之间通信网络的功耗,延长该通信网络的使用寿命。
可选地,基于第一预测传输速率向LoRa服务器发送数据信息,以实现与LoRa服务器的通信之后,还包括:
若在第一预设时长内未接收到LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,第二预测传输速率是指小于第一预测传输速率的至少一个传输速率中的最大传输速率;
基于第二预测传输速率向LoRa服务器发送该数据信息,若在第一预设时长内未接收到LoRa服务器发送的信息确认指令,则从该多个传输速率中选择第三预测传输速率,第三预测传输速率是指小于该第二预测传输速率的至少一个传输速率中的最大传输速率,直至在第一预设时长内接收到LoRa服务器发送的信息确认指令。
可选地,基于第一预测传输速率向LoRa服务器发送数据信息,以实现与该LoRa服务器的通信之后,还包括:
确定基于第一预测传输速率发送该数据信息的第一次数,若第一次数不小于预设重传次数,且在最后一次通过第一预测传输速率发送该数据信息之后的第二预设时长内未接收到LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,第二预测传输速率是指小于第一预测传输速率的至少一个传输速率中的最大传输速率;
基于第二预测传输速率向LoRa服务器发送该数据信息,并确定基于第二预测传输速率发送该数据信息的第二次数,若第二次数不小于该预设重传次数,且在最后一次通过第二预测传输速率发送该数据信息之后的第二预设时长内未接收到该LoRa服务器发送的信息确认指令,则从该多个传输速率中选择第三预测传输速率,第三预测传输速率是指小于该第二预测传输速率的至少一个传输速率中的最大传输速率,直至该预设重传次数或者第二预设时长的条件满足的情况下接收到LoRa服务器发送的信息确认指令。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图3是本发明实施例提供的一种基于LoRa技术的物联网通信方法的流程示意图。参见图3,该方法包括如下步骤。
步骤301:LoRa终端以预设传输速率发送数据信息至LoRa服务器,该数据信息包括预设传输速率、目标信噪比和目标信号强度。
在LoRa终端需要与LoRa服务器之间进行网络通信时,为了保证LoRa终端和LoRa服务器之间的正常通信,LoRa终端可以预设传输速率发送信息至LoRa服务器。
其中,该预设传输速率是指LoRa终端和LoRa服务器之间能够正常通信的传输速率,且可以预先进行设置,比如,LoRa终端与LoRa服务器之间能够正常通信的传输速率按照从小到大的顺序可以包括DR0(Drive 0)、DR1、DR2、DR3、DR4和DR5,该预设传输速率可以为DR0。当然,该预设传输速率也可以为DR1,只要可以保证LoRa终端和LoRa服务器之间的正常通信即可,本发明实施例对此不做限定。在LoRa终端向LoRa服务器发送数据信息时,为了保证该数据信息的安全性和可靠性,可以对该数据信息包括的预设传输速率、目标信噪比和目标信号强度等进行封装,再将封装后的该数据信息发送至LoRa服务器。
步骤302:LoRa服务器获取LoRa终端以预设传输速率发送的数据信息。
当LoRa服务器接收到LoRa终端发送的一组封装后的数据信息时,则解析该封装后的数据信息,并将该数据信息包括的传输速率、目标信噪比和目标信号强度确定为LoRa服务器获取到的数据信息。
当LoRa服务器接收到LoRa终端发送的多组封装后的数据信息时,可以对该多组封装后的数据信息分别进行解析,以得到多组数据信息。为了避免外界噪音等环境因素对LoRa终端发送的目标信噪比和目标信号强度产生影响,对于该多组数据信息,如果存在连续预设组数的数据信息中每组数据信息包括的传输速率均相同,任意两组数据信息包括的信噪比之间的差值小于第一预设数值,且任意两组数据信息包括的信号强度之间的差值小于第二预设数值时,可以确定该连续预设组数的数据信息中信噪比的平均值和信号强度的平均值,并将该连续预设组数的数据信息中的传输速率确定为预设传输速率,将该连续预设组数的数据信息中的信噪比的平均值确定为目标信噪比,将该连续预设组数的数据信息中的信号强度的平均值确定为目标信号强度。
其中,该预设组数可以预先进行设置,该预设组数小于LoRa服务器接收到的封装后的数据信息的组数。比如,LoRa服务器接收到的封装后的数据信息的组数为6组时,该预设组数可以为4组或3组等。第一预设数值和第二预设数值可以基于LoRa终端所处的环境进行设置。
步骤303:确定目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率,第一预测传输速率大于或等于预设传输速率。
在LoRa服务器获取到该数据信心包括的目标信噪比和目标信号强度后,确定目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率。其中,LoRa服务器可以通过如下两种方式确定目标信噪比和目标信号强度对应的最大传输速率,接下来对这两种方式进行详细描述。
第一种方式
具体地,可以通过如下步骤(1)-(2)确定目标信噪比和目标信号强度对应的最大传输速率。
(1)从预先存储的传输速率、信噪比范围与信号强度范围之间的对应关系中确定目标信噪比和目标信号强度对应的至少一个传输速率。
由于LoRa终端与LoRa服务器可以以不同的传输速率进行通信,而在LoRa终端与LoRa服务器之间以不同的传输速率进行正常通信时,每个传输速率对应的信噪比范围和信号强度范围可能不相同。因此,可以预先将每个传输速率、每个传输速率对应的信噪比范围和信号强度范围存储至传输速率、信噪比范围和信号强度范围之间的对应关系中。对于预先存储的任一个传输速率,如果目标信噪比位于该传输速率对应的信噪比范围内,且目标信号强度位于该传输速率对应的信号强度范围内,则将该传输速率确定为目标信噪比和目标信号强度对应的一个传输速率。然而,由于任意两个传输速率分别对应的信噪比范围之间的交集可能为0,也可能不为0;分别对应的信号强度范围之间的交集可能为0,也可能不为0。也即是,目标信号比可能同时满足至少一个传输速率对应信噪比范围,目标信号强度可能同时满足至少一个传输速率对应的信号强度范围,因此,可以从预先存储的传输速率、信噪比范围和信号强度范围的对应关系中确定目标信噪比和目标信号强度对应的至少一个传输速率。
比如,目标信噪比为-10,目标信号强度为-101,从预先存储的传输速率、信噪比范围和信号强度范围的对应关系中确定目标信噪比和目标信号强度对应的传输速率包括DR1、DR2和DR4,共三个传输速率。
进一步地,对于预先存储的传输速率、信噪比范围与信号强度范围之间的对应关系,可以在LoRa终端与LoRa服务器之间设置固定网关,进而对于不同的传输速率,通过不断改变LoRa终端与LoRa服务器之间的距离,确定LoRa终端与LoRa服务器之间可以正常通信的情况下的信噪比范围和信号强度范围,以得到每个传输速率对应的信噪比范围和信号强度范围,并将每个传输速率和每个传输速率分别对应的信噪比范围和信号强度范围对应存储至传输速率、信噪比范围与信号强度范围之间的对应关系中。
(2)从该至少一个传输速率中确定目标信噪比和目标信号强度对应的最大传输速率。
对于目标信噪比和目标信号强度对应的至少一个传输速率,为了保证LoRa终端与LoRa服务器之间的通信时长最短,以减少LoRa终端与LoRa服务器之间的通信网络的能耗,可以从该至少一个传输速率中确定最大的传输速率,也即是目标信噪比和目标信号强度对应的最大传输速率。
继续上述举例,对于DR1、DR2和DR4三个传输速率,将DR4确定为目标信噪比和目标信号强度对应的最大传输速率。
第二种方式
具体地,可以通过如下步骤(1)-(3)确定目标信噪比和目标信号强度对应的最大传输速率。
(1)从预先存储的多个矩形区域中确定目标信噪比和目标信号强度对应的至少一个矩形区域,矩形区域是指信噪比范围和信号强度范围组成的区域。
由于预先存储的该多个矩形区域中的每个矩形区域是指信噪比范围和信号强度范围组成的区域,因此,对于该多个矩形区域中的任一个矩形区域,可以确定目标信噪比和目标信号强度组成的坐标点是否位于该矩形区域内。如果目标信噪比和目标信号强度组成的坐标点位于该矩形区域内,则将该矩形区域确定为目标信噪比和目标信号强度对应的一个矩形区域。由于任意两个矩形区域分别对应的信噪比范围之间的交集可能为0,也可能不为0;分别对应的信号强度范围之间的交集可能为0,也可能不为0。也即是,任意两个矩形区域之间的交集可能为0,也可能不为0。目标信号比和目标信号强度组成的坐标点可能位于一个矩形区域,也可能同时位于多个矩形区域,因此,可以从该多个矩形区域中确定目标信噪比和目标信号强度对应的至少一个矩形区域。
比如,目标信噪比为-10,目标信号强度为-101,基于目标信噪比和目标信号强度组成的坐标点从该多个矩形区域中得到的至少一个矩形区域包括第一矩形、第二矩形和第四矩形。
进一步地,从预先存储的多个矩形区域中确定目标信噪比和目标信号强度对应的至少一个矩形区域之前,LoRa服务器可以获取多个传输速率,以及每个传输速率对应的信噪比范围和信号强度范围,进而根据每个传输速率对应的信噪比范围和信号强度范围绘制矩形区域,以得到该多个矩形区域,每个矩形区域分别对应一个传输速率。
其中,可以建立直角坐标系,并以信噪比为横坐标,以信号强度为纵坐标,或者以信噪比为纵坐标,以信号强度为横坐标,基于每个传输速率对应的信噪比范围和信号强度范围绘制对应矩形区域,得到多个矩形区域。由于每个矩形区域均是基于每个传输速率对应的信噪比范围和信号强度范围绘制的,因此,绘制得到的该多个矩形区域与该多个传输速率一一对应,也即是,每个矩形区域分别对应一个传输速率。
需要说明的是,对于获取的多个传输速率,以及每个传输速率对应的信噪比范围和信号强度范围,可以在LoRa终端与LoRa服务器之间设置固定网关,进而对于不同的传输速率,通过不断改变LoRa终端与LoRa服务器之间的距离,确定LoRa终端与LoRa服务器之间可以正常通信的情况下的信噪比范围和信号强度范围,以得到每个传输速率对应的信噪比范围和信号强度范围。
(2)确定该至少一个矩形区域分别对应的传输速率,得到至少一个传输速率。
在一种可能的实现方式中,对于确定得到的至少一个矩形区域,可以从预先存储的矩形区域与区域代码之间的对应关系中分别确定该至少一个矩形区域中每个矩形区域的区域代码,得到至少一个区域代码。进而可以从预先存储的区域代码与传输速率之间的对应关系中分别确定该至少一个区域代码分别对应的传输速率,从而得到该至少一个传输速率。
进一步地,对于绘制得到的多个矩形区域,由于每个矩形区域分别对应一个传输速率,为了便于将每个矩形区域和对应的传输速率进行对应存储,可以为每个矩形区域分别设置对应的区域代码,将每个矩形区域和分别对应的区域代码存储至矩形区域与区域代码之间的对应关系中,并将每个矩形区域的区域代码与该矩形区域对应的传输速率对应存储至区域代码与传输速率之间的对应关系中。
继续上述举例,该至少一个矩形区域中的第一矩形、第二矩形和第四矩形对应的区域代码分别为S1、S2和S4,得到三个区域代码。该三个区域代码分别对应的传输速率为DR1、DR2和DR4,得到三个传输速率。
当然,还可以以其他方式得到该至少一个传输速率,比如,对于确定得到的至少一个矩形区域,可以从预先存储的矩形区域与缩略图之间的对应关系中分别确定该至少一个矩形区域中每个矩形区域的缩略图,得到至少一个缩略图。进而从预先存储的缩略图与传输速率之间的对应关系中分别确定该至少一个缩略图分别对应的传输速率,从而得到该至少一个传输速率。
进一步地,对于绘制得到的多个矩形区域,当然,也可以为每个矩形区域分别设置对应的缩略图,将每个矩形区域和分别对应的缩略图存储至矩形区域与缩略图之间的对应关系中,并将每个矩形区域的缩略图与该矩形区域对应的传输速率对应存储至缩略图与传输速率之间的对应关系中。
(3)从该至少一个传输速率中确定目标信噪比和目标信号强度对应的最大传输速率。
对于目标信噪比和目标信号强度对应的至少一个传输速率,为了保证LoRa终端与LoRa服务器之间的通信时长最短,以减少LoRa终端与LoRa服务器之间的通信网络的能耗,可以从该至少一个传输速率中确定最大的传输速率,也即是该目标信噪比和目标信号强度对应的最大传输速率。
继续上述举例,对于确定得到的DR1、DR2和DR4三个传输速率,将DR4确定为目标信噪比和目标信号强度对应的最大传输速率。
步骤304:LoRa服务器将第一预测传输速率发送至LoRa终端。
在LoRa服务器确定了目标信噪比和目标信号强度对应的第一预测传输速率后,可以将该第一预测传输速率发送至LoRa终端,以便于LoRa终端可以基于该第一预测传输速率与LoRa服务器进行通信。
步骤305:当LoRa终端接收到LoRa服务器发送的第一预测传输速率时,基于第一预测传输速率向LoRa服务器发送数据信息,以实现与LoRa服务器的通信。
步骤306:LoRa服务器接收LoRa终端基于第一预测传输速率发送的数据信息,以实现与LoRa终端的通信。
如果LoRa服务器成功接收LoRa终端基于第一预测传输速率发送的数据信息,则表明LoRa服务器与LoRa终端之间可以基于第一预测传输速率进行正常通信,此时,LoRa服务器可以向LoRa终端发送信息确认指令。该信息确认指令用于确认LoRa服务器与LoRa终端之间可以进行正常通信。
继续上述举例,LoRa服务器接收LoRa终端基于DR4发送的数据信息,在LoRa服务器成功接收LoRa终端基于DR4发送的数据信息时,LoRa服务器向LoRa终端发送信息确认指令,表明LoRa服务器与LoRa终端之间可以正常通信。
进一步地,由于第一预测传输速率是LoRa服务器基于获取的数据信息包括的目标信噪比和目标信号强度确定的,而LoRa终端因所处环境的影响导致发送至LoRa服务器的数据信息包括的目标信噪比和目标信号强度可能存在误差,进而造成LoRa服务器确定的第一预测传输速率可能存在偏差。因此,可能导致LoRa服务器未能成功接收LoRa终端基于第一预测传输速率发送的数据信息,进而导致LoRa服务器不会向LoRa终端发送信息确认指令,也即是LoRa终端未能接收到LoRa服务器发送的信息确认指令。
其中,LoRa终端可以是在如下两种情况未能接收到LoRa服务器发送的信息确认指令:第一种情况,LoRa终端在第一预设时长内未接收到LoRa服务器发送的信息确认指令;第二种情况,LoRa终端基于第一预测传输速率发送该数据信息的第一次数不小于预设重传次数,且在最后一次通过第一预测传输速率发送该数据信息之后的第二预设时长内未接收到LoRa服务器发送的信息确认指令。接下来,为了保证LoRa服务器与LoRa终端之间正常通信,对上述出现的两种情况分别进行详细说明。
第一种情况,若LoRa终端在第一预设时长内未接收到LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率。LoRa终端基于第二预测传输速率向LoRa服务器发送该数据信息,若在第一预设时长内未接收到LoRa服务器发送的信息确认指令,则从该多个传输速率中选择第三预测传输速率,直至LoRa终端在第一预设时长内接收到LoRa服务器发送的信息确认指令。此时,确认LoRa服务器与LoRa终端之间可以进行正常通信。
其中,第一预设时长可以预先进行设置,比如,第一预设时长可以是200毫秒、300毫秒或500毫秒等。第二预测传输速率是指小于第一预测传输速率的至少一个传输速率中的最大传输速率。第三预测传输速率是指小于第二预测传输速率的至少一个传输速率中的最大传输速率。
继续上述举例,假设第一预设时长为300毫秒,当LoRa终端在300毫秒内未收到LoRa服务器发送的信息确认指令,则从DR0、DR1、DR2、DR3、DR4和DR5中确定小于DR4的DR0、DR1、DR2和DR3四个传输速率,并将DR0、DR1、DR2和DR3中最大传输速率DR3确定为第二预测传输速率,之后基于DR3实现与LoRa服务器之间的通信。如果LoRa终端在300毫秒内收到LoRa服务器发送的信息确认指令,则表明LoRa终端与LoRa服务器之间可以基于DR3实现正常通信。否则,从DR0、DR1、DR2、DR3、DR4和DR5中查找小于DR3且最大的传输速率,并基于该最大的传输速率实现LoRa终端与LoRa服务器之间的通信,直至LoRa终端与LoRa服务器之间可以正常通信。
第二种情况,确定LoRa终端基于第一预测传输速率发送该数据信息的第一次数,若第一次数不小于预设重传次数,且LoRa终端在最后一次通过第一预测传输速率发送该数据信息之后的第二预设时长内未接收到LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率。LoRa终端基于第二预测传输速率向LoRa服务器发送该数据信息,并确定基于第二预测传输速率发送该数据信息的第二次数,若第二次数不小于预设重传次数,且LoRa终端在最后一次通过第二预测传输速率发送该数据信息之后的第二预设时长内未接收到LoRa服务器发送的信息确认指令,则从该多个传输速率中选择第三预测传输速率,直至预设重传次数或者第二预设时长的条件满足的情况下LoRa终端接收到LoRa服务器发送的信息确认指令。此时,确认LoRa服务器与LoRa终端之间可以进行正常通信。
其中,预设重传次数和第二预设时长均可以预先进行设置。比如,预设重传次数可以为3次或5次,第二预设时长可以为50毫秒或100毫秒等,本发明实施例对此不做限定。预设重传次数或者第二预设时长的条件满足的情况是指LoRa终端基于同一传输速率发送同一数据信息的次数小于预设重传次数时,或者LoRa终端在基于该同一传输速率最后一次发送该同一数据信息的第二预设时长内接收到LoRa服务器发送的信息确认指令。
继续上述举例,假设预设重传次数为3次,第二预设时长为50毫秒,当LoRa终端基于DR4发送数据信息的次数为3次,且在基于DR4发送该数据信息的50毫秒内未收到LoRa服务器发送的信息确认指令,则从DR0、DR1、DR2、DR3、DR4和DR5中确定小于DR4的DR0、DR1、DR2和DR3四个传输速率,并将DR0、DR1、DR2和DR3中最大传输速率DR3确定为第二预测传输速率,之后基于DR3实现与LoRa服务器之间的通信。如果LoRa终端基于DR3发送该数据信息的次数小于3次,或者LoRa终端在基于DR3最后一次发送该数据信息的50毫秒内收到LoRa服务器发送的信息确认指令,则表明LoRa终端与LoRa服务器之间可以基于DR3实现正常通信。否则,从DR0、DR1、DR2、DR3、DR4和DR5中查找小于DR3且最大的传输速率,并基于该最大的传输速率实现LoRa终端与LoRa服务器之间的通信,直至LoRa终端与LoRa服务器之间可以正常通信。
本发明实施例中,LoRa服务器通过获取LoRa终端以预设传输速率向发送的数据信息,进而从预先存储的传输速率、信噪比范围和信号强度范围之间的对应关系中确定该数据信息中包括的目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率发送至LoRa终端,在LoRa终端接收到第一预测传输速率后,基于第一预测传输速率实现与LoRa服务器之间的通信,也即是保证在正常通信的情况下基于最大传输速率实现与LoRa终端之间的通信,从而减少LoRa服务器与LoRa终端之间的通信时长,以降低LoRa服务器与LoRa终端之间通信网络的功耗,延长该通信网络的使用寿命。
图4A是本发明实施例提供的一种基于LoRa技术的物联网通信装置的结构示意图。参见图4A,该装置包括:
获取模块401,用于获取LoRa终端以预设传输速率发送的数据信息,该数据信息包括预设传输速率、目标信噪比和目标信号强度;
确定模块402,用于确定目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率,第一预测传输速率大于或等于预设传输速率;
发送模块403,用于将第一预测传输速率发送至LoRa终端;
接收模块404,用于接收LoRa终端基于第一预测传输速率发送的数据信息,以实现与LoRa终端的通信。
可选地,参见图4B,确定模块402包括:
第一确定单元4021,用于从预先存储的传输速率、信噪比范围与信号强度范围之间的对应关系中确定目标信噪比和目标信号强度对应的至少一个传输速率;
第二确定单元4022,用于从该至少一个传输速率中确定目标信噪比和目标信号强度对应的最大传输速率。
可选地,参见图4C,确定模块402包括:
第三确定单元4023,用于从预先存储的多个矩形区域中确定目标信噪比和目标信号强度对应的至少一个矩形区域,矩形区域是指信噪比范围和信号强度范围组成的区域;
第四确定单元4024,用于确定该至少一个矩形区域分别对应的传输速率,得到至少一个传输速率;
第五确定单元4025,用于从该至少一个传输速率中确定目标信噪比和目标信号强度对应的最大传输速率。
可选地,该装置还用于:
获取多个传输速率,以及每个传输速率对应的信噪比范围和信号强度范围;
根据每个传输速率对应的信噪比范围和信号强度范围绘制矩形区域,以得到该多个矩形区域,每个矩形区域分别对应一个传输速率。
本发明实施例中,通过获取LoRa终端以预设传输速率发送的数据信息包括的目标信噪比和目标信号强度,进而确定目标信噪比和目标信号强度对应的最大传输速率,并将最大传输速率作为第一预测传输速率发送至LoRa终端,以便于可以基于第一预测传输速率实现与LoRa终端之间的通信,也即是可以基于最大传输速率实现与LoRa终端之间的通信,从而减少与LoRa终端之间的通信时长,以降低与LoRa终端之间通信网络的功耗,延长该通信网络的使用寿命。
图5是本发明实施例提供的一种基于LoRa技术的物联网通信装置的结构示意图。参见图5,该装置包括:
第一发送模块501,用于以预设传输速率发送数据信息至LoRa服务器,该数据信息包括预设传输速率、目标信噪比和目标信号强度;
第二发送模块502,用于当接收到LoRa服务器发送的第一预测传输速率时,基于第一预测传输速率向LoRa服务器发送数据信息,以实现与LoRa服务器的通信,第一预测传输速率是指目标信噪比和目标信号强度对应的最大传输速率。
可选地,该装置还用于:
若在第一预设时长内未接收到LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,该第二预测传输速率是指小于第一预测传输速率的至少一个传输速率中的最大传输速率;
基于第二预测传输速率向LoRa服务器发送该数据信息,若在第一预设时长内未接收到LoRa服务器发送的信息确认指令,则从该多个传输速率中选择第三预测传输速率,第三预测传输速率是指小于第二预测传输速率的至少一个传输速率中的最大传输速率,直至在第一预设时长内接收到LoRa服务器发送的信息确认指令。
可选地,该装置还用于:
确定基于第一预测传输速率发送该数据信息的第一次数,若第一次数不小于预设重传次数,且在最后一次通过第一预测传输速率发送该数据信息之后的第二预设时长内未接收到LoRa服务器发送的信息确认指令,则从预先存储的多个传输速率中选择第二预测传输速率,第二预测传输速率是指小于第一预测传输速率的至少一个传输速率中的最大传输速率;
基于第二预测传输速率向LoRa服务器发送该数据信息,并确定基于第二预测传输速率发送该数据信息的第二次数,若第二次数不小于该预设重传次数,且在最后一次通过第二预测传输速率发送该数据信息之后的第二预设时长内未接收到LoRa服务器发送的信息确认指令,则从该多个传输速率中选择第三预测传输速率,第三预测传输速率是指小于第二预测传输速率的至少一个传输速率中的最大传输速率,直至该预设重传次数或者第二预设时长的条件满足的情况下接收到LoRa服务器发送的信息确认指令。
本发明实施例中,通过以预设传输速率发送包括有预设传输速率、目标信噪比和目标信号强度的数据信息至LoRa服务器,进而在接收到LoRa服务器发送的第一预测传输速率时,基于第一预测传输速率向LoRa服务器发送数据信息,以实现与LoRa服务器之间的通信,也即是,基于最大传输速率实现与LoRa服务器之间的通信,从而减少与LoRa服务器之间的通信时长,以降低与LoRa服务器之间通信网络的功耗,延长该通信网络的使用寿命。
需要说明的是:上述实施例提供的基于LoRa技术的物联网通信装置在基于LoRa技术进行物联网通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于LoRa技术的物联网通信装置装置与基于LoRa技术的物联网通信装置方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6示出了本发明一个示例性实施例提供的终端600的结构框图。参见图6,该终端600可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。参见图6,终端600可以包括处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的一种基于LoRa技术的物联网通信方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、显示屏605、定位组件606和电源607中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
定位组件606用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件606可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源607用于为终端600中的各个组件进行供电。电源607可以是交流电、直流电、一次性电池或可充电电池。当电源607包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图7是本发明实施例提供的一种服务器700的结构示意图。该服务器700可以是后台服务器集群中的服务器。具体来讲:
服务器700包括中央处理单元(CPU)701、包括随机存取存储器(RAM)702和只读存储器(ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。服务器700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中,显示器708和输入设备709都通过连接到系统总线705的输入/输出控制器710连接到中央处理单元701。基本输入/输出系统706还可以包括输入/输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。大容量存储设备707及其相关联的计算机可读介质为服务器700提供非易失性存储。也就是说,大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本发明的各种实施例,服务器700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器700可以通过连接在系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
本领域技术人员可以理解,图7中示出的结构并不构成对服务器700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在上述实施例中,还提供了一种包括指令的非暂态的计算机可读存储介质,该计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器所执行以实现上述图1、图2或图3所示实施例提供的方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。