Psdk和 Mobile SDK的数据传输和交互
已完成目前看到PSDK和Mobile SDK,及Osdk直接的数据传输,在PSDK使用的是PsdkDataTransmission_SendDataToMobile和PsdkDataTransmission_SendDataToOsdk 等接口,该接口单次传输数据量为128字节,底层基于串口。
想问的问题是:除以上基于串口的数据传输接口外,有没有提供基于网卡连接的(PSDK和Mobile-sdk之间)数据传输接口?还是只有这类基于串口的数据收发接口?谢谢
-
您提到的基于网口的高速数据传输,可以使用以下数据传输功能中的PsdkDataTransmission_SendDataStream接口,以及SDK互联互通功能(也叫MOP功能),以下文档供您参考。 需要注意的是,这2个功能都需要负载系统为Linux系统,且MOP功能暂时仅支持M300。 https://developer.dji.com/cn/document/a822024a-3876-4fb7-9082-ec60465c4cc4 https://developer.dji.com/cn/document/41049fd6-55c7-45f0-af7a-bcd4c9aeb0c5 ![](https://djisdksupport.zendesk.com/attachments/token/5ixziWlu8gDkCNLoyny9MTSb9/?name=inline-1683795989.png) -
非常感谢,目前启用了PSDK->Mobile SDK的数据流传输接口 PsdkDataTransmission_SendDataStream
按照PSDK例程调用完毕后,程序返回的状态正常(如下日志),通过网络工具也能看到PSDK和服务器端(192.168.110.1)有数据交互,但是在Mobile的demo界面上只看到有UART串口通道有显示接收数据,在UDP Channel显示为空白,请问该如何进一步诊断是Mobile未收到数据,还是未显示数据,还是UDP数据链路未通。谢谢
send to mobile state: realtimeBandwidthBeforeFlowController: 121, realtimeBandwidthAfterFlowController: 121, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.data stream state: realtimeBandwidthLimit: 102400, realtimeBandwidthBeforeFlowController: 71, busyState: 0
-
PSDK 端完整串口日志
[BEGIN] 2021-11-02 14:57:23root@zynq:~# ./psdk_demo---------- Enter psdk ,Build on ARM --------Get current log index: 74[3748672.766][module_core]-[Info]-[PsdkCore_Init:76]Payload SDK Version : V2.2.1-beta.0-build.315[3748672.777][module_core]-[Info]-[PsdkCore_WaitAdapterConnection:234]Connect to Skyport V2 or X-Port success[3748672.787][module_core]-[Info]-[PsdkCore_PrintAdapterSerialNumber:278]Get serial number of Skyport V2 or X-Port is 39CDH690010135[3748672.788][module_core]-[Info]-[PsdkCore_Init:130]Updating PSDK policy file.[3748672.808][module_aircraftinfo]-[Info]-[PsdkAircraftInfo_GetAircraftTypeAsyncCallback:402]aircraft type is Matrice 300 RTK.[3748672.808][module_aircraftinfo]-[Info]-[PsdkAircraftInfo_GetDevelopmentKitTypeAsyncCallback:483]PSDK adapter type is Skyport V2.[3748673.788][module_core]-[Info]-[PsdkCore_Init:133]PSDK policy file update success.[3748674.288][module_core]-[Info]-[PsdkCore_Init:146]PSDK is connecting aircraft.[3748674.788][module_core]-[Info]-[PsdkCore_Init:146]PSDK is connecting aircraft.[3748674.836][module_aircraftinfo]-[Info]-[PsdkAircraftInfo_GetPayloadMountPositionAsyncCallback:582]This payload is mounted on NO.1 gimbal connector.[3748675.289][module_core]-[Info]-[PsdkCore_Init:146]PSDK is connecting aircraft.nector.[3748675.289][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748676.289][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748677.289][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748678.290][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748679.290][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748680.290][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748681.290][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748682.291][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748683.291][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748684.291][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748685.291][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748686.292][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:138]Waiting payload negotiate finish.[3748687.365][module_nego]-[Info]-[PsdkPayloadNegotiate_RemoveDeviceSync:252]waiting payload negotiate finish.[3748688.365][module_nego]-[Info]-[PsdkPayloadNegotiate_RemoveDeviceSync:252]waiting payload negotiate finish.[3748688.501][module_nego]-[Info]-[PsdkPayloadNegotiate_VersionHandle:293]Payload negotiate use dynamic ip config[3748688.775][module_nego]-[Info]-[PsdkPayloadNegotiate_NotifyHandle:564]uav ip addr:192.168.110.1[3748689.365][module_nego]-[Info]-[PsdkPayloadNegotiate_Init:155]Payload negotiate has finished.eth0 Link encap:Ethernet HWaddr 00:0a:35:00:01:22[5024.017][module_nego]-[Info]-[PsdkPayloadNegotiate_RemoveDeviceSync:252]waiting payload negotiate finish.[5025.019][module_nego]-[Info]-[PsdkPayloadNegotiate_RemoveDeviceSync:252]waiting payload negotiate finish.[5025.137][module_nego]-[Info]-[PsdkPayloadNegotiate_VersionHandle:293]Payload negotiate use dynamic ip config[5025.433][module_nego]-[Info]-[PsdkPayloadNegotiate_NotifyHandle:564]uav ip addr:192.168.110.1[5026.020][module_user]-[Info]- get video stream remote address:192.168.110.1_23003~~~~ Enter UserDataTransmission_Task ~~~~set publisher success.[5028.292][module_subscription]-[Info]-[PsdkDataSubscription_RegTopicSync:603]Subscribe topic success.[5028.832][module_subscription]-[Info]-[PsdkDataSubscription_RegTopicSync:603]Subscribe topic success.aircraftType=[60]~~~~ Run DataTransmission_Task Tick=[0] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 0, realtimeBandwidthAfterFlowController: 0, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 0, realtimeBandwidthAfterFlowController: 0, busyState: 0.ataSubscription_RegTopicSync:603]Subscribe topic success.[5029.384][module_upgrade]-[Info]-[PsdkUpgrade_Init:109]Upgrade transfer type is ftp, ftp port = 0[5029.384][module_upgrade]-[Info]-[PsdkUpgrade_EnableLocalUpgrade:118]Enable local upgrade[5029.384][module_core]-[Info]-[PsdkCore_ApplicationStart:199]Start application now.[5029.833][module_user]-[Info]- timestamp: millisecond 5029819 microsecond 734851993.[5029.833][module_user]-[Info]- quaternion: 0.636977 -0.011576 0.011861 0.770705.[5029.833][module_user]-[Info]- velocity: x 0.000000 y 0.000000 z 0.000000, healthFlag 0.[5029.833][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[1] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.ircraftInfo_NotifyMobileAppInfoHandle:621]Set mobile app info, language is Chinese, screen type is Big Screen[5030.839][module_user]-[Info]- timestamp: millisecond 5030819 microsecond 735851993.[5030.839][module_user]-[Info]- quaternion: 0.637014 -0.012138 0.012282 0.770659.[5030.839][module_user]-[Info]- velocity: x -0.000075 y 0.003566 z 0.000563, healthFlag 1.[5030.839][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[2] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.millisecond 5031819 microsecond 736851991.[5031.835][module_user]-[Info]- quaternion: 0.637007 -0.011974 0.012081 0.770670.[5031.835][module_user]-[Info]- velocity: x 0.001569 y -0.001552 z 0.000596, healthFlag 1.[5031.835][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[3] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.eSync_PushAppTimeHandle:90]current time: 2021.11.2 14:57 54.[5032.766][module_downloader]-[Warn]-[PsdkDataDownloader_SendDataUpdate:569]Psdk Camera Get App File Send Ack TimeOut[5032.836][module_user]-[Info]- timestamp: millisecond 5032839 microsecond 737872048.[5032.836][module_user]-[Info]- quaternion: 0.636893 -0.012083 0.012273 0.770760.[5032.836][module_user]-[Info]- velocity: x 0.000793 y -0.002248 z 0.001306, healthFlag 1.[5032.836][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[4] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.millisecond 5033819 microsecond 738851992.[5033.831][module_user]-[Info]- quaternion: 0.637119 -0.011580 0.011991 0.770585.[5033.831][module_user]-[Info]- velocity: x 0.000793 y -0.002248 z 0.001306, healthFlag 1.[5033.832][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[5] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.millisecond 5034819 microsecond 739851992.[5034.837][module_user]-[Info]- quaternion: 0.637108 -0.011633 0.012184 0.770590.[5034.839][module_user]-[Info]- velocity: x -0.000959 y 0.000583 z 0.000305, healthFlag 1.[5034.840][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[6] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.millisecond 5035819 microsecond 740851997.[5035.846][module_user]-[Info]- quaternion: 0.637041 -0.011778 0.012298 0.770641.[5035.846][module_user]-[Info]- velocity: x -0.001501 y 0.000286 z 0.000143, healthFlag 1.[5035.847][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[7] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.millisecond 5036839 microsecond 741872056.[5036.841][module_user]-[Info]- quaternion: 0.636883 -0.011896 0.012532 0.770767.[5036.842][module_user]-[Info]- velocity: x -0.001585 y -0.002681 z -0.000521, healthFlag 1.[5036.842][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[8] ~~~~Send Data [120] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.millisecond 5037839 microsecond 742872036.[5037.837][module_user]-[Info]- quaternion: 0.636894 -0.011761 0.012230 0.770764.[5037.837][module_user]-[Info]- velocity: x -0.000808 y 0.000143 z -0.000327, healthFlag 1.[5037.837][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[9] ~~~~Send Data [121] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.millisecond 5038839 microsecond 743872047.[5038.843][module_user]-[Info]- quaternion: 0.636863 -0.011755 0.012218 0.770791.[5038.843][module_user]-[Info]- velocity: x -0.000255 y -0.000367 z -0.001129, healthFlag 1.[5038.843][module_user]-[Info]- gps position: x 0 y 0 z 0.gps=0.000000~~~~ Run DataTransmission_Task Tick=[10] ~~~~Send Data [121] bytessend to mobile state: realtimeBandwidthBeforeFlowController: 120, realtimeBandwidthAfterFlowController: 120, busyState: 0.send to onboard computer state: realtimeBandwidthBeforeFlowController: 255, realtimeBandwidthAfterFlowController: 255, busyState: 0.^Croot@zynq:~# ping 192.168.110.1PING 192.168.110.1 (192.168.110.1) 56(84) bytes of data.64 bytes from 192.168.110.1: icmp_seq=1 ttl=64 time=0.643 ms64 bytes from 192.168.110.1: icmp_seq=2 ttl=64 time=0.473 ms64 bytes from 192.168.110.1: icmp_seq=3 ttl=64 time=0.552 ms^C--- 192.168.110.1 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2060msrtt min/avg/max/mdev = 0.473/0.556/0.643/0.069 ms -
根据工程师确认,您可以在test_payload_cam_emu.c文件中将StreamType设成Custom格式,这边测试可以正常显示。 ![](https://djisdksupport.zendesk.com/attachments/token/NSy3Dn1vBhsj8tE91SCKqEfPS/?name=inline935104749.png)
请先登录再写评论。
评论
9 条评论