大疆无人机M100的onboard sdk开发-激活(linux平台)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linux_0416/article/details/85998210

上面一篇基于QT平台的OSDK开发,这里研究一下linux平台的OSDK开发,硬件连接和前期工作参考上篇即可,这里不做过多说明;

进行OSDK开发的准备工作:

https://developer.dji.com/onboard-sdk/documentation/sample-doc/sample-setup.html#before-you-start

先进行硬件连接,确保你在遵循这些步骤硬件设置指南让您的连接正确。https://developer.dji.com/onboard-sdk/documentation/development-workflow/hardware-setup.html

运行OSDK的处理器叫做onboard computer ,飞行器叫做Dji aircraft。

首先说一下M100的相关协议,连接如下:

https://developer.dji.com/cn/onboard-sdk/documentation/protocol-doc/open-protocol.html

其次言归正传,说说linux平台的OSDK:

从github中下载onboard sdk包,https://github.com/dji-sdk/Onboard-SDK。 

目前的最新版本是3.7,

1.下载开发包

2.如果没有安装git的话请先安装git,安装过的跳过

sudo apt-get install git

3.打开一个终端,Building the OSDK and Samples

下载好源码之后进入源码

cd Onboard-SDK
编译SDK

mkdir build
cd build
cmake ..
make

注意cmake一定要有两个. 也就是cmake..

make 结束,在build文件下生成如下:

4.配置 进入build文件夹下,将配置文件复制进bin/目录下

cp ../sample/linux/common/UserConfig.txt bin/
打开用户配置文件UserConfig.txt

5.打开配置文件UserConfig.txt ,在相应位置填写App ID, Key, Baudrate and Port name in the designated places.

vim UserConfig.txt

vim编辑器打开后显示如下:

app_id : your_app_id_here   //App ID
app_key : your_key_here     //Key
device : /dev/ttyUSB0   //USB连接飞控后在电脑中显示的串口名称
baudrate : 230400   //在 DJI Assitant 2 中修改的波特率

app_id 和 app_key需要注册成为DJI开发者Level 2级开发者后可以看到
进入http://www.dji.com/cnDJI官网,往下拖动网页,在右下角点击开发者进行注册。

在注册完毕并通过审核之后,点击下图中的图标既可得到你的app_id和app_key.

例如:
app_id : 1027xxx                                                   
app_key : 4ec5625bb6de9875b844cb8f8937012b21caeba708dcc8089995b4c78e8xxxxx
device : /dev/ttyUSB0
baudrate : 115200

6.运行Linux sample ,以飞控演示为例,Samples (e.g. flight control sample) 

cd bin
./djiosdk-flightcontrol-sample UserConfig.txt

成功运行后,会提示你数据命令,这时你需要讲遥控器拨到F档,然后输入命令

随便输入a或者b

 即可看到飞机开始运动,切记要把机桨取下来,注意安全。

可能遇到的问题

1.串口打开失败

解决方案
有可能是因为没有将串口的权限开放出来
查看USB转串口模块的标号

ls -l /dev |grep ttyU

通过上图可以看出来串口的标号是ttyUSB0,接下来将该串口的权限开放:

sudo chmod 666 /dev/ttyUSB0
 

2.其他问题


参考文献:https://blog.csdn.net/qq_16775293/article/details/78144156

解决方案
1)检查是否在DJI Assistant 2软件上勾选开发者选项,并且检查在本文前面修改的波特率和DJI Assistant 2上设置的是否一致。

2)在使用Onboard SDK前,遥控器连接手机,手机连网,然后在软件DJI GO上面登陆进行激活。
3)最好跑程序的时候就讲遥控器打开,并拨到F挡位。
4)记得我们用的是USB转串口模块,从飞机机身 UART_CAN2接口都的数据,使用的是官方送的三根的数据线,RT,TX记得对调,而不是使用USB线直接从飞机机身连接到电脑


 

猜你喜欢

转载自blog.csdn.net/linux_0416/article/details/85998210