【大疆无人机OnboardSDK(一)Assistant2仿真系统搭建】
首先:一定要仔细阅读官网给出的说明书!M600用户使用说明,以及妙算2-C使用说明,不然都搞不清哪些线的作用是干什么的,也不清楚飞控上面哪些预留口是正常有用的!
为了想要完成OnboardSDK开发,首先要对其仿真模拟平台进行搭建,大疆自带了Assistant2软件(貌似只有windows和mac版本)该软件可对无人机固件升级,OnboardSDK开发API设置,波特率设置,以及仿真模拟GUI显示无人机飞行姿态等。
大疆M600无人机(A3飞控);
DJI Assistant2下载:https://www.dji.com/cn/downloads/softwares/assistant-dji-2
OnboardSDK下载(注意下载到连接飞控的Ubuntu电脑上才行,我这里下载到妙算2里面了):
重点来了,如何连接线?按照上面的准备工作,查看大疆开发者官网给出的连线示意图:
https://developer.dji.com/onboard-sdk/documentation/development-workflow/hardware-setup.html
官网给出的图其实很清楚:
A3也就是我们M600盖子下面的飞控了,打开顶盖即可发现:
1、而只需要用API接口就行,那我怎么知道API那几个孔端点是啥?所以官网给出了下面示意图来说明:从左往右依次对应:
(我试了USB转TTL之后的波特率也可以自行设置,例如230400。用转接后USB可以随便插妙算任意一个USB口即可,USB对应的设备为ttyUSB0)因此这时需要使用USB-TTL的转接线才能连接到Ubuntu(妙算2)的USB插口上。貌似默认配件里面没有,要向厂家要,或者网上买一根。这个线长这样:
然后就可以将A3和Ubuntu连接起来了(只需要用到下面三个线):还是上面第一张图。
注意TXD表示发送数据,RXD表示接受数据!一般串口就用这二个来表示。左边发送,右边接收,右边发送,左边接收!
2、M600无人机外面的LED指示灯下给出的一个Micro-USB接口(即之前常用的安卓数据线的另一头)。这个是用来连接windows电脑usb,进而利用Assistant2来进行执行仿真模拟,固件升级等都是这个口。
3、连接完成之后:飞控上面的红色指示灯会亮起。
首先:获取权限
您需要将您的用户添加到dialout
组中,以获取uart通信的读/写权限。请按照以下步骤操作:
sudo usermod -a -G dialout $USER
1.打开妙算终端下载OnboardSDK:
从github下载OnBoard-SDK源码
git clone https://github.com/dji-sdk/Onboard-SDK
2.下载好源码之后进入源码并编译:
cd Onboard-SDK
mkdir build
cd build
cmake ..
make
3.将配置复制进当前Onboard-SDK下面的UserConfig.txt到:bin/目录下:
cp ../sample/linux/common/UserConfig.txt bin/
4.进入bin/目录下修改上面复制过来的用户配置文件。
cd ./bin
vim UserConfig.txt
配置文件如下:
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去大疆开发者网站:https://developer.dji.com/cn/
注册账号并审核升级为开发者用户,在用户中心创建一个app点进去即可获得:填好上面内容。
5.执行官方Samples示例程序,并在Assistant2中查看仿真Demo轨迹。
cd bin
./djiosdk-flightcontrol-sample UserConfig.txt
成功运行后,会提示你数据命令,这时你需要讲遥控器拨到F档,然后终端会提示你输入命令a或b。
效果如下:
注意事项:
①最好跑程序的时候就提前将遥控器打开,并拨到F挡位。注意把无人机旋翼收起来(尽管它也飞不起来)
②使用Onboard SDK前,注意将Ubuntu(执行时不需联网,但是下载onboardSDK时需要联网)通过USB-TTL连接A3飞控,遥控器连接手机,手机连网,windows电脑(联网)连接Micro-USB,首次执行Samples时会在软件DJI Assistant2上面要登陆进行激活。
③注意在Windows电脑下打开Assistant2时选择SDK,并勾选启动API控制,波特率调整和上面UserConfig.txt中填写的一致。调完波特率之后需重新启动一下无人机A3飞控。
④串口打开失败
ls -l /dev |grep ttyU
开放权限:
sudo chmod 666 /dev/ttyUSB0
⑤没有检测到上面串口,检查TXD和RXD二者收发方是否接正确。