1、现代计算机Modern Computer第 29 卷 第 12 期2023 年 6 月 25 日基于SSM框架的无人机监管系统赵志文,郝东来*,李民靖(西京学院计算机学院,西安 710123)摘要:针对传统无人机管理方式难以应对当下无人机团队规模的日益增长的问题,设计了一个基于SSM和Vue框架、MySQL数据库的无人机监管系统,实现了无人机团队管理者对无人机以及无人机飞手的管理、历史飞行记录的完整保存和无人机飞行监控等功能。有效提高了无人机团队的合作效率和无人机作业效率,同时保障了无人机的飞行安全、遏制了无人机的违法飞行。关键词:无人机监管;SSM;Vue;MySQL数据库文章编号:1007
2、1423(2023)12008405DOI:10.3969/j.issn.10071423.2023.12.015收稿日期:20230227修稿日期:20230402基金项目:陕西省重点研发计划一般项目(2022GY118);西安市科技局科技计划项目(22GXFW0149):基于深度学习的无人机智能侦测与反制系统研究与开发;西安市科技局先进制造业技术攻关项目(2021JH060069)作者简介:赵志文(1999),男,江苏扬州人,硕士,研究方向为智能硬件开发与应用、计算智能技术与应用;*通信作者:郝东来(1974),男,陕西咸阳人,博士,副教授,研究方向为智能硬件开发与应用、计算智能技术与应用
3、,Email:;李民靖(1999),男,江苏泰州人,硕士研究生,研究方向为智能硬件开发与应用、计算智能技术与应用0引言近十年来,无人机的行业应用迅速发展,在公共安全行业的执法、应急,石油与天然气行业的勘探、检测,电力行业的巡检、规划设计和测绘行业的工程测绘等领域发挥出重大作用1。然而随着这些无人机组织团队的不断扩大,无人机和飞手的管理成为难题,同时也出现了违法飞行的恶性事件。为了解决这些问题,设计了一个基于B/S架构的无人机监管平台来满足用户管理无人机、飞行团队以及保存完整历史飞行记录的需求,确保现场飞手和后方分析人员紧密合作,发挥组织协调的力量,同时对无人机进行有效监管。1相关技术介绍本系统
4、基于B/S架构,相比于C/S架构,其成本更低、适用性更强,用户可以通过任意的浏览器来登录系统,无需安装特定的软件,并且该系统基于前后端分离技术进行开发,其中后端采用 SSM(Spring+SpringMVC+MyBatis)框架进行开发,前端采用Vue框架进行开发。1 1.1 1SSMSSM框架技术框架技术1 1.1 1.1 1SpringSpring框架框架Spring是一个轻量级的容器框架2,主要的作用是对其他的框架进行整合和管理,Spring的核 心 模 块 包 括 控 制 反 转(IOC)和 切 面 编 程(AOP),其中IOC是具有依赖注入功能的容器,AOP 可以给程序动态统一添加某
5、种特定功能。图1为Spring的执行流程。IOC(控制反转)AOP(切面编程)JDBCTemplate声明式事务使用到使用到Spring核心内容图 1Spring执行流程 84赵志文等:基于SSM框架的无人机监管系统第12期1 1.1 1.2 2SpringMVCSpringMVC框架框架SpringMVC 是 一 个 基 于 Spring 的 Web 层MVC框架,接管了Web层的组件,比如控制器、视图解析和返回给用户的数据格式,无论是从易用性还是效率上都比曾经流行的Struts框架更完善。图2为SpringMVC的执行流程。前端控制器(DispatcherServlet)处理器映射(Han
6、dlerMapping)视图解析器(ViewResovler)处理器适配(HandlerAdapter)处理器(Handler)浏览器(Browser)3.返回处理器执行链2.调用处理器映射8.调用视图解析器9.返回View6.返回ModelAndView5.调用Handler1.发出请求10.返回响应图 2SpringMVC执行流程1 1.1 1.3 3MyBatisMyBatis框架框架MyBatis是一个用来简化数据库操作的持久层框架。MyBatis框架在Java代码和数据库代码之间提供了更加灵活的映射方案,MyBatis可以将对数据库的操作代码直接剥离写入XML配置文件从而实现与 Ja
7、va代码的解耦。以下为 Java以MyBatis方式操作数据库的执行流程。图3为SpringMVC的执行流程。MyBatis框架mybatis.xml数据库(DB)mapper.xmlJDBCAPI应用(Application)图 3MyBatis执行流程1 1.2 2VueVue框架技术框架技术Vue3是一个易于构建用户界面的前端框架,Vue的核心库只关心视图层,Vue框架使用简单并易于与第三方库或者项目来进行整合,Vue 采用MVVM架构将传统的DOM操作进行封装,使得开发人员更多关注在操作Model上,大大提高了开发效率,图4为Vue的MVVM架构图。ViewModelModelDOM
8、ListenersDATA BindingsViewVue图 4MVVN架构2系统设计系统总共分为人员管理、无人机管理、飞行记录、故障维修记录、无人机实时航迹监控、无人机实时画面回传监控六大模块。可以满足用户监控无人机、管理飞行任务、飞行人员、保存历史飞行记录和维修记录的需求。图5为系统的整体架构图。无人机监管系统人员管理无人机实时航迹监控飞行记录故障维修记录无人机管理增加飞行员增加管理员删除飞行员删除管理员人员权限更改增加无人机信息修改删除无人机查看故障维修记录查看飞行记录固件更新无人机实时画面回传监控删除记录修改记录删除记录修改记录图 5系统整体架构2 2.1 1人员管理模块人员管理模块该
9、系统中的人员管理模块可以大幅度提高无人机团队的组织和沟通效率,该模块为人员设计了两个基于用户角色的权限,分别为管理员(administrator)和飞手(pilot),其中管理员可以掌管整个项目,进行人员的增加删除、人员的权限设定和更改,并且进行团队组建以及指定、管理飞手。2 2.2 2无人机管理模块无人机管理模块无人机管理模块提供了无人机团队中所有的可用的无人机,并且为管理员提供了无人机的添加和删除的功能,可以根据项目和无人机作业的环境需要选择合适的无人机型号并且添加相应的能够应对该任务的无人机,管理员可以进一步为每一架无人机指定相应的无人机飞手。在该界面,管理员可以看见每一台无人机 85现
10、代计算机2023年的具体设备信息,例如该无人机的制造厂商、无人机型号、无人机的固件版本、无人机的故障维修记录、无人机的飞行记录、无人机的拥有者,其中后三项均可以超链接的形式链接到相应的页面。2 2.3 3无人机的飞行记录和故障维修记录模块无人机的飞行记录和故障维修记录模块无人机的飞行记录模块提供了无人机每一次历史飞行记录,管理者可以查看具体的每一次飞行记录,例如无人机的起飞地点、无人机的降落地点、无人机的飞行时间等,而无人机的故障维修记录模块提供了无人机的每一个故障以及维修的详细信息,例如故障发生时间,故障发生原因、故障发生地点、维修时间、维修结果、维修费用,等等。2 2.4 4无人机实时航迹
11、监控模块无人机实时航迹监控模块无人机的实时航迹监控模块为管理者提供了实时的无人机监测功能,在地图或者卫星图片上,管理者可以查看无人机飞行轨迹、无人机的飞手成员的位置、无人机的状态,以此来实现团队的信息共享。在飞行数据的获取方面,利用无人机厂商提供的API接口来获取飞行过程的实时飞行参数信息。在接入方式上,平台支持基于无人机飞控设备的SDK、国标GB/T28181、平台等方式来获取无人机的飞行数据4。2 2.5 5无人机实时画面回传监控模块无人机实时画面回传监控模块通过无人机的图传信号与该平台实现数字对接,该模块可以将每台无人机的实时摄像头画面通过图传信号传送至网页端,并且可以查看具体的摄像头的
12、拍摄参数,例如光圈、ISO、曝光等,这样无人机团队的管理者便可以在较低的延迟下通过网页来查看无人机的高清画面直播,了解无人机的一线动态,实时掌控全局以便给无人机成员发送合适的指令,完成无人机的飞行任务。3数据库设计ER图5也叫做实体关系图,是一种用来表示各个实体之间的关系的图。ER图清晰展示了各个实体的类型、包含的属性和相应的方法,是一种表述现实世界的模型,后续的数据库设计可以依照ER图来实现。根据无人机监管系统的系统设计以及功能需求,该系统数据库的设计主要涉及无人机信息、用户、无人机飞行记录、无人机故障维修记录四个实体,其中无人机信息、无人机飞行记录和无人机故障维修记录构成一对多(1 N)的
13、关联关系,无人机信息与用户则构成一对一(1 1)的关联关系,该系统的ER图关系如图6所示。无人机无人机ID制造厂商型号固件版本1操控1人员用户ID用户名用户密码手机号码用户角色1产生N飞行记录无人机ID起飞时间起飞地点降落地点1拥有N故障维修记录故障原因故障发生地点故障发生时间无人机ID用户邮箱用户状态用户无人机ID注册时间登录IP购买时间购买价格飞行里程飞行时间备注是否维修维修时间维修地点维修价格图 6系统全局ER图根据该 ER图关系,选择 MySQL数据库作为后台的数据库,因为MySQL数据库性能出色、体积较小、支持多平台操作系统,作为一款开源数据库软件无需担心版权的限制。其中MySQL数
14、据库的主要数据库表如下:3 3.1 1人员信息表人员信息表(useruser)人员信息表主要用于保存无人机用户的信息,该数据库表格主要的字段包括:用户 ID、用户名、用户密码、用户手机号码、用户角色(用int的数据结构来表示,1表示管理员,2表示无人机飞手)、用户邮箱、用户状态、用户无人机ID、注册时间、登录IP。表的结构见表1。表 1人员信息表(users)列名passworduser_phoneuser_roleuser_emailuser_stateuser_uaviduser_register_timeuser_login_ip数据类型varcharvarcharintvarchari
15、ntvarchardatetimevarchar允许空否否否是是是是是是否主键否否否否否否否否注释用户密码用户手机号码用户角色用户邮箱用户状态用户无人机ID注册时间登录IP 86赵志文等:基于SSM框架的无人机监管系统第12期3 3.2 2无人机信息表无人机信息表(uavuav)无人机信息表主要用于查看无人机的基本信息,包括无人机的ID、制造厂商、具体型号、固件版本、购买时间、购买价格、飞行记录、故障维修记录。其中无人机的飞行记录以及无人机的故障维修记录可以通过该无人机的ID超链接到单独的无人机飞行记录和无人机的故障维修模块来通过无人机的ID进行查询。表的结构见表2。表 2无人机信息表(uav
16、)列名uaviduav_makeruav_typefirmware_versionuav_purchase_timeuav_price数据类型varcharvarcharvarcharvarchardatetimedecimal允许空否否否否是否是否主键是否否否否否注释无人机ID制造厂商型号固件版本购买时间购买价格3 3.3 3飞行记录表格飞行记录表格(flightflight)无人机的飞行记录表主要来进行查询无人机的历史飞行信息,包括无人机的飞行时间、起飞地点、降落地点、飞行里程、飞行时间、备注。表的结构见表3。表 3飞行记录表格(flight)列名uaviddeparture_timeta
17、ke_off_placelanding_siteflight_mileageflight_timeremarks数据类型varchardatetimevarcharvarchardecimaltimevarchar允许空否否否否否否是是否主键否否否否否否否注释无人机ID起飞时间起飞地点降落地点飞行里程飞行时间备注3 3.4 4故障维修记录表故障维修记录表(errorerror)无人机的故障维修记录表用来保存每个无人机的历史故障和维修记录,包括故障发生时间地点、故障原因、是否进行维修(1代表维修,2代表未维修)、维修的时间地点和价格。表的结构见表4。表 4故障维修记录表(error)列名uavi
18、dfailure_timefailure_locationfailure_reasonrepair_or_notrepair_timerepair_locationmaintenance_price数据类型varchardatetimevarcharvarcharintdatetimevarchardecimal允许空否否否否否是是是是否主键否否否否否否否否注释无人机ID故障发生时间故障发生地点故障原因是否维修维修时间维修地点维修价格4系统实现该系统采用标准的MVC模式来实现后端的功能,分为 Dao 层、Service 层和 Controlller 层,具体步骤如下:(1)在Dao层创建对应于
19、数据库表格的JavaBean类,设计好相应的JavaBean属性的数据类型,并且提供相应的构造器、SET和 GET方法以及为每一个属性设置相对应的验证注解,保证数据格式的正确;(2)使用IDEA工具通过MyBatis的逆向工程功能生成相对应的mapper文件,相比于传统的程序员手写所有的SQL语句方法,MyBatis的逆向工程功能可以省去手写SQL语句的过程,自动生成相应的、基本的增删改查的SQL语句;(3)在Service层创建对应Dao层的实现接口以及该接口的实现类,在接口中定义需要实现的方法,在接口的实现类中,分别调用 Dao层的方法来实现接口,最后,在Controller层,调用Ser
20、vice对象的方法响应前端的请求,并且通过添加注释的方法指定方法的访问路径以满足数据格式的要求。系统通过 Vue3来实现可视化的前端界面,并且通过 Element Plus 这个基于 Vue3 的开发者组件辅助,后者是一个基于 Vue 3 的 UI 框架,开发者可以通过该平台轻松实现表单、导航、反馈等各类组件。采用Element的登录组件实现的登录界面如图7所示。87现代计算机2023年图 7系统登陆界面图8是无人机管理模块,无人机的信息全部被展示出来,每个无人机的飞行记录、所属人员、故障维修记录也可以通过超链接跳转到相应的页面,以便进行详细地查看。图 8系统相应界面该系统采用Postman工
21、具来进行网页功能测试,首先创建一个新的Request,其次为本次的访 问 设 置 相 应 的 Request 类 型,例 如 GET、POST、DELETE,如果该数据还需要带有数据,设置相应的数据类型以及正确的测试数据,最后通过Send发送并查看返回的信息是否正常。最后为SSM后端项目配置正确的Tomcat服务器来实现正常的启动,为前端项目设置正确的npm工具实现前端项目的正常启动,并且实现前端以及后端的正常跨域访问。5结语本文基于SSM框架、前端Vue框架、MySQL数据库、Postman 测试工具、Maven 包管理器,使用Java语言完成了一个无人机监管系统。为当前无人机团队的管理沟通
22、和监管问题提供了一个解决思路,一定程度上解决了无人机团队工作效率低、飞行数据不安全不透明的问题。但本系统依然有所欠缺,后期将改善无人机的航迹展示功能,致力于提供更低延迟、更详实的数据。参考文献:1 周晓峰.无人机的新赛道,为千行百业插上“翅膀”N.青岛日报,20221226(3).2 赵静.基于 SSM+VUE 框架的企业合规管理系统J.数字通信世界,2022(11):1719.3 黄加伟,夏兴,冯子潇.基于SSM+VUE框架的楼宇电能综合管控系统 J.计算技术与自动化,2022,41(1):184188.4 张玄.新型消防应急通信无人机管控平台设计研究J.中国新通信,2022,24(15):
23、13.5 王柯,周祎,纪雯烩.基于SSM框架的IT知识学习交流平台的设计与实现 J.电子制作,2022,30(13):5257.UAV monitoring system based on SSM frameworkZhao Zhiwen,Hao Donglai*,Li Minjing(School of Computer Science,Xijing University,Xi an 710123,China)Abstract:The research on the UAV industry found that despite the rapid development of UAV te
24、chnology and the rapid increase of industry applications,the management problems of UAVs have become increasingly prominent.The traditional UAV management mode is difficult to meet the growing size of the current UAV team.Based on this,a UAV monitoring system based on SSMand Vue framework and MySQL
25、database technology is designed,it realizes the management of UAV and UAV pilots,the completepreservation of historical flight records and UAV flight monitoring by the team manager of UAV.It has effectively improved the cooperation efficiency of the UAV team and the operation efficiency of the UAV,at the same time,it has guaranteed the flight safetyof the UAV and curbed the illegal flight of the UAV.Keywords:UAV supervision;SSM;Vue;MySQL database 88