运行示例程序

2025-01-16
暂无评分

在注册 PSDK 企业账号后,请下载 PSDK 提供的示例代码并在示例代码中补充应用信息,通过编译、调试和烧录等操作获得示例程序。在 DJI Assistant 2 上绑定 DJI 的硬件平台后,即可运行示例程序,借助示例程序了解使用 PSDK 开发负载设备的方法。

提示: 如需将 RTOS 或 Linux 的示例代码运行在其他开发板或操作系统中,请参考 跨平台移植open in new window

获取示例代码

注册成为 DJI PSDK 的企业用户后,即可下载 DJI PSDK 开发包,在 PSDK 开发包中获取 DJI 提供的示例代码,借助示例代码了解使用 PSDK 开发负载设备的方法,使用示例代码快速开发出功能完善的出负载设备。

创建负载应用

获取使用 PSDK 开发负载产品的权限open in new window 后,请在用户中心open in new window 创建负载应用,获取应用 ID 和应用秘钥,如 图. 填写应用信息 所示。

图. 填写应用信息

注意: 为提高您的开发效率,请在示例代码中正确填写应用的名称IDKey开发者账号,否则编译后的示例程序将无法正常运行。

运行 RTOS 示例代码

说明: 本文以STM32F4 Discovery 开发板为例,介绍运行 RTOS 示例代码的步骤和方法。

烧录 Bootloader

  1. 使用 Keil MDK IDE 打开位于sample/sample_c/platform/rtos_freertos/stm32f4_discovery/project/mdk_bootloader/目录下的工程文件mdk_bootloader.uvprojx
  2. 使用 Keil MDK IDE 编译工程为示例程序。
  3. 将编译后的示例程序烧录到负载设备中(如 STM32F4_discovery 开发板)。

相关参考

  • 实现 Bootloader:platform/rtos_freertos/stm32f4_discovery/bootloader
  • Bootloader 工程目录:platform/rtos_freertos/stm32f4_discovery/project/mdk_bootloader

补充应用信息

  1. 使用 Keil IDE 打开位于sample/sample_c/platform/rtos_freertos/stm32f4_discovery/project/mdk/目录下的工程文件mdk_app.uvprojx
  2. sample/sample_c/platform/rtos_freertos/application/dji_sdk_app_info.h 文件中补充应用的名称、ID、Key、License、开发者账号和指定波特率。
#define USER_APP_NAME               "your_app_name"
#define USER_APP_ID                 "your_app_id"
#define USER_APP_KEY                "your_app_key"
#define USER_APP_LICENSE            "your_app_license"
#define USER_DEVELOPER_ACCOUNT      "your_developer_account"
#define USER_BAUD_RATE              "460800"

编译并烧录

  • 使用 Keil MDK IDE 编译示例代码为示例程序。
  • 编译示例代码后,将编译后的程序烧录到负载设备中(如 STM32F4_discovery 开发板)。
  • 如需调试示例程序,请将串口调试工具的波特率设置为:921600

运行 Linux 示例代码

说明: 本文以 Manifold 2-C 为例,介绍运行 Linux 示例代码的步骤和方法。

补充应用信息

  • samples/sample_c/platform/linux/manifold2/application/dji_sdk_app_info.h 文件中替换应用的名称、ID、Key、License、开发者账号和指定波特率。
#define USER_APP_NAME               "your_app_name"
#define USER_APP_ID                 "your_app_id"
#define USER_APP_KEY                "your_app_key"
#define USER_APP_LICENSE            "your_app_license"
#define USER_DEVELOPER_ACCOUNT      "your_developer_account"
#define USER_BAUD_RATE              "460800"
  • samples/sample_c/platform/linux/manifold2/hal/hal_uart.h 文件的 LINUX_UART_DEV1LINUX_UART_DEV2 宏中填写对应的串口名称。
#define LINUX_UART_DEV1    "/dev/your_com"
#define LINUX_UART_DEV2    "/dev/your_com"
  • 通过ifconfig命令,查看当前与无人机通讯的网口设备名称,并填写到samples/sample_c/platform/linux/manifold2/hal/hal_network.h 文件的 LINUX_NETWORK_DEV 宏中。
#define LINUX_NETWORK_DEV    "your_network_name"

编译示例程序

  • 编译示例代码

    进入示例代码工程的根目录下:Payload-SDK/,使用如下命令将示例代码编译为示例程序。

    1. mkdir build
    2. cd build
    3. cmake ..
    4. make

    根目录位置说明:

Payload-SDK/
├── CMakeLists.txt
├── EULA.txt
├── LICENSE.txt
├── README.md
├── build/
├── doc/
├── psdk_lib/
├── samples/
└── tools/
  • 执行 C 语言示例程序

    • 进入示例程序的目录: cd build/bin/
    • 使用sudo ./dji_sdk_demo_linux命令运行示例程序
  • 执行 C++ 语言示例程序

    • 进入示例程序的目录: cd build/bin/
    • 使用sudo ./dji_sdk_demo_linux_cxx命令运行示例程序

应用绑定(使用 Xport、SkyPort V2 或 SDK 认证芯片)

通过 DJI Assistant 2 将 SkyPort V2 与示例程序绑定后,当负载设备挂载在无人机上时,负载设备将自动运行开发者编译或烧录的示例程序。

说明

  • 使用 DJI Assistant 2 绑定或调试负载设备时,请先在软件右上角的 “配置” 标签中打开 “数据授权” 开关,否则 DJI Assistant 2 将无法正常绑定或调试负载设备。
  • 初次绑定 SkyPort V2 后,在不同的无人机上使用同一个 SkyPort V2 时,无需重新绑定示例程序。
  1. 将负载设备(如 Manifold 2-C)或开发板(如 STM32F407IGH6-EVAL)挂载在 DJI 的无人机上,同时将 DJI 的无人机连接到计算机。
  2. 使用应用信息中的账号登陆 DJI Assistant 2 ,单击 “Payload SDK ” 选项卡,进入 PSDK 硬件平台界面。
  3. 在 PSDK 硬件平台界面,单击 “绑定” 按钮,绑定硬件平台、示例程序和 DJI 无人机。
  4. 绑定成功后,PSDK 硬件平台界面中的绑定状态将显示为已绑定,如 图. 应用绑定 所示。

图. 应用绑定

  1. 确认 PSDK 适配器与 PSDK 负载通信波特率为 460800(PSDK 示例程序通信波特率为 460800)。

图. 设置通信波特率

  1. 应用绑定成功后,负载设备将自动运行示例程序。

图. 自动运行示例

绑定故障排查

1. SkyPort V2 故障排查

错误代码错误说明解决方案
1无法获取负载信息1. 确认硬件平台正常连接
2. 确认基于 PSDK 开发的负载设备控制程序已正常运行
2开发者账号非法请确认负载设备控制程序中的用户信息与所绑定的转接环的用户信息相同
3无法获取认证信息请将负载设备中的日志信息提交给 DJI 技术支持团队排查相应的问题
4SkyPort 校验失败
5认证信息错误
6存储绑定信息失败
7无法获取 SN 号

2. 应用服务故障排查

错误代码错误说明解决方案
400SN 不存在请将负载设备中的日志信息提交给 DJI 技术支持团队排查相应的问题
500服务器异常
700未找到负载设备的应用程序
701数据校验失败
702绑定关系错误

3. 调参软件故障排查

错误代码错误说明解决方案
3网络异常请确认您的计算机能够访问互联网
4调参软件错误重新安装调参软件或重新启动计算机
5FTP 错误

编译故障排查

使用 Keil MDK 编译示例代码时报错:“error:L6050U”

  • 故障原因:Keil MDK 未激活。
  • 解决方法:使用 Keil MDK 编译示例代码前请先激活 Keil MDK。
若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。