Skip to main content

V2.5.100融合SDK使用说明

一. 总体说明

      MSDK V2.5.100 是在 V2.5.2(组网版)的基础上开发的,新增了对 V2.0(单机版)的兼容性支持。然而,由于飞机和遥控器固件版本的不同,以及 MSDK 接口的调整和持续迭代,可能会导致接口变化和兼容性问题。本文档详细列出了这些差异,旨在为不同开发者提供参考,帮助他们更好地理解和应对可能出现的问题。

1. V2.5与V2.0本质区别

  •  V2.5 版本

    • 多机组网支持:V2.5 支持多个飞行设备的组网操作。设备通过设备发现服务上报并动态创建,动态网络配置和管理。
    • 设备生命周期管理:组网中的飞机设备具有明确的生命周期,包括创建、运行和销毁等阶段。这使得系统能够更好地管理和监控每个设备的状态。
  • V2.0 版本

    • 单一飞机连接:V2.0 仅支持单个飞行设备的连接。设备在 SDK 初始化时即创建,并在对频后直接与遥控器建立连接。
    • 无设备生命周期管理:由于只支持单一设备,V2.0 中的设备没有复杂的生命周期管理概念,设备一旦初始化要么连接状态,要么断开连接。

2. 多机固件和单机固件

    多机固件和单机固件主要指的是遥控器和飞机配套的固件版本:

  • 多机组网固件

    • 版本要求:版本1.8.x及以上的固件版本支持多机组网功能。
    • 特性:这些固件版本允许多个飞行设备和多个遥控器加入同一个网络,实现更复杂的操作场景。例如,可以设置一个主控遥控器和一个中继飞机,并且其他遥控器作为从控遥控器,飞机作为普通节点飞机。
  • 单机固件

    • 版本要求:低于1.8.x的固件版本为单机版本。
    • 特性:仅支持单一飞行设备连接,设备在SDK初始化时创建,并在对频后直接与遥控器建立连接,没有复杂的生命周期管理。

3. 组网功能

    组网包括多机(多机多控)组网模式和单机(一机一控)模式,者两种模式都是基于设备发现(参考文档Demo)。

4. 机型固件信息参考

机型固件版本说明
Evo Max 4T/4N/4T Pro系列1.8及以上多机组网版本
Evo Max 4T/4N/4T Pro系列1.8以下版本单机版本
EVO Lite--单机版本
Autel Alpha/Titan1.8及以上多机组网版本
1.8及以上1.8以下版本单机版本

二. 开发细则

  场景一:使用 MSDK V2.5.100 开发APP同时支持单机和多机固件

模块单机固件多机固件说明
航线任务仅支持autel二进制文件使用KMZ任务文件兼容主流文件
避障接口KeyObstacleAvoidanceKeyObstacleAvoidActionSet扩展了避障模式
AI追踪接口各镜头独立接口 ,如:
KeyTrackingEnter
KeyInfraredTrackingEnter
统一接口,参数指定镜头
KeyIntelligentLockEnter
AIDetectConfigBean增加lensId
接口优化
追踪目标TrackTargetRectBeanTrackTargetRectBean增加lensId接口完善
对频对频单点对频,多机组网扩展
流控AirLinkKey
.KeyAirlinkAppSplitScreenInfo
DeviceManager
.getMultiDeviceOperator()
.getNetMeshManager()
.setNetMeshStreamControl(streamList, callback)
增加了多机支持

场景二:APP将MSDK从 V2.0 升级到V2.5.100

  • 如果是多机固件需要参考 MSDK V2.5 的开发文档进行开发

  • 如果是单机固件,以下内容仍需要调整

模块单机固件多机固件说明
升级模块旧接口已不支持使用新接口扩展多机升级
相机:KeyCameraDeviceInfo参数:DeviceInfoBean参数:CameraDeviceInfoBean名称变更
下载监听FileTransmissionListener
FileTransmitListener
FileTransmitListener接口整合
飞机上报
FlightControlStatusInfo
batteryNotInPlaceFlag :IntbatteryNotInPlaceFlag: BatteryInPlaceEnum类型变更
播放器1. com.autel.module_player.xxx
2. com.autel.rtmp.publisher.IPublishListener
3. com.autel.gb28181.IGB28181PublishListener
4. com.autel.rtspserver.IRtspServerCallBack
1. com.autel.player.xxx
2. com.autel.publisher.IPublishListener
3. com.autel.publisher.gb28181
.IGB28181PublishListener
4. com.autel.publisher.rtsp.
IRtspServerCallBack
包名变更
拼写错误
异常完善
增加多路推流
流控AirLinkKey
.KeyAirlinkAppSplitScreenInfo
DeviceManager
.getMultiDeviceOperator()
.getNetMeshManager()
.setNetMeshStreamControl(streamList, callback)
增加了多机支持

三. 附加说明

  1. MSDK会在初始化的时候会根据固件规则,自动判断当前是单机固件还是组网固件

  2. 如果无法准确判断固件版本,SDK初始化可以设置其工作模式

val sdkInitCfg = SDKInitConfig().apply { 
debug = false
    storage = null
    log = null
    single = true //force single mode
}
SDKManager.get().init(this.applicationContext, sdkInitCfg)
  1. 组网接口参考教程,点对点对频和单机对频使用同一AirLinkKey对频接口;双击电池开关进入对频,先短按后长按飞机进入组网模式

  2. 其它接口变更问题,可以随时咨询