请教下:是否可以通过PSDK获取并简单处理遥测数据吗

评论

47 条评论

  • DJI Developer Support
    您好,是可以的,比如PSDK程序获取四元数https://sdk-forum.dji.net/hc/zh-cn/articles/360023657273-%E5%A6%82%E4%BD%95%E5%B0%86%E5%9B%9B%E5%85%83%E6%95%B0%E8%BD%AC%E6%8D%A2%E6%88%90%E6%97%A0%E4%BA%BA%E6%9C%BA%E5%A7%BF%E6%80%81%E8%A7%92 获取以后,可以通过DjiLowSpeedDataChannel_SendData接口发送给MSDK。MSDK端是:addPayloadDataListener
    0
    评论操作 固定链接
  • 孤独的夜

    您好。那带屏遥控器收到的遥测数据是原始数据吗?还是经PSDK简单处理过后的数据?

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,请问您是指PIlot2上显示的数据吗?这些是经过简单处理过的数据,和PSDK没有关系的,是飞控直接推送给遥控器的。
    0
    评论操作 固定链接
  • 孤独的夜

    你好。我的需求是要自定义开发一个地面站,但不太清楚如何获取到遥测数据和图传数据。从了解到信息,构思到方式是:”无人机端通过PSDK订阅到遥测数据和图传数据,而后通过DjiLowSpeedDataChannel_SendData接口发送给MSDK,最后基于MSDK开发一个自定义的地面站,解析、处理和显示遥测数据和图传数据”。这种方式能否实现?如果采用这种方式,原有的Pilot2请求和接受遥测和图传数据的通道是否就不会有数据传输了?

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,这个链路和Pilot2是独立的,不会受影响。 这个方案是可以的,但是当中可能要改一下接口,运行PSDK从飞机订阅遥测数据,遥测数据可以通过低速数据通道发送给MSDK,但是视频流数据该接口的带宽支撑不起,您可以使用SDK互联互通功能的接口来发送视频流数据。
    0
    评论操作 固定链接
  • 孤独的夜

    了解了,感谢答复

    0
    评论操作 固定链接
  • DJI Developer Support
    不客气,如果您还有其他问题,欢迎您随时与我们联系。
    0
    评论操作 固定链接
  • 孤独的夜

    您好。PSDK的开发文档对数据传输功能介绍中提到“图3.移动端APP数据接收(1)”,这个APP是MSDK的示例demo吗?还是其他demo?有相关介绍链接吗?能麻烦提供了解下吗?谢谢。

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,这个是MSDK的sample代码,您可以在此处了解: https://developer.dji.com/doc/mobile-sdk-tutorial/cn/tutorials/payload2.html
    0
    评论操作 固定链接
  • 孤独的夜

    好的,感谢答复!

    0
    评论操作 固定链接
  • 孤独的夜

    你好,进入MSDK的Payload界面,看起来分为负载信息页与负载控件页两个控件页,要怎么样才能进入前面问题提到的开发文档中提到的移动端APP数据接收的界面?

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,上面的第一个接口就是(OPEN PAYLOAD DATE PAGE)。后面就是选择您PSDK的运行位置,如果是运行在OSDK / E-Port端口,选择 EXTERNAL,其他的根据负载位置选择。
    0
    评论操作 固定链接
  • 孤独的夜

    您好,感谢答复。按照答复的选择第一个接口(OPEN PAYLOAD DATE PAGE)点进去显示“请输入发送给PSDK的数据”,看起来是“移动端APP发送数据的界面”,不是我想要获悉的“移动端APP数据接收的界面”

    我想要获悉的是移动端APP接收PSDK发来的数据的功能界面,类似PSDK开发文档提到的如下界面,这是从哪里点击能查看到

     

     

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,这个页面上面是发送数据,下面是接收数据的地方,收到数据会显示的,关于您提到的这个截图,这个是老版本的MSDK界面,作用实际上一样的。
    0
    评论操作 固定链接
  • 孤独的夜

    您好。在运行PSDK示例出现上述问题,数据发送失败。有看到论坛上相关答复说是链路出错,我尝试去ping无人机,但是不知道无人机的ip地址,想请教下这边实验的M30T这台机型的IP地址是什么?以便手动配置好IP后,尝试能否ping通无人机。

    0
    评论操作 固定链接
  • 孤独的夜

    您好。目前运行PSDK示例程序是能订阅到遥测数据,是否可以说明低速传输通道是正常的,就是串口功能没问题,但是为什么数据传输功能会显示数据发送失败?发送的数据内容没动过,就是示例程序写好的:DJI Data Transmission Test Data

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,这个主要区分机型,如果您是M30T的机型,说明串口通信没问题的,低速数据传输功能理论上也是正常的才对,您可以给我们看下发送失败的日志。 可以通过此函数打印出飞机的ip,在运行PSDK的过程中ping一下。 DjiPayloadCamera_GetVideoStreamRemoteAddress
    0
    评论操作 固定链接
  • 孤独的夜

    您好,感谢答复。目前已找到问题了,是PSDK的运行位置选择问题,之前一直是选择EXTERNAL测试,后面发现要选择UP才收到PSDK发来数据,请教下这几个选择分别表示什么意思?有相关示例图讲解吗?谢谢。

    0
    评论操作 固定链接
  • DJI Developer Support
    EXTERNAL目前仅在M300和M350的机身拓展口上使用,其他飞机上的机身拓展口即可以控制飞机又可以开发负载,因此被看做是UP。
    1
    评论操作 固定链接
  • 孤独的夜

    您好,我在运行PSDK的C语言示例时,订阅到的四元数均是0,而官方文档介绍中订阅到四元数却均有数值,这是什么原因导致呢?

    0
    评论操作 固定链接
  • 孤独的夜

    速度和GPS位置订阅到的信息也均是0,只有1号电池信息和2号电池信息订阅到有数值,这是什么原因导致的呢?

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,如果GPS信息是0的话可以看下遥控器上GPS的信号情况,这个依赖GPS信号良好,或者您可以直接连接模拟器来进行订阅。
    0
    评论操作 固定链接
  • 孤独的夜

    但订阅到四元数和速度数值也是0,这是正常现象吗?产生数值是需要什么条件吗?

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,sample中用的是DJI_FC_SUBSCRIPTION_TOPIC_VELOCITY这个TOPIC的速度,会融合GPS数据。四元数不依赖GPS,只依赖IMU和视觉,数据异常的情况可以看下视觉是否被遮挡或者周围有磁场干扰。
    0
    评论操作 固定链接
  • 孤独的夜

    您好。我将无人机机翼都展开了,放在桌面上,附近没有什么遮挡,也没有磁场干扰,但是订阅到的四元数还是0。连指南针信息也都是0。这是什么原因?

    0
    评论操作 固定链接
  • 孤独的夜

        这边是采用“非回调方式发起订阅,回调参数设置成NULL,通过数据订阅线程函数获取飞行器推送的信息并打印在终端上“方法订阅四元数和指南针信息。如下截图所示。
         示例中“通过构造回调函数获取飞行器上的信息“的方法在实际运行中,并没有触发回调函数。
         所以采用另外一种订阅方法,这是有影响吗?

    0
    评论操作 固定链接
  • 孤独的夜

    环境:linux系统,其他信息如下:
    [0.002][core]-[Info]-[DjiCore_Init:106) Payload SDK Version : V3.9.1-beta.0-build.2090 
    [1.018][adapter]-[Info]-[DjiAccessAdapter_Init:231) Identify aircraft series is Matrice 30 Series 
    [1.018][adapter]-[Info]-[DjiAccessAdapter_Init:264) Identify mount position type is Extension Port Type 
    [1.028][adapter]-[Info]-[DjiAccessAdapter_Init:365) Identity uart0 baudrate is 460800 bps 
    [1.044][core]-[Info]-[DjiIdentityVerify_UpdatePolicy:474) Updating dji sdk policy file... 
    [2.056][core]-[Info]-[DjiIdentityVerify_UpdatePolicy:482) Update dji sdk policy file successfully 
    [2.104][core]-[Info]-[DjiCore_Init:174) Identify AircraftType = Matrice 30T, MountPosition = Extension Port, SdkAdapterType = None 
    [2.238][user]-[Info]-[main:146) Aircraft version is V04.03.00.00 

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,这两个方式的底层实现是一样的。建议您可以先升级下飞机固件,然后再尝试下。
    0
    评论操作 固定链接
  • 孤独的夜

    您好。Assistant软件模拟器中WorldX、WorldY、WorldZ、Latitude、Longitude、VelocityX、VelocityY、VelocityZ、AccX、AccY、AccZ、GyroX、GyroY、GyroZ分别对应数据订阅功能中哪些订阅项?这边想测试下您前面说的可以直接连接模拟器来进行订阅。

    0
    评论操作 固定链接
  • DJI Developer Support
    您好,档位P模式您直接在遥控器上设置,PSDK中是无法设置的。 关于您提到的WorldX、WorldY、WorldZ是您在模拟器中的坐标,以第一次飞机进入模拟器时的位置为原点,这三个数值记录离原点的距离,这个在PSDK中没办法拿到的,是模拟器特有的数据。 Latitude、Longitude您可以通过GPS的TOPIC:DJI_FC_SUBSCRIPTION_TOPIC_GPS_POSITION 来查看。VelocityX、VelocityY、VelocityZ可以通过订阅:DJI_FC_SUBSCRIPTION_TOPIC_VELOCITY。AccX、AccY、AccZ对应的是DJI_FC_SUBSCRIPTION_TOPIC_ACCELERATION_RAW,GyroX、GyroY、GyroZ对应的是DJI_FC_SUBSCRIPTION_TOPIC_ACCELERATION_RAW。 >PSDK示例程序有“无GPS环境下,仅推荐使用油门、姿态角控制无人机”的sample吗?这个sample是指速度控制模式吗? 这个指的是姿态角控制的,您可以看下: https://developer.dji.com/doc/payload-sdk-tutorial/cn/function-set/basic-function/flight-control.html
    0
    评论操作 固定链接

请先登录再写评论。