基于M30/T,M3E机型PSDK端口USB的配置,PSDK 3.3之后的版本正式支持了USB网卡接入。相比RNDIS和BULK,摆脱了机载设备端USB device接口的限制,也避免了繁琐的配置。这篇文章主要来说明一下使用PSDK 3.3版本如何使用USB 网卡接入。
硬件连接
M30/M3行业版PSDK type C端口 --> 串口 + USB(host)
串口为TTL引脚,接设备端的TTL串口或USB-TTL模块的TTL端。
USB,飞机端为Host,注意硬件连接。将USB网卡连接到这个USB接口上。然后使用网线连接USB网卡的RJ45端口和机载设备的网口。
环境搭建
这里采用PC 虚拟机下的Ubuntu来运行demo,演示如何配置。因为PC 机上并未提供USB device端口,如果使用RNDIS和BULK将都无法与M30或M3行业机型进行通信。USB网卡是唯一的方式。先准备一个USB网卡,这里使用官网上推荐的网卡:AX88179A
先将此网卡接入Ubuntu虚拟机,用lsusb查看此USB设备的VID,PID,后面代码中会用到。查看后就正确连接到飞机PSDK type C拓展出来的USB上。
然后网线连接PC的网口和USB网卡,硬件连接完成。
说明:
我PC上只有一个网口已经被占用,PC上也使用了一个USB网卡拓展了一个网口,所以上面会显示两个USB网卡设备。
PSDK代码配置
-
dji_sdk_config.h中选择硬件连接设置为DJI_USE_UART_AND_NETWORK_DEVICE
-
查看PSDK运行使用的是哪个网口,并在代码中填写该网口,以及上面查询到的接入飞机USB网口的VID和PID。
我这里虚拟机也是用USB网卡与飞机通信,网卡设备为enx0826ae370cb7,这个根据自己连接的端口设置正确的即可,通常为eth0等。如果是接PC本身的网口,填入的就是ens33。
代码文件:
hal_network.h
可以在这个函数中添加一个打印,确保传入飞机的VID和PID是正确的。
说明:
LINUX_NETWORK_DEV这个是PSDK设备端用于与飞机通信的网口,
USB_NET_ADAPTER_VID和USB_NET_ADAPTER_PID是用于接入到飞机端的USB网卡,方便拓展,所以启动时飞机会从PSDK这边来拿。
运行PSDK程序
然后运行PSDK程序,便可以成功运行并获取视频流了。
评论
3 条评论
基于Xavier NX机载电脑开发,已适配M300/M30等多个型号,V:sbitxihc0616
《跨平台移植》一问中,关于m3t/e这样讲的:
如果这样接,相当于没有接usb到设备这边。是否意味着:只能获取主相机码流,第三方相机码流和感知灰度图就无法获取了?
这个方法M350也适用吗
请登录写评论。