m30运行测试问题

Completed

Comments

16 comments

  • DJI Developer Support
    1、M30是动态IP,硬件连接环境不变的情况下,飞机IP一般是固定不会变。目前M30上192.168.112.1,会将设备端IP设置成:192.168.140.2,掩码:255.255.0.0,正常情况下这个是要能ping通飞机IP才对。 2、推流使用RNIDS,拉流使用bulk。USB 使用bulk目前必须要注册DjiPlatform_RegHalUsbBulkHandler,DjiPlatform_RegHalNetworkHandler和DjiPlatform_RegSocketHandler。不使用bulk 拉流,可以不注册:DjiPlatform_RegHalUsbBulkHandler 3、这个报错是飞机端与设备通道协商没有通过,我们需要协调树莓派搭建环境确认一下此问题,确认后再同步出来。
    0
    Comment actions Permalink
  • DJI Developer Support
    这边用树莓派搭建环境测试验证了一下,我这边目前在树莓派上修改USB device的VIP和PID没有成功。VID和PID修改不成功就会出现与飞机不通的情况,PSDK 3.2最新版本已经将VID和PID修改为通过外部传入(之前的版本PSDK内部都是写死的0x0955:0x7020,要改USB配置)。 这边树莓派的VID和PID(可以连接到linux usb host上,通过lsusb查看)填入到文件:hal_usb_bulk.c ![](https://djisdksupport.zendesk.com/attachments/token/j7uFaRr0pimlcDwclYC8WTnYE/?name=image.png) 配置的网桥:l4tbr0 ![](https://djisdksupport.zendesk.com/attachments/token/nFE1Uqw6s4zctQVO7cg2Zfj2h/?name=image.png) ![](https://djisdksupport.zendesk.com/attachments/token/OLLQdZcQa1yp88AtXCZ3Srskd/?name=image.png)
    0
    Comment actions Permalink
  • develop

    补充一下前面错误的代码和运行测试情况,替换为最新版本 3.2 的代码测试,结果一致,

    1、没有注册 DjiPlatform_RegHalUsbBulkHandler ,因为仅测试推流功能,不需要拉流功能。因此,没有修改。还是说,hal_usb_bulk.c的代码修改了vid和pid的宏定义在其他代码地方有调用的歧义?

    2、树莓派配置rndis已经成功,接入m30运行demo程序,usb0配置成功,ip地址为192.168.140.2,mask为192.168.255.255 ,但是不能ping通无人机ip。后手动修改树莓派usb0的ip为192.168.112.x网段,可以ping成功。运行报错如下:

     

    你回复结果就ping飞机成功的截图,最终是否运行psdk成功?

    0
    Comment actions Permalink
  • DJI Developer Support
    纠正一下前面提到的不需要注册bulk。之前版本是写死的VID和PID,设备端USB device需要配置成0x0955:0x7020,可以不用注册bulk。 ![](https://djisdksupport.zendesk.com/attachments/token/7zudYbk1X7dtMaZuLjmoAMqhE/?name=image.png) **当前通过外部传入设备端VID,PID,所以要注册DjiPlatform_RegHalUsbBulkHandler**。并将USB device的VID,PID配置到hal_usb_bulk.c文件中。进行协商时,飞机会通过VID和PID来检查usb device是否有接入。
    0
    Comment actions Permalink
  • develop

    简单来说,v3.2版本要使用usb的功能,必须配置正确 pid、vid之再后注册bulk ? 还是仅需要修改pid、vid,不用注册bulk ?

    0
    Comment actions Permalink
  • DJI Developer Support
    v3.2版本要使用usb的功能,必须配置正确 pid、vid之再后注册bulk。
    0
    Comment actions Permalink
  • develop

    好的,我先做测试。

    0
    Comment actions Permalink
  • DJI Developer Support
    不使用拉流,注册bulk后可以不用关注bulk的数据读写,VID和PID是通过注册bulk的句柄传入的,具体实现在hal_usb_bulk.c。
    0
    Comment actions Permalink
  • develop

    配置网桥之后,ping不同无人机。请问你那边是如何配置的?

    0
    Comment actions Permalink
  • DJI Developer Support
    现在程序可以正常运行了吗?网口直接使用usb0也是可以的,代码配置成usb0,程序正常运行设置成140.2后再ping飞机试试。
    0
    Comment actions Permalink
  • develop

    目前代码仅修改配置pid、vid,和网口名称。 配置网桥后,网口不管配置usb0还是网桥,结果都一致。

    配置正确的pid,vid,不配网桥,树莓派配置192.168.112.x网段能直接ping通无人机,demo运行报协商失败。

    你前面的配置,是仅仅验证ip可以ping成功?有没有测试无人机运行psdk demo呢 ?

    0
    Comment actions Permalink
  • DJI Developer Support
    我这边有运行PSDK demo,APP端已经可以成功拿到推流视频。bulk拉流配置还有点问题,待bulk配置好后再把脚本一起共享出来。
    0
    Comment actions Permalink
  • develop

    请问,usb的配置进展怎么样了? 我这边使用的是cm4,后面提供的脚本是否也适用于cm4呢?

    0
    Comment actions Permalink
  • 2506370551

    同psdk v3.2.0,linux的demo都没跑起来,报225错误。

    0
    Comment actions Permalink

    无人机IP地址怎么看?在哪查询?

    0
    Comment actions Permalink
  • 2506370551

    要先成功运行PSDK后,才可成功 ping 通无人机IP,

    M30/T:192.168.112.1,

    M3E/T:192.168.90.1

    具体ip可以在PSDK的DjiPayloadCamera_GetVideoStreamRemoteAddress函数中打印查看。

    0
    Comment actions Permalink

Please sign in to leave a comment.