一种基于NB-IoT与北斗的云定位系统及方法
技术领域
本发明涉及北斗云定位技术领域,具体涉及一种基于NB-IoT与北斗的云定位系统及方法。
背景技术
万物互联是当今物联网发展的趋势,NB-IoT通讯技术是实现万物互联的关键技术,可通过BN网络以将成千上万的设备进行互联和管理,NB-IoT通讯技术是一种广域窄带通讯技术,其主要优势是信号覆盖范围大和接入设备数量多,但是其数据传输速率较低,适用于传输数据量少和功耗控制严格的场景,大多数物联网应用都需要知道设备的位置信息,如人员管理,车辆管理,畜牧管理等,当前主要的室外定位技术为通讯基站定位和导航卫星定位,其中通讯基站定位精度较低,一般为100~1000米,而导航卫星定位精度较高,一般为5~20米,北斗卫星定位系统是我国自主研发的卫星导航定位系统,已经实现全球覆盖,其系统稳定性和定位精度已经达到国际领先水平,将NB-IoT通讯技术和北斗定位计算相结合,可实现对物联网设备的高精度定位和位置管理。
大多数低成本的物联网设备要求长时间稳定运行,并且尽可能小的数据传输量,低功耗和小数据是物联网设备长时间运行的基础。传统的北斗定位设备至少需要30秒时间才能完成精准定位,对于低功耗设备而言,30秒时间会造成极大的能耗,不利于设备的长期工作,使用辅助星历方式进行北斗定位,可以有效的降低定位时间,但是需要通过网络将星历数据发送给物联网设备,数据量将超过3千字节,经常下载辅助星历数据同样会增加能耗和首次定位时间,物联网设备一般采用定时定位方式,大多数应用场景两次定位间隔时间较长,传统的物联网设备北斗定位模块至少需要30秒时间才能完成精准定位,会造成极大的能耗,不利于设备的长期工作。
发明内容
为尽可能降低设备能耗和减少数据量传输,现将NB-IoT传输技术、北斗定位技术和云计算相结合,提出一种基于NB-IoT与北斗的云定位系统,只需几秒时间和传输几十字节的数据量就可以实现对物联网设备的高精度定位,极大的降低物联网设备功耗和数据量传输,特别适用于室外低频高精度定位场景应用。
所述系统包括北斗卫星、物联网设备、NB-IoT网络、云计算服务器以及云数据库。
所述北斗卫星用于提供高精度定位信号,为了快速搜索可见北斗卫星信号,物联网设备需要有可靠的时间、初始位置和北斗卫星历书。
所述物联网设备通过NB-IoT网络校准时间、下载初始位置和北斗卫星历书数据,只要接收到5颗以上的北斗卫星信号就可以采集到足够的北斗卫星码相位数据,然后将数据通过NB-IoT网络传输给云计算服务器。
所述NB-IoT网络用于传输数据,送的北斗码相位数据量极少,尽可能降低数据发送能耗。
所述云计算服务器用于接收北斗码相位数据,发送北斗卫星历书数据、时间校准数据、初始位置数据和北斗定位计算结果数据,同时到第三方下载实时北斗卫星历书(由云服务器下发给物联网设备用于可见卫星预测)和北斗卫星星历数据(在云服务器端用于定位计算),以及完成物联网设备定位计算工作。
所述云数据库用于存储物联网设备信息和定位计算结果,将定位结果提供给其他应用使用。
所述北斗卫星和物联网设备通过NB-IoT网络连接云计算服务器,所述云计算服务器连接云数据库,所述物联网设备包括一个本地时间维持系统和时间校准记录。
作为本发明的一种改进,所述物联网设备接收到5颗以上的北斗卫星信号,将数据通过NB-IoT网络传输给云计算服务器。
针对上述基于NB-IoT与北斗的云定位系统进一步提出一种基于NB-IoT与北斗的云定位方法,所述方法包括以下步骤:
1)物联网设备包含一个本地时间维持系统和时间校准记录,本地时间维持系统误差较大,物联网设备运行一天时间误差可达到10分钟以上,一般我们认为距离上一次时间校准1小时内时间比较准确,物联网设备内部本地时间维持系统距离上一次时间校准在一小时内,无需时间校准,若超过一小时,物联网设备向云计算服务器发送时间校准请求,物联网设备向云计算服务器发送时间校准请求,请求发起后,云计算服务器应答物联网时间校准,物联网设备接收到时间校准数据后进行本地时间更新,并更新时间校准记录;
2)当北斗卫星历书超过180天时,北斗卫星向云计算服务器发送北斗卫星历书请求,北斗卫星系统星座已经覆盖全球,当前可用卫星数量已超过40颗,地球上的任意位置一般可接收到6~20颗北斗卫星信号,使用历书可以减少北斗卫星码相位数据采集时间,检测北斗卫星历书的有效性,当北斗卫星历书无效时,物联网设备向云计算服务器请求北斗卫星历书数据,云计算服务器应答当前北斗卫星历书数据给物联网设备,物联网设备接收到北斗卫星历书数据后进行解析和存储;
3)物联网设备读取当前国家代码信息,若国家代码发生变化,物联网设备向云计算服务器请求获取发生变化的国家代码的初始位置信息,云计算服务器应答当前国家当前代码初始位置给物联网设备,物联网设备接收到数据后进行解析和存储;
4)物联网设备采集到有效时间、北斗卫星历书及初始位置后,进行北斗卫星伪码相位计算;
5)物联网设备向云计算服务器发起云定位请求,并发送北斗卫星伪码相位、时间以及初始位置数据,云计算服务器接收到物联网设备云定位请求后,配合当前北斗卫星星历数据使用最小二乘法进行物联网设备的位置、速度和时间计算,并将计算结果存储到云数据库供其他应用使用,并将物联网设备的位置、速度及时间信息发送 给物联网设备。
作为本发明的一种改进,所述步骤1)中时间校准数据协议采用NTP协议。
作为本发明的一种改进,所述步骤2)中云计算服务器定时从第三方数据厂家获取北斗卫星历书数据。
作为本发明的一种改进,所述步骤3)中物联网设备本地存储上次定位时的国家代码信息。
作为本发明的一种改进,所述步骤4)中物联网设备计算北斗卫星伪码相位,采用对可见北斗卫星的粗捕获和精捕获的方式,得到精度为米级的北斗卫星伪码相位数据。
作为本发明的一种改进,所述步骤5)中单次云定位的数据量为56~140字节。
作为本发明的一种改进,所述步骤5)中云计算服务器定时从第三方数据厂家获取北斗卫星星历数据。
作为本发明的一种改进,所述步骤5)中物联网设备接收到云计算服务器返回的云定位结果数据后,更新本地位置、速度和时间。
本发明的有益效果是:本系统可用在低频超低功耗高精度定位设备场景,主要技术点包括降低物联网设备北斗定位模块运行时间,通过NB-IoT发送极小的北斗卫星码相位数据到云计算服务器,云计算服务器根据北斗卫星码相位计算设备高精度位置,通过减少北斗模块运行时间和NB-IoT网络发送数据量达到降低物联网设备能耗的目的,预计比传统物联网定位设备降低至少80%的能耗。
附图说明
图1为本实施例1中所述的云定位系统示意图。
图2为本实施例2中所述的云定位方法流程示意图。
具体实施方式
以下将对本发明做进一步地说明,但不应以此来限制本发明的保护范围,为了方便说明且理解本发明的技术方案,以下说明均以附图所展示为准。
实施例1:如图1所示,所述系统包括北斗卫星、物联网设备、NB-IoT网络、云计算服务器以及云数据库。
所述北斗卫星用于提供高精度定位信号,为了快速搜索可见北斗卫星信号,物联网设备需要有可靠的时间、初始位置和北斗卫星历书。
所述物联网设备通过NB-IoT网络校准时间、下载初始位置和北斗卫星历书数据,只要接收到5颗以上的北斗卫星信号就可以采集到足够的北斗卫星码相位数据,然后将数据通过NB-IoT网络传输给云计算服务器。
所述NB-IoT网络用于传输数据,送的北斗码相位数据量极少,尽可能降低数据发送能耗。
所述云计算服务器用于接收北斗码相位数据,发送北斗卫星历书数据、时间校准数据、初始位置数据和北斗定位计算结果数据,同时到第三方下载实时北斗卫星历书和星历数据,以及完成物联网设备定位计算工作。
所述云数据库用于存储物联网设备信息和定位计算结果,将定位结果提供给其他应用使用。
所述北斗卫星和物联网设备通过NB-IoT网络连接云计算服务器,所述云计算服务器连接云数据库,所述物联网设备包括一个本地时间维持系统和时间校准记录。
作为本发明的一种改进,所述物联网设备接收到5颗以上的北斗卫星信号,将数据通过NB-IoT网络传输给云计算服务器。
本系统将高精度定位计算部分放在云计算服务器上进行,物联网设备北斗定位模块只需采集北斗卫星的码相位数据,该过程一般只需5秒左右时间,采集到北斗卫星码相位数据后,通过NB-IoT网络将数据发送给云计算服务器完成定位计算,此过程发送的数据量较小,一般在100字节左右。
实施例2:针对上述基于NB-IoT与北斗的云定位系统进一步提出一种基于NB-IoT与北斗的云定位方法,如图2所示,所述方法包括以下步骤:
1)物联网设备包含一个本地时间维持系统和时间校准记录,本地时间维持系统误差较大,物联网设备运行一天时间误差可达到10分钟以上,一般我们认为距离上一次时间校准1小时内时间比较准确,物联网设备内部本地时间维持系统距离上一次时间校准在一小时内,无需时间校准,若超过一小时,物联网设备向云计算服务器发送时间校准请求,物联网设备向云计算服务器发送时间校准请求,请求发起后,云计算服务器应答物联网时间校准,物联网设备接收到时间校准数据后进行本地时间更新,并更新时间校准记录,当检测时间不准时,物联网设备向云计算服务器发起时间校准请求,时间校准数据协议使用NTP协议;
2)当北斗卫星历书超过180天时,北斗卫星向云计算服务器发送北斗卫星历书请求,北斗卫星系统星座已经覆盖全球,当前可用卫星数量已超过40颗,地球上的任意位置一般可接收到6~20颗北斗卫星信号,使用历书可以减少北斗卫星码相位数据采集时间,检测北斗卫星历书的有效性,当北斗卫星历书无效时,物联网设备向云计算服务器请求北斗卫星历书数据,云计算服务器应答当前北斗卫星历书给物联网设备,云计算服务器定时从第三方数据厂家获取北斗卫星历书数据,物联网设备接收到北斗卫星历书数据后进行解析和存储;
3)物联网设备本地存储上次定位时的国家代码信息,物联网设备读取当前国家代码信息,若国家代码发生变化,物联网设备向云计算服务器请求获取发生变化的国家代码的初始位置信息,云计算服务器应答当前国家当前代码初始位置给物联网设备,物联网设备接收到数据后进行解析和存储;
4)物联网设备采集到有效时间、北斗卫星历书及初始位置后,进行北斗卫星伪码相位计算,物联网设备计算北斗卫星伪码相位,采用对可见北斗卫星的粗捕获和精捕获的方式,得到精度为米级的北斗卫星伪码相位数据;
5)物联网设备向云计算服务器发起云定位请求,并发送北斗卫星伪码相位、时间以及初始位置数据,单次云定位的数据量为56~140字节,发送的数据结构如下表1所示:
表1
云计算服务器接收到物联网设备云定位请求后,配合当前北斗卫星星历数据使用最小二乘法进行物联网设备的位置、速度和时间计算,并将计算结果存储到云数据库供其他应用使用,并将物联网设备的位置、速度及时间信息发送 给物联网设备。
最后应说明的是:以上所述的实施例仅用于说明本发明的技术方案,上述实施例是本方案的推荐实施例,而非对其限制,本方案同样适用于GPS、Galileo、GLONASS等卫星导航系统,因此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换,而这些修改或替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。