索引
OSDK与飞机通过串口通信,开发环境最重要是将串口连接起来。M210,M300还需要使用到双A USB通信。M300需要使用到OSDK转接板,通过实物图呈现,其他机型均贴出飞机上的OSDK开发端口,飞机串口均为TTL,连接基本一致。
M300
OSDK拓展转接板安装至M300顶部,将type C接头连接至无人机的OSDK type C端口。
实物连接说明:
-
上图使用的妙算2C,妙算2C上仅有一个UART0,做调试串口,固定波特率为115200。OSDK不建议使用2C的调试串口与飞机通信,可以使用USB-TTL模块复用妙算2C的USB接口。如果是妙算2G可以参考此处使用USB-TTL,也可以使用妙算自带的串口线连接到2G的UART1上。
-
XT30为转接板的电源接口与飞机OSDK接口的电源接口相连,为DC24V/4A 电源,如果机载计算机需要其他电压供电,需要考虑通过此接口进行电压转压。
-
M300,XT30供电接口飞机上电即可供电,飞机关机即断电,无需其他设置,若飞机上电XT30接口取不到电需要排查硬件问题。可以更换飞机、OSDK转接板交替测试,排查是哪一部分的硬件问题然后寄修。另建议检查是否为OSDK转接板的type C接口与飞机的OSDK type C接口接触不良导致。
-
用于与飞机串口通信的端口需要在OSDK代码中配置或指定,上述使用的USB-TTL模块,在插入到妙算2的USB后,妙算上会在/dev下识别成ttyUSB*(上述连接中仅使用一个USB-TTL模块,会识别成ttyUSB0,可以通过ls –l /dev | grep ttyUSB* 查看)。
-
UART 0端口名固定为:ttyS0*
-
UART1(妙算2G)端口名固定为:ttyTHS2*
-
代码中指定的串口端口与硬件上连到飞机的串口端口要一致。如果是机载计算机开发板上自带的串口(非USB-TTL模块),尤其要注意端口名要查找使用的板子对应的资料,再对应填到代码配置中。使用USB-TTL模块,在Linux系统下通常都是一样。
-
-
另,使用Linux环境开发,本人习惯在PC上安装一个虚拟机环境,方便阅读和编写代码。OSDK/PSDK也是提供了X86 lib,只要将硬件接入到PC上就可以天然适配进行开发。
-
无人机和转接板的硬件连接上没有区别,只需将如下接入妙算的两个USB连接到PC上,且如果是虚拟机注意将USB设备托管到虚拟机上就可以正常开发了。
-
-
M100飞机上OSDK接口,将串口(TTL)直接接到机载计算机的串口即可。
TTL引脚定义,正对API接口方向:
注意:不要使用Vcc引脚给机载计算机供电,不同机型的供电端口建议参考对应的用户手册。
通过用户手册我们可以查到M210 机型用于OSDK开发的接口在机尾,贴图:
说明:
-
-
M100,A3/N3/M600/M600 PRO机型也都不支持OSDK获取图像功能,可能有开发者用到manifold-cam给M100使用的,还有使用guidance的,请查看github相关资源,。DJI已经停止其维护和技术支持了,有图像使用需求,推荐优先考虑使用新机型。
-
M210机型尾部有一个USB模式切换开关,使用OSDK USB通信和连接DJI Assistant2时都是将USB开关拨到右边。
-
-
M210机型的XT30供电接口需要在遥控器端通过Pilot APP打开开关才可正常对负载供电,M300无此开关。
-
M210机型的USB接口在用作OSDK通信时,是USB RNDIS虚拟网口。
飞机端的IP:192.168.42.2
机载计算机的IP(USB虚拟网口):192.168.42.3
评论
0 条评论
请登录写评论。