在注册DJI SDK 开发者账号后,请下载OSDK 提供的示例代码并在示例代码中补充应用信息,通过编译、调试和烧录等操作获得示例程序,通过运行示例程序,了解使用OSDK 开发应用程序的方法。
提示: DJI 的示例程序以Linux和FreeRTOS 为操作系统,在Manifold 2 和STM3241G-EVAL 上开发,如需将示例代码移植到其他操作系统或硬件平台上,请参考 跨平台移植。
在 注册成为DJI SDK 的开发者后,即可使用DJI OSDK 开发包;获取DJI 提供的示例代码后,开发者能够了解使用OSDK 开发应用程序的方法,快速开发出功能完善的出应用程序。
获取示例代码后,请在用户中心 创建应用程序,获取应用ID 和应用秘钥,如图1.填写应用信息 所示。
图1. 填写应用信息
注意: 为提高您的开发效率,请在示例代码中正确填写应用的名称、ID、Key 和用户账号,否则编译后的示例程序将无法正常运行。
建议使用Ubuntu 16.04 为运行Linux 示例代码的操作系统,使用Manifold 2 为运行Linux 示例代码的硬件平台。
说明: Linux 的示例代码以Manifold 2-C 为计算平台,该示例代码也可直接运行在Manifold 2-G 上。
在 onboard-sdk/sample/platform/linux/common/UserConfig.txt
文件中填写应用程序的信息:
app_id : //开发者的ID |
说明: 仅使用OSDK 4.0 时,需配置
acm_port
,此处默认为/dev/ttyACM0
。
编译示例代码前,请在终端上使用ls -l /dev/xxx
命令查看硬件平台串口(UART接口)的访问权限,若访问权限不足,请在终端中使用 sudo chmod 777 /dev/xxx
命令获取串口设备访问权限。
说明: xxx为串口的名称。
进入示例代码的目录:onboard-sdk
,使用如下命令将示例代码编译为示例程序:
mkdir build && cd build
;cmake ..
或 cmake .. -DADVANCED_SENSING=ON
(使用视觉功能);make
;将配置文件UserConfig.txt
拷贝到bin文件中:
cp ../sample/platform/linux/common/UserConfig.txt bin/
./djiosdk-flightcontrol-sample UserConfig.txt UserConfig.txt
从键盘中输入B 运行示例程序
图2.运行示例程序(Linux)
mkdir catkin_ws |
使用如上命令创建工作空间后,请将OSDK 示例代码复制在src
目录下。
catkin_ws
目录下,使用catkin_make
命令,编译OSDK 示例代码。source devel/setup.bash
编辑配置文件XXXX.launch
,替换应用的ID、Key和波特率等信息。
$rosed dji_osdk_ros dji_vehicle_node.launch
$rosed dji_osdk_ros dji_sdk_node.launch
说明
- OSDK ROS 4.0 节点配置文件的路径:
/path/to/catkin_ws/src/Onboard-SDK-ROS/launch/dji_vehicle_node.launch
- OSDK ROS 3.8 节点配置文件的路径:
/path/to/catkin_ws/src/Onboard-SDK-ROS/launch/dji_sdk_node.launch
若使用3.8版本接口的dji_sdk_node,需将开发包中的UserConfig.txt
文件放置于指定的路径下:- 若使用
rosrun
命令,UserConfig.txt
文件需被放置在当前运行目录下;- 若使用
roslaunch
命令,UserConfig.txt
文件需被放置在/home/{user}/.ros
目录下.
roslaunch dji_osdk_ros dji_vehicle_node.launch
roslaunch dji_osdk_ros dji_sdk_node.launch
OSDK ROS 4.0
打开新的终端窗口,进入catkin_ws
目录下,使用如下命令配置工作空间(以运行“无人机飞行控制”程序为例)
$source devel/setup.bash |
说明: 如需使用高级视觉功能,请运行
advanced_sensing_node
示例程序。
OSDK ROS 3.8(仅保留service 和 topic)
说明: RTOS 的示例代码以STM32F407IGH6-EVAL 开发板为应用程序。
使用Keil 打开位于sample/platform/STM32/OnBoardSDK_STM32/Project/
目录下的工程文件OnBoardSDK_STM32.uvprojx
。
在OnboardSDK_STM32/User/Activate.cpp
文件中替换应用ID 和Key:
void |
sample/STM32/OnBoardSDK_STM32/Project/
目录下的工程文件OnBoardSDK_STM32.uvprojx
。-DXXXX_XXXXX_XXXXX
。图3.编译示例代码
Project
选项卡中,选择Build Target
说明: 如需调试示例程序,请设置串口调试工具的波特率,USART3 端口的波特率默认为921600;USART2 端口的波特率默认为115200。
用户首次使用开发者基于OSDK 开发的应用程序时,需在DJI Assistant 2 联网的状态下,登录开发者账号,使基于OSDK 开发的应用程序获取DJI 的授权许可,以此激活应用程序。