关于大疆OSDK开发前,如何配置,官网或者其它博客都有比较详细的介绍,这里推荐一篇博文:DJI M210 RTK V2 + manifold2 Onboad-SDK开发流程及踩坑合集(一)
结合官网Doc看即可。
我这的目的是让初学者知道何为OSDK开发,然后能迅速进入角色。

  1. 什么是OSDK开发
    OSDK我们知道叫Onboard SDK,这个Onboard 就是搭载在无人机上一台微型电脑,跟普通的电脑基本没差别,就是体积小点,cpu/内存差点等,毕竟的它需要的功能单一,目的就是通过串口和usb口来控制无人机。其实更适合看成一台带SIM卡的平板电脑(SIM卡主要用来提供网络)。Onboard系统一般是ubuntu,OSDK开发其实就是linux上的网络开发,接收远端的命令或者数据,然后调用OSDK来将命令和数据传到无人机,以控制无人机操作。所以实际上的OSDK,就是要在这台微小的机载电脑上编程。

  2. 前期的开发其实可以在任何电脑上进行
    OSDK本身是Linux C++程序,因此,OSDK开发前期是可以在任意linux系统上开发的,同机载电脑上开发一样,它需要下载啥第三方,你就配置好相关第三方lib即可,然后下载OSDK到你的Linux系统上,按照DOC上的提示make && make install,你的代码就可以引用OSDK相关lib与头文件(需要在Cmake中配置好)。
    当然,在其它电脑上开发只能用来编译代码是否有问题,功能部分测试,只能测试与OSDK无法的部分。OSDK相关部分的调式还是需要机载电脑和链接无人机调试。

  3. 实例—无人机远程监控
    条件:监控服务器有固定IP(如果没有固定IP,需通过云转换,这样延迟毕竟大)
    lib:考虑实时性,这里考虑使用websocket,这里使用Linux C++库,websocketpp

  1. 首先新建一个cmake工程:Linux下新建一个目录然后配置好cmake
    2)将大疆OSDK与websocketpp都下载到该目录下,OSDK需要编译安装,注意将OSDK中的CMakeLists.txt中的sample编译部分注释掉,
#if (${CMAKE_SYSTEM_NAME} MATCHES Linux)
#  add_subdirectory(sample/platform/linux)
#endif()

然后对OSDK进行编译安装(参考官方文档)
3)重新配置项目的CMakeLists.txt,将OSDK与websocketpp包含进去。
OSDK部分,参考sample下的CMakeLists.txt修改即可,不过我发现部分link_libraries不起作用,得放到target_link_libraries中:

#link_libraries(dji-lin

DJI OSDK开发实例篇(针对初学者, Linux C++)相关推荐

  1. DJI OSDK开发笔记(N3飞控)(1)——开发工作流程

    DJI OSDK开发笔记(N3飞控)(1)--开发工作流程 API层次结构 硬件设置 一般设置 数据 串口 连接器引脚排列 连接到记载计算机 软件环境设置 所有平台 下载SDK和所需工具 更新固件 启 ...

  2. 史上接近最完整的选择屏幕开发知识(针对初学者)(还有下拉菜单的实现)

    选择屏幕的开发知识无非就是围绕这3个点:PARAMETERS        SELECT-OPTIONS               SELECTION-SCREEN (一)PARAMETERS:为变 ...

  3. Android应用开发实例篇(1)-----简易涂鸦板

    一.概述 这次要做一个简单的涂鸦板应用,以前在Qt上实现过,突然想到要把它在Android上实现,呵呵,既简单又有趣. 二.实现 新建工程MyWall,修改/res/layout/main.xml文件 ...

  4. 如何在多线程中调用winform窗体控件2——实例篇

    如何在多线程中调用winform窗体控件2--实例篇 针对之前文章<如何在多线程中调用winform窗体控件>,下面举个我项目中的实际案例,这是一个我自定义控件在异步设置焦点时的代码.在新 ...

  5. dji psdk开发(5)SDK互联互通功能MopChannel

    文章目录 1.基本概念 1.1.传输方式 1.2.对象指定 1.3.通道带宽 2.通信示例 2.1.PSDK提供的API接口 2.2.sample代码 2.2.1.初始化部分 2.2.2.发送数据线程 ...

  6. Linux USB 驱动开发实例(七)—— 基于USB 总线的无线网卡浅析

    回顾一下USB的相关知识 USB(Universal Serial Bus)总线又叫通用串行外部总线, 它是20世纪90年代发展起来的.USB接口现在得到了广泛的应用和普及,现在的PC机中都带有大量的 ...

  7. AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

    开篇 上篇我们讲述了报表开发的独立开发与基于平台的开发二种方式,相信大家已经对报表开发有了一定的了解,那么我们本篇将会巩固大家对报表开发的知识,我们这里提供一 个我们平时在项目中应用到的一些关于报表开 ...

  8. poll接口《来自Linux驱动程序开发实例》

    您所在的位置:读书频道 > 操作系统 > Linux > 1.2.7 poll接口 1.2.7 poll接口 2012-05-22 13:38 冯国进 机械工业出版社 我要评论(0) ...

  9. 异步通知《来自Linux驱动程序开发实例》

    您所在的位置:读书频道 > 操作系统 > Linux > 1.2.8 异步通知 1.2.8 异步通知 2012-05-22 13:38 冯国进 机械工业出版社 我要评论(0) 字号: ...

  10. Linux嵌入式系统开发之Led开发——应用篇(一)

    与Linux嵌入式系统开发之Led开发--驱动篇(一),对于的应用篇 看看咱们的开发板,有四个led灯,对吧,这次就是向办法用程序来点亮它,请看下边的代码: #include <stdlib.h ...

最新文章

  1. shelve 之VS. pickle
  2. U-BOOT的目录结构
  3. 能量视角下的GAN模型:GAN=“挖坑”+“跳坑”
  4. 三个好用的并发工具类
  5. 小故事分享:千里马与苍蝇的故事
  6. OpenHarmony移植案例与原理:如何适配服务启动引导部件bootstrap_lite
  7. github 上 Fork 别人的项目后的常用的操作指南
  8. 使用OLE DB方式连接常用数据库的连接字符串的设置
  9. 查询oracle 数据库中回滚段中一个时间点被修改的表数据并还原表中原来数据
  10. ip地址怎么设置才有效_如果想减肥,怎么拆解目标才是有效的?
  11. python requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine('HTTP/1.1 000\r\n'
  12. 懒人用日志分析-awstats的docker应用
  13. 如何让循环里面语句执行完之后再去循环第二次_Go循环语句的使用
  14. Oracle基础视频教程
  15. 进程的初步认识(程序与进程、并发、单道程序设计、多道程序设计、CPU、MMU)
  16. 算加权成绩(MATLAB)
  17. RS485两台设备用了半年,今天突然没数了,并上串口一直时不时有多余FF等乱码输出。单独串口接电脑试都正常,共地就正常了
  18. 大学计算机课程制作生日卡片,计算机《制作生日贺卡》教学设计.doc
  19. 腾讯位置服务模仿微信发送位置功能
  20. C++虚函数概念及使用(基础)

热门文章

  1. 实用的网站分享,值得你收藏
  2. 2022-2028年中国自助售货行业投资潜力分析及发展前景展望报告
  3. mongoDB的学习【小白的福音】
  4. c#实现共享文件到本地文件的移动
  5. 爱立信以新的专利所有者身份加入Sisvel的DSL许可计划
  6. 全球及中国PCB航空连接器行业发展动态与投资潜力评估报告2021-2027年版
  7. 谈谈流程开发中的浪费
  8. 启动mysql 1067错误是杀_手动启动mysql服务出错,1067错误,如何解决呢?
  9. 【重新安装CAD2020时遇到错误1625:系统策略禁止这个安装,请与系统管理员联系。怎么解决?】
  10. 干货送上:专访 Libraone 社区成员 TokenClub