限飞解禁教程

2024-05-17
暂无评分

Sample 介绍

限飞解禁功能给开发者提供飞行安全通知,即对飞行安全信息、飞行安全警告信息、飞行安全严重警告信息、飞行安全返航信息、飞行器附近限飞区的变化进行监听。通过限飞解禁可以获取飞行器周边特定公里范围的限飞区,并对指定的限飞区进行解锁。解锁后将不再提示任何限飞区并取消飞行器起飞限制,若飞行器重启,限飞区提示与起飞限制将恢复。

限飞区划分

MSDK 对限飞区的划分在 限飞区策略枚举值 – FlyZoneCategory 可查阅。限飞区类型的介绍可通过限飞查询open in new window 获得,如下图所示。

注意:

  • 如果飞行器飞行过程途径禁飞区或授权区,或者飞行器飞行超过限高区,飞行器将在区域前悬停并且无法打杆飞行器往区域方向前进。
  • M300 RTK、M350 RTK、M30 系列、M3 系列等行业类机型,可直接传入 flyZoneID 进行授权区解禁,重启飞行器后授权区将继续禁飞。
  • DJI Mini 3 和 DJI Mini 3 Pro 等消费类机型,需要参考飞行器解禁操作流程open in new window,在 DJI 限飞官网申请解禁后,调用downloadFlyZoneLicensesFromServerpushFlyZoneLicensesToAircraft进行授权区解禁。
  • 限飞区查询方式:
    1. 通过getFlyZonesInSurroundingArea()获取飞行器为中心位置特定公里范围内的限飞区。
    2. 通过官网进行限飞查询open in new window,可以通过输入 “地址” 或 “经度,纬度” 查询。
  • 获取飞行器附近限飞区信息,MSDK 必须与飞行器已经连接。

证书解禁

以下为证书解禁步骤介绍,增强警示区与授权区可以直接通过 MSDK API 解锁,不必借助解禁证书。

  1. 登陆 DJI 账号后,前往官网申请解禁证书open in new window
  2. 通过downloadFlyZoneLicensesFromServer()从服务器上获取证书,下载到 App。请注意需要预先调用logInDJIUserAccount()登陆 DJI 账号,以获取该 DJI 账号持有的解禁证书。
  3. 通过pushFlyZoneLicensesToAircraft()导入与当前飞行器 SN 一致的证书到飞行器飞控中。
    说明: 导入成功即可通过pullFlyZoneLicensesFromAircraft()获取已经导入到飞行器的解禁证书列表。开发者根据通过当前飞行器已有的解禁证书,可以自定义后续操作。
  4. 通过 setFlyZoneLicensesEnabled() 使能 / 关闭证书能力,使能解禁证书后,飞行器将能够在限飞区正常起飞。
    说明: 限飞解禁证书信息类FlyZoneLicenseInfo() 介绍了证书类型、有效期、证书绑定的飞行器飞控 SN 等。

获取解禁信息

目前存在两种获取解禁信息的方式,一种是从服务器拉取到账户申请的解禁信息,即downloadFlyZoneLicensesFromServer()。另一种是从飞行器上获取飞控已经存储的解禁信息,即pullFlyZoneLicensesFromAircraft()。从服务器上获取的解禁信息不一定是完整的,只有从飞行器获取到的信息才是完整的解禁信息。

一般流程如下:

  1. downloadFlyZoneLicensesFromServer() – 获取账户解禁信息
  2. pushFlyZoneLicensesToAircraft() – 将获取到的解禁信息同步给飞行器
  3. pullFlyZoneLicensesFromAircraft() – 获取完整解禁信息

接口调用流程

下图为限飞解禁接口调用流程示例,无需每步参照,请视实际情况调用。详细的使用方法请查看 Mobile SDK API 文档中的限飞解禁管理类 IFlyZoneManageropen in new window 以及 Sample 代码。

Sample 获取

限飞解禁 Sampleopen in new window

若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。