无人机智能巡检软件设计

无人机智能巡检软件设计

研究生期间做的一个项目,第一次接触Android应用开发,自学了Java和Android,也学习了计算机 络相关的知识,过程虽然曲折总的来说收获满满,下面就总结一下。

1.项目简介

无人机智能巡检APP基于DJI Mobile SDKDJI UX SDK开发,开发平台为Android系统,开发工具为Android Studio 3.5,编程语言为java,适配无人机型 为M300RTK无人机,Mobile SDK和UX SDK版本均为4.13.1。主要功能是实现面向光伏电站的无人机自动巡检。为确保安全,飞行之前需要在DJI Assistant 2 For Matrice软件里进行飞行轨迹的仿真。

2.软件功能

  • 无人机自动巡线飞行

    • 通过Android文件管理器,从外部导入Json格式航点文件,并将航线轨迹显示到高德地图上。
    • 在高德地图上手动规划航线,支持手动选点飞行,也可以圈定区域自动生成蛇形巡检航线,可以任意调整航线的角度。
    • 断点续飞:在飞行任务的执行过程中,设置一个航点监听器,实时记录下飞过的航点数。如果遇到外部影响需要暂停飞行任务时,通过sharedPreferences记录下断点,待想要继续执行未完成的任务时,重新导入文件,自动读取断点,从断点位置继续执行任务。
  • 无人机飞行数据实时传输

    • 根据Mobile SDK API获取无人机各种参数信息(经纬度,海拔,电量,信 强度,风速、姿态角等)。
    • 将飞行数据显示到软件界面上。
    • 通过UDP协议,将飞行数据以Json 文形式发送到指定IP地址的服务器端。
    • 服务器端编写接收UDP 文的程序,自动保存为文件。
    • 通过OkHttp获取服务器指令信息,然后执行对应的函数,实现远程遥控。
  • 无人机视频码流实时获取

    • 无人机FPV及H20T三镜头视频流获取和显示(FPVWidget,TextureView),以自定义View的形式放到界面布局里。
    • 录屏:通过Android提供的MediaProjection和MediaCodec实现。
    • 视频流实时推送
      • 基于Nginx+RTMPmodule 搭建流媒体服务器
      • 通过SDK推流(RTMP协议)到指定地址。
      • 直播拉流:1.主流直播平台如斗鱼,虎牙,抖音,哔哩哔哩等。2.手机端“易推流”软件。3.浏览器使用Video.JS播放。4.windows软件VLC拉流。

3.软件效果展示

软件借鉴了 上很多优秀的代码,结合了自己的想法和理解,同时也离不开同时实验室师兄的帮助。由于时间和精力的限制,软件没有再进一步优化,软件架构也只是用了Android原生的MVC架构,等到以后学习了新技术,一定重构这个软件的架构,同时全面优化性能和界面。拭目以待!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月27日
下一篇 2021年7月27日

相关推荐