文章出现的名词解释:
大疆设备:支持上云API的设备,如大疆无人机、大疆机场、遥控器。
第三方云平台:除了大疆设备之外的平台。从大疆设备的角度来说,司空2也属于第三方云平台。
网关设备:能够直接连接云平台的设备,且具有硬件设备管理功能,能够代理硬件设备连接云端,例如遥控器、大疆机场均为网关设备。网关设备一般只有简单的地理上报,在线离线状态,开机重启等简单的功能。
上云API数据流
首先,在没有上云API时,大疆无人机只能与遥控器/机场通过私有图传链路(O3图传、O4图传等)进行数据传输。设备不具备向网络设备上报信息,以及接收网络设备信息的能力。所有数据交互只在大疆设备内部进行(即只存在大疆无人机与遥控器或者机场的数据交互)。如下图所示:
上云API的出现就是为了解决,第三方想要与大疆设备进行数据交互的问题。所谓的数据交互,指的就是第三方设备能够从大疆设备获取信息(如获取无人机经纬度、高度、电池信息等),以及将第三方云的信息传输给机场(即下发指令,如一键开机指令)。在大疆设备与第三方云平台的数据交互过程中,需要按照一定的协议(格式和规定)传输信息,这个协议就是上云API。
需要注意:无人机本身是不具备联网能力的,无人机与第三方云交互都需要借助网关设备(具备联网能力的设备,如遥控器、机场。遥控器可以连接wifi,通过wifi连接互联网、机场可以连接网线,通过有线网络连接互联网)完成。如:无人机将经纬度、高度等信息通过私有链路(O3图传、O4图传等)传输给网关设备,再由网关设备通过上云API传输给第三方云平台。第三方云平台下发的指令,也会先通过上云API传输给网关设备,再由网关设备通过私有链路传输给无人机进行执行。
如下图所示:
上云API形式说明
上云API目前分为遥控器Pilot2上云、以及机场上云。开发者首先要区分使用的机型是Pilot2 + 无人机,还是 机场 + 无人机。两种方式上云的功能以及实现区别较大。
Pilot2上云
Pilot2上云只要是通过Pilot2 app的开放能力进行实现的,主要是通过内嵌 webview 引擎进行实现。另外,Pilot2上云属于手飞场景,更多功能在于地图元素上。Pilot2上云属于APP开放的功能,目前使用的协议有http/https协议、websocket/websockets协议、mqtt/mqtts协议。在使用Pilot2上云时,无法实现云端控制无人机飞行或者控制无人机负载的功能。
机场上云
机场上云是通过机场固件进行实现的,所以,使用上云API新功能,必须升级到上云API文档中说明的配套固件进行使用。机场上云是无人值守的场景,在无人值守的情况下,不可避免的云端需要控制无人机飞行以及控制无人机负载进行拍照,所以机场上云是支持云端控制无人机飞行以及控制无人机负载的功能的。机场设备属于典型的物联网设备,机场没有屏幕展示数据,所以机场只使用mqtt/mqtts协议。
上云API支持的设备
上云API支持的设备,您可以参考上云API文档,文档中有详细说明:https://developer.dji.com/doc/cloud-api-tutorial/cn/overview/product-support.html
mqtt主题说明
mqtt主题在文档中有详细解释,下面主要说明开发者比较有问题的{device_sn}以及{gateway_sn}。首先文档有说明
说明: 下表中的 {gateway_sn} 表示网关设备的 SN,{device_sn} 表示该物模型属性的所属设备的 SN 。
{gateway_sn}即网关设备sn,如:遥控器Pilot2上云时,{gateway_sn}即遥控器sn;机场上云时,{gateway_sn}即机场sn。
{device_sn}即设备sn,{device_sn}可以是设备sn,如无人机、遥控器和机场这3种设备都会上报经纬度信息,第三方云平台即可通过{device_sn}来具体区分是哪个设备进行的上报。
另外,{gateway_sn}和{device_sn}的获取需要在设备上线(设备会通过sys/product/{gateway_sn}/status主题上报上线消息)时,第三方云平台解析数据获取对应的sn。
http接口说明
http接口协议在文档中有详细说明,开发者可以查看Pilot上云中有关HTTPS接口的说明。
需要说明的是,这些接口是第三方云平台需要实现的接口,Pilot2会在特定场景下请求云端这些接口获取数据。如点开航线时,Pilot2会请求云端航线列表接口。
评论
0 条评论
请登录写评论。