关于OSDK和PSDK密钥的疑问,以及实现Matrice 300 RTK数据实时读取问题的进一步澄清

Completed

Comments

8 comments

  • DJI Developer Support
    您好, 1、长度限制问题一般是混用了OSDK/PSDK密钥信息引起的,您运行的是PSDK程序,应该申请PSDK的应用秘钥。如何进行PSDK应用注册/成为PSDK开发者 2、我们建议您使用PSDK实现,OSDK已停止维护和更新,它存在的bug将无法得到修复。 3、可以通过OSDK程序,连接M300读取相机中的媒体文件,不支持读取其他数据,仅支持检索视频文件或照片文件。
    0
    Comment actions Permalink
  • Simon

    谢谢您的回答,我已经很清楚了,但是我仍然有一个疑问,就是针对我的项目需求和上述配置,我使用得机型是 Matrice 300 RTK,DJI官方文档建议我使用Matrice 300 RTK的OSDK接口和树莓派通过E-port口连接(如下图),再使用PSDK的库/包API进行配置,而你们官方文档中的E-port连接Matrice 300 RTK的支持接口也是OSDK,这样也似乎可以解决问题,但是这让我非常费解。因为通常来说配置接口应当使用psdk接口和psdk的api这样才匹配,但是你们的文档却是使用OSDK接口搭配PSDK API。是否可以给我解释一下,非常感谢。

    0
    Comment actions Permalink
  • DJI Developer Support
    您好,很抱歉为您带来困扰,这里有历史背景的,OSDK是专门为机载计算机而设计的,运行OSDK程序的机载计算机需要连接在M300的OSDK硬件端口或M210机型的OSDK硬件端口,而PSDK也是为了负载设备的开发而生,运行PSDK程序的负载设备也需要连接M300机型或M210机型的Payload硬件端口。 在两三年前,考虑到维护的问题,以及后续新机型的协议适配问题,我们决定把OSDK和PSDK合并,后续统一合并到PSDK程序中,也就是您现在使用的程序,而在所支持的功能上或者在其他端对OSDK/PSDK设备的识别上,则是在代码中做了判断,您将设备插入E-Port端口(该端口也是机载计算机端口)或OSDK端口,我们在代码中会标识好这是作为机载计算机接入(在Pilot侧或MSDK侧我们会将它以OSDK的角色上报,因此您会看到当在M300的OSDK端口运行PSDK程序时,Pilot上仍显示OSDK设备),从而决定您可以使用机载计算机的功能,当您插入到云台口(或者说Payload端口),我们会识别这是作为负载设备接入(在MSDK侧或Pilot侧会作为Payload负载的角色上报),从而决定您可以使用负载设备的功能。
    0
    Comment actions Permalink
  • Simon

    感谢您的回答,也就说在我的应用场景和项目中,我是否可以按照您们提供的教程https://developer.dji.com/doc/payload-sdk-tutorial/cn/quick-start/quick-guide/raspberry-pi.html,使用M300的OSDK接口与E-port连接,再通过E-port的串口以及Type-c接口与树莓派连接,从而让树莓派通过脚本实现针对ZENMUSE P1相机中sd卡数据的读取?我目前对于PSDK的API和接口仍然感到困惑。非常感谢您的解答

    0
    Comment actions Permalink
  • DJI Developer Support
    您好,没问题的,或许您看这个表格就清楚了,您需要获取到P1中的媒体文件,实际上是属于相机管理的功能,您可以查看此处,M300的OSDK端口支持此功能,而M300的OSDK端口也支持您使用E-port开发套件连接。您可以使用E-Port开发套件,将您的开发板连接到M300的OSDK端口,运行PSDK程序,获取和下载P1的媒体文件。https://developer.dji.com/doc/payload-sdk-tutorial/cn/model-instruction/choose-develop-platform.html
    0
    Comment actions Permalink
  • Simon

    非常感谢贵团队在过去一个月中对我的项目给予的大量技术支持,我非常感激您们提供的详细建议,这对推进项目起到了极大的帮助。

    目前,我还有一个关于数据传输方式的问题想要咨询。根据我们之前的交流和项目的实际部署情况,我目前使用的是 UART(通过 E-Port 连接树莓派 5 和 DJI Matrice 300 RTK 的 OSDK,包含 UART 和 Type-C 接口)进行图像数据传输。但我注意到 USB-Bulk 也是一种支持的传输方式。

    • 请问是否可以提供更多关于 USB-Bulk 配置的详细指导?我按照官方文档(USB 设备 RNDIS 和 BULK 设置)进行配置时,似乎遇到了一些问题。

    此外,我希望了解以下内容:

    1. UART 和 USB-Bulk 的实际传输速率分别是多少?
    2. USB-Bulk 的速度是否显著快于 UART?
    3. 如果当前 UART 的传输速度较慢,是否可能是配置问题导致的?

    考虑到项目的实际需求,我还在探索其他更快速的图像数据传输方法(例如,从 DJI Matrice 300 RTK 和连接的 P1 相机的 SD 卡中实时检索新图像并传输至树莓派,通过有线连接完成)。

    • 除了 E-Port 方式外,是否有其他更高效的传输方式、适配器、协议或连接线可以推荐?

    如果 DJI 提供任何适合该用例的配件、传输线或设备,我们非常乐意购买以满足项目需求。

    0
    Comment actions Permalink
  • DJI Developer Support
    您好,关于M300机型,您不需要在环境中配置BULK,硬件上连接即可。因此您不需要关注BULK的配置部分。 实际传输速率我们并未对外公开,但是我们有对个别功能的速率有介绍,您可以参考此处: https://developer.dji.com/doc/payload-sdk-tutorial/cn/function-set/basic-function/data-transmission.html 其中,4 KB/s是UART的大致传输速率,而BULK链路的速率,因功能而异,而互联互通功能均使用的是BULK链路的带宽: 您或许可以参考此处:https://developer.dji.com/doc/payload-sdk-tutorial/cn/function-set/advanced-function/sdk-interconnection.html 2、BULK的传输速率是显著高于UART的。 3、BULK一般是比较稳定的,很少有速度异常的问题,如果传输过慢,可能还和其他方面相关,比如下载媒体文件,使用的是BULK链路,如果下载过慢,还可能与TF卡的类型(是否高速存储卡)有关。 很抱歉,关于配件部分,我们仅给您推荐DJI的官方产品或者认证过的套件(此连接方式已经很高效了),而您的需求,我们仅为您推荐到E-Port开发套件为止,其他的套件还未经过我们的认证,USB线缆您注意购买支持数据传输的线缆,而并非仅支持充电的线缆。
    0
    Comment actions Permalink
  • Simon

    在你们的帮助和支持下,我已经搭建好了原型,但是目前的瓶颈是,使用BULK传输图片和视频的传输速度大约是10Mb/s,不能满足需求,所以我想问的是:1.这个传输速度是否正常。2.能否给出建议帮助我进一步的提升速度。3.除了BULK方式基于我们的项目的情况,是否有更加快速的数据传输方式推荐?

    0
    Comment actions Permalink

Please sign in to leave a comment.