通信网关、无人机通信装置、无人机地面监控系统和方法
技术领域
本发明涉及无人机技术领域,特别涉及一种通信网关、无人机通信装置、无人机地面监控系统和方法。
背景技术
随着无人机行业的兴起,对于无人机的各种应用的研究也随之兴起。例如,消防、监控、农业以及快递等领域都在展开对无人机应用的探索。
目前,对于无人机的使用大多仅限于少量无人机的应用测试,并没有大范围的推广使用,并且无人机大多由用户本身自行控制和监测。
发明内容
发明人发现,现有技术中对于大量无人机进行监控的研究极少,并且无人机飞行环境复杂,如何有效的对大量无人机进行监控,是亟待解决的问题。
本发明所要解决的一个技术问题是:如何有效的对大量无人机进行监控。
根据本发明的一个实施例,提供的一种通信网关,包括:接收模块,被配置为接收无人机发送的数据包;安全验证模块,被配置为根据预定义的通信协议对数据包进行安全验证;发送模块,被配置为在数据包安全验证通过的情况下,将数据包发送至中心服务器进行处理。
在一个实施例中,安全验证模块被配置为识别数据包中协议版本标志,在协议版本不符合预定义的通信协议的情况下确定安全验证不通过,并将无人机不符合预定义的通信协议的数据包的计数加1,在无人机不符合预定义的通信协议的数据包的数量达到预设数量的情况下,断开与无人机的链接。
在一个实施例中,该通信网关还包括:心跳检测模块,被配置为识别数据包中的消息类型标识,在消息类型为心跳数据包的情况下,更新心跳检测计时器重新计时,在心跳检测计时器计时达到预设时间的情况下,确定与无人机链接中断。
在一个实施例中,该通信网关还包括:数据包处理模块,被配置为识别数据包中序列号,在接收到的相邻的数据包中的序列号不连续的情况下,确定丢包。
根据本发明的另一个实施例,提供的一种无人机地面监控系统,包括前述任一个实施例中的通信网关,还包括:中心服务器,被配置为对通信网关发送的数据包进行解密和解析,将解析获得的飞行数据发送至监控中心;监控中心,被配置为根据飞行数据确定无人机飞行相关信息,并将无人机飞行相关信息现给对无人机具有监控权限的用户。
在一个实施例中,中心服务器被配置为识别数据包中的无人机标识,根据无人机标识查找对应的密钥,利用密钥对数据包中的有效载荷进行解密。
在一个实施例中,中心服务器还被配置为在对数据包中的有效载荷解密失败的情况下,通知通信网关断开与无人机的链接。
在一个实施例中,监控中心根据用户登录的用户标识确定用户的监控权限。
在一个实施例中,监控中心还被配置为将与无人机对应的空域管理信息呈现给对无人机具有监控权限的用户。
根据本发明的又一个实施例,提供的一种无人机通信装置,包括:数据封装模块,被配置为根据预定义的通信协议将飞行数据封装为数据包;发送模块,被配置为将封装后的数据包发送至无人机地面监控系统,以便无人机地面监控系统接收到数据包后根据预定义的通信协议对数据包进行安全验证后再进行处理。
在一个实施例中,该无人机通信装置还包括:加密模块,被配置为利用与本无人机唯一对应的密钥对飞行数据进行加密,将加密后的飞行数据发送至数据封装模块。
在一个实施例中,数据封装模块,还被配置为每隔预设周期根据预定义的通信协议封装心跳数据包,心跳数据包中消息类型标识为心跳数据包标识,有效载荷字段为空。
根据本发明的再一个实施例,提供的一种无人机地面监控方法,包括:接收无人机发送的数据包;根据预定义的通信协议对数据包进行安全验证;在验证通过的情况下,对数据包进行解密和解析获取无人机的飞行数据;根据飞行数据确定无人机飞行相关信息,并将无人机飞行相关信息现给对无人机具有监控权限的用户。
在一个实施例中,对数据包进行安全验证包括:识别数据包中协议版本标志;当协议版本不符合预定义的通信通信协议时,确定无人机安全验证不通过;将无人机不符合预定义的通信通信协议的数据包的计数加1;当无人机不符合预定义的通信通信协议的数据包的数量达到预设数量时,断开与无人机的链接。
在一个实施例中,该方法还包括:识别数据包中的消息类型标识;如果消息类型为心跳数据包,更新心跳检测计时器重新计时;如果心跳检测计时器计时达到预设时间,确定与无人机链接中断。
在一个实施例中,对数据包进行解密包括:识别数据包中的无人机标识;根据无人机标识查找对应的密钥,利用密钥对数据包中的有效载荷进行解密。
在一个实施例中,对数据包进行解密还包括:如果对数据包中的有效载荷解密失败,则断开与无人机的链接。
在一个实施例中,用户的监控权限是根据用户登录的用户标识确定的。
在一个实施例中,该方法还包括:根据无人机的飞行数据向空域管理系统获取对应的空域管理信息;将与无人机对应的空域管理信息现给对无人机具有监控权限的用户。
根据本发明的又一个实施例,提供的一种无人机地面监控装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器设备中的指令,执行如前述任一个实施例的无人机地面监控方法。
根据本发明的再一个实施例,提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例的无人机地面监控方法的步骤。
本发明中无人机与通信网关之间通过预定义的通信协议进行通信,可以实现对无人机的统一监控,支持大量无人机的监控,同时,通信网关通过预定义的通信协议对无人机进行安全验证,避免了一些干扰和非法信息的接收,提高了无人机监控的安全性和有效性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明的一个实施例的无人机地面监控装置的结构示意图。
图2示出本发明的另一个实施例的无人机地面监控装置的结构示意图。
图3示出本发明的一个实施例的通信网关的结构示意图。
图4示出本发明的一个实施例的无人机通信装置的结构示意图。
图5示出本发明的一个实施例的数据包格式的结构示意图。
图6示出本发明的一个实施例的无人机地面监控系统的结构示意图。
图7示出本发明的一个实施例的无人机地面监控方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明主要针对无人机的监控问题,提出一种对无人机进行监控的通信网关、无人机地面监控系统、无人机通信装置以及无人机地面监控方法和装置。
本发明的实施例中的无人机地面监控装置可各由各种计算设备或计算机系统来实现,下面结合图1以及图2进行描述。
图1为本发明无人机地面监控装置的一个实施例的结构图。如图1所示,该实施例的装置10包括:存储器110以及耦接至该存储器110的处理器120,处理器120被配置为基于存储在存储器110中的指令,执行本发明中任意一个实施例中的无人机地面监控方法。
其中,存储器110例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图2为本发明无人机地面监控装置的另一个实施例的结构图。如图2所示,该实施例的装置20包括:存储器210以及处理器220分别与存储器110以及处理器120类似。还可以包括输入输出接口230、网络接口240、存储接口250等。这些接口230,240,250以及存储器210和处理器220之间例如可以通过总线260链接。其中,输入输出接口230为显示器、鼠标、键盘、触摸屏等输入输出设备提供链接接口。网络接口240为各种联网设备提供链接接口,例如可以链接到数据库服务器或者云端存储服务器等。存储接口250为SD卡、U盘等外置存储设备提供链接接口。
本发明提供一种与无人机进行通信的通信网关,发明人发现,通信网关作为无人机与地面监控系统连接的第一道关卡,需要保证其可靠性与通用性,即一方面需要保证接收的数据的来源的安全性,另一方面需要实现与大量无人机的连接。下面结合图3对本发明的通信网关进行描述。
图3为本发明通信网关的一个实施例的结构图。如图3所示,该实施例的通信网关300包括:
接收模块3002,被配置为接收无人机发送的数据包。
无人机可以通过WLAN、移动蜂窝网络等与通信网关进行交互。
安全验证模块3004,被配置为根据预定义的通信协议对数据包进行安全验证。
无人机和通信网关之间通过统一的通信协议进行通信,可以实现大量的无人机的监控。
实际应用时,接收模块3002除了无人机发送的数据包还可能会接收到各种干扰数据。需要根据预定义的通信协议对数据包进行安全验证,防止垃圾信息或攻击消息进入后续的数据处理逻辑。预定义的通信协议可以是在TCP(Transmission Control Protocol,传输控制协议)之上的应用层协议。
安全验证模块3004被配置为识别数据包中协议版本标志,在协议版本不符合预定义的通信协议的情况下确定安全验证不通过,并将无人机不符合预定义的通信协议的数据包的计数加1,在无人机不符合预定义的通信协议的数据包的数量达到预设数量的情况下,断开与无人机的链接。
发送模块3006,被配置为在数据包安全验证通过的情况下,将数据包发送至中心服务器进行处理。
进一步的,通信网关还可以包括:
心跳检测模块,被配置为识别数据包中的消息类型标识,在消息类型为心跳数据包的情况下,更新心跳检测计时器重新计时,在心跳检测计时器计时达到预设时间的情况下,确定与无人机链接中断。
通过心跳检测,通信网关可以实时获取无人机的连接状态,及时发现无人机断网或断电等情况,减少无人机丢失的概率。
进一步的,通信网关还可以包括:
数据包处理模块,被配置为识别数据包中序列号,在接收到的相邻的数据包中的序列号不连续的情况下,确定丢包。
进一步的,通信网关还可以包括:
数据压缩模块,被配置为根据无人机的数量以及中心服务器和监控平台的处理能力对数据包进行压缩后发送至发送模块3006。
数据压缩模块可以每接收到预设个数的数据包后,将预设个数的数据包合并为一个数据包发送至发送模块3006,或者,每接收到预设个数的数据包,从中选取一个数据包发送至发送模块3006。
通过对接收到的无人机数据进行压缩可以减少后续数据处理相关装置的压力,提高监控效率。
本发明还提供一种无人机通信装置,下面结合图4进行描述。
图4为本发明无人机通信装置的一个实施例的结构图。如图4所示,该实施例的无人机通信装置400包括:
数据封装模块4002,被配置为根据预定义的通信协议将飞行数据封装为数据包。
发送模块4004,被配置为将封装后的数据包发送至无人机地面监控系统,以便无人机地面监控系统接收到数据包后根据预定义的通信协议对数据包进行安全验证后再进行处理。
进一步的,无人机通信装置400还可以包括:
加密模块,被配置为利用与本无人机唯一对应的密钥对飞行数据进行加密,将加密后的飞行数据发送至数据封装模块。
对飞行数据进行加密,每架无人机对应唯一的密钥,提高飞行数据的安全性。
本发明中无人机根据预定义的通信协议对数据进行封装成为数据包。本发明提供一种根据预定义的通信协议的封装的数据包格式。图5示出按照预定义的通信协议封装的数据包的格式。表1示出按照预定义的通信协议封装的数据包中各字段的字节数说明。下面结合图5和表1所示,对各字段进行说明:
表1
字节索引 |
内容 |
大小(bit) |
0 |
SF |
V1.0:0XF1 |
1 |
Len |
0~255 |
2 |
Seq |
0~255 |
3 |
Menu |
0~255 |
4 |
EmId1 |
0~255 |
5 |
EmId2 |
0~255 |
6 |
EmId3 |
0~255 |
7 |
Msg |
0~255 |
8~8+n(n:0~255) |
PayLoad |
Data |
n+9~n+10 |
CRC |
|
SF:起始标志位SF(Start Flag),SF可以作为协议版本标志,例如以“0xF1”作为该通信协议的协议版本标志。通信网关接收到无人机发送的数据包首先验证数据包是否以“0xF1”开头,如果不是则安全验证不通过。
Len:PayLoad(有效载荷)数据长度,通信网关通过该字段可以计算出整个数据包的长度,便于判断数据包的总长度及计算CRC变量。有效避免TCP粘包半包的发生。
Seq:数据包的序列号(Serial number),无人机每发送一个数据包就会将该字段自动加1,通信网关可以根据该字段是否连续判断是否有丢包。
Menu:厂商ID(Manufacturer ID),该字段是为了兼容不同制作无人机通信装置的厂商。
EmId1:硬件ID1,硬件识别ID,每一个无人机通信装置对应不同的ID值,该字段可以作为无人机标识。
EmId2:硬件ID2,硬件识别扩展ID,可用于填批次号,日期。扩大无人机通信装置ID的个数。
EmId3:硬件ID3,硬件识别扩展ID,同上。
Msg:消息类型标识(message ID),不同的有效载荷对应不同的消息类型标识,即该字段用于识别有效载载荷中的数据内容,例如0表示该数据包为心跳数据包。
PayLoad:有效数据载荷,存储的加密后的飞行数据。
CRC:校验码。
为了兼容不同厂商通信协议格式的差异,PayLoad设置为可变长数据,范围为0~255bytes。最小数据包中可以不包括PayLoad,即数据包大小为10bytes,最大数据包中PayLoad为255bytes,即数据包大小为265bytes。
本发明还提供一种无人机地面监控系统,下面结合图6进行描述。
图6为本发明无人机地面监控系统的一个实施例的结构图。如图6所示,该实施例的无人机地面监控系统60包括通信网关300,还包括:
中心服务器602,被配置为对通信网关发送的数据包进行解密和解析,将解析获得的飞行数据发送至监控中心。
中心服务器602主要完成对数据包的解密、解析以及存储。中心服务器602在序列化方面可以选择protobuf,在数据存储方面可以选择非关系数据库Cassandra。中心服务器602根据预定义的通信协议的字段定义的偏序规则对解密后的数据进行解析。解析完成后进行数据的备份存储,同时进行缓存。
在一个实施例中,中心服务器602被配置为识别数据包中的无人机标识,根据无人机标识查找对应的密钥,利用密钥对数据包中的有效载荷进行解密。不同无人机标识以及对应的密钥预先进行存储。
在一个实施例中,中心服务器602还被配置为在对数据包中的有效载荷解密失败的情况下,通知通信网关断开与无人机的链接。同时,中心服务器602还可以发出报警信息。
监控中心604,被配置为根据飞行数据确定无人机飞行相关信息,并将无人机飞行相关信息现给对无人机具有监控权限的用户。
无人机的飞行数据例如包括:经度、纬度、高度、朝向等。
监控中心604主要完成对无人机飞行相关信息的输出,面向用户。可以对不同的用户进行不同的权限设置。用户标识对应于监控权限,监控中心604根据用户登录的标识获取对应的监控权限,为用户提供与监控权限对应的无人机的飞行相关信息。
监控中心604定时从中心服务器602的缓存中取出解析后的飞行数据,可以结合对应的无人机的历史飞行数据计算无人机剩余的飞行时间和剩余飞行距离等信息,将计算的剩余的飞行时间和剩余飞行距离等信息进行缓存,定时取出推送给用户。推送可以通过websocket完成,可以向用户终端、H5页面等进行推送。
在一个实施例中,监控中心604还被配置为将与无人机对应的空域管理信息呈现给对无人机具有监控权限的用户。
监控中心604可以通过接口从空域管理系统获取与无人机飞行相关的空域管理信息呈现给用户,例如在地图上显示飞行位置附近的禁飞区域等。
监控中心604通过对不同用户设置监控权限,保证了用户的隐私,为用户提供相应的空域管理信息维护了国家的公共安全。
本发明的无人机地面监控系统通过通信网关、中心服务器和监控中心的相互配合实现了无人机数据接收、处理以及对用户的输出,实现了对无人机的统一监控。同时,在各个环节保证了无人机数据传输的安全可靠,保证了用户的隐私,维护了国家的公共安全。
本发明还提供一种无人机地面监控方法,下面结合图7进行描述。
图7为本发明无人机地面监控方法一个实施例的流程图。如图7所示,该实施例的方法包括:
步骤S702,接收无人机发送的数据包。
步骤S704,根据预定义的通信协议对数据包进行安全验证,如果验证通过,则执行步骤S706。
优选的,识别数据包中协议版本标志;当协议版本不符合预定义的通信通信协议时,确定无人机安全验证不通过。
如果验证不通过,则将无人机不符合预定义的通信通信协议的数据包的计数加1,当无人机不符合预定义的通信通信协议的数据包的数量达到预设数量时,断开与无人机的链接。
步骤S706,对数据包进行解密和解析获取无人机的飞行数据。
优选的,对数据包进行解密的方法为:识别数据包中的无人机标识;根据无人机标识查找对应的密钥,利用密钥对数据包中的有效载荷进行解密。
进一步,如果对数据包中的有效载荷解密失败,则断开与无人机的链接。同时,可以发出报警信息。
步骤S708,根据飞行数据确定无人机飞行相关信息,并将无人机飞行相关信息现给对无人机具有监控权限的用户。
用户的监控权限是根据用户登录的用户标识确定的。无人机地面监控系统接收用户的登陆请求,获取用户标识,根据用户标识查找已存储的监控权限,将与监控权限对应的无人机的信息呈现给用户。
在一个实施例中,无人机地面监控系统还可以根据无人机的飞行数据向空域管理系统获取对应的空域管理信息;将与无人机对应的空域管理信息现给对无人机具有监控权限的用户。
在一个实施例中,无人机地面监控系统还可以对无人机进行心跳检测,无人机可以每隔预设时间发送心跳数据包,无人机地面监控系统识别数据包中的消息类型标识;如果消息类型为心跳数据包,更新心跳检测计时器重新计时;如果心跳检测计时器计时达到预设时间,确定与无人机链接中断。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例的无人机地面监控方法的步骤。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。