您的位置:首页 > 其它

大疆无人机二次开发进阶-DJI mobile SDK和DJI onboard SDK联合开发行业应用项目

2018-02-03 14:55 363 查看
上一篇文章讲到了怎么使用DJI mobile SDK,这次主要讲解DJI mobile SDK和DJI onboard SDK联合开发。

android APP那端向DJI onborad SDK端发数据和收数据我就不做详细介绍了,调一个函数即可,无需封装和解析协议,如下:if (mFlightController == null) {
Aircraft mAircraft2 = (Aircraft) DJISDKManager.getInstance().getProduct();
if (mAircraft2 != null)
mFlightController = mAircraft2.getFlightController();
}
FlightController.OnboardSDKDeviceDataCallback receiveCallback = new FlightController.OnboardSDKDeviceDataCallback() {
@Override
public void onReceive(byte[] bytes) {

}
};
mFlightController.setOnboardSDKDeviceDataCallback(receiveCallback);
if (mFlightController != null) {
mFlightController.sendDataToOnboardSDKDevice(bean.getActivateByte(), null);下面详细介绍DJI onborad SDK的使用,以M600 PRO为例:
1、首先申请DJI onborad SDK KEY,这就不多做介绍了。

2、如果要使用DJI onborad
SDK,必须开启无人机的API控制,下载大疆调参软件
DJI Assistant 2开启API控制,将串口波特率调为230400,其余如果不需要,可以选择不发送。
3、激活你的key,将你电脑的UART串口(USB串口)与飞控的API口连接如下图



只需要接123口即可,不需要接电。
然后在大疆GITHUB上下载QT的激活程序https://github.com/dji-sdk/Onboard-SDK/releases
用QT编译生成后执行,该过程飞机遥控器必须打开,并且连上DJI GO和联网,然后这样就可以激活你的KEY,

激活成功你的板载设备以后无需联网就可以使用该KEY了。

4、激活你的板载设备

将你的设备和飞控SDK的API串口连接,和上面一样,然后在你的设备程序中打开串口,波特率230400,第一步你先要获得

SDK的版本

大疆协议链接https://developer.dji.com/onboard-sdk/documentation/protocol-doc/open-protocol.html

你先要读懂大疆的协议,还有一点好像他的CRC检验不太一样,具体可以从QT工程的源码中获取该函数

下面是我的激活流程,因为我的key和你不太一样,具体需要自己去读协议

//查询版本                 

//回传版本                        

//激活                     

//回传激活成功

如果激活成功后,你就可以和moblie SDK进行通信了,不过你的数据要进行打包封装。接收亦是如此。

好了,基本流程就是这样,主要还是协议那块要自己摸索下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: