Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DJI Matrice 100无人机激活失败_C_Linux_Dji Sdk - Fatal编程技术网

DJI Matrice 100无人机激活失败

DJI Matrice 100无人机激活失败,c,linux,dji-sdk,C,Linux,Dji Sdk,我正在尝试通过在raspberry Pi 2上使用ROS来运行Matrice 100的示例应用程序。我将Pi通过USB-TTL电缆连接到无人机上的UART端口。我的笔记本电脑连接到运行DJI Assistant 2的无人机,控制器和iPhone也通过DJI Go应用程序(v3.1.54)无线连接到无人机。所有这些都连接到互联网,并登录到我各自的DJI开发者帐户。但是,当我运行“roslaunch dji_sdk sdk.launch”时,返回一个错误,表示无人机未激活 我已从DJI Assist

我正在尝试通过在raspberry Pi 2上使用ROS来运行Matrice 100的示例应用程序。我将Pi通过USB-TTL电缆连接到无人机上的UART端口。我的笔记本电脑连接到运行DJI Assistant 2的无人机,控制器和iPhone也通过DJI Go应用程序(v3.1.54)无线连接到无人机。所有这些都连接到互联网,并登录到我各自的DJI开发者帐户。但是,当我运行“roslaunch dji_sdk sdk.launch”时,返回一个错误,表示无人机未激活

我已从DJI Assistant 2启用API访问,我已确保TX和RX引脚连接正确,并且我已更改我的sdk.launch文件以具有正确的应用程序ID和密钥。我在其他帖子中注意到,他们说要编辑UserConfig.txt文件以获取应用程序ID、密钥和波特率;但是,我在Pi上找不到这个文件(它不存在)。只有sdk.launch文件,我正确地更改了这些设置以适应我的应用程序和无人机

STATUS/1 @ init, L55: attempting to open device /dev/ttyUSB0 with     baudrate 230400...
STATUS/1 @ init, L65: ...serial started successfully.
STATUS/1 @ parseDroneVersionInfo, L727: device Serial No. = 041DF31901
STATUS/1 @ parseDroneVersionInfo, L729: Hardware = M100
STATUS/1 @ parseDroneVersionInfo, L730: Firmware = 3.1.10.0
STATUS/1 @ parseDroneVersionInfo, L733: Version CRC = 0xA6453AAC
STATUS/1 @ initSubscriber, L778: Telemetry subscription mechanism is not   supported on this platform!
STATUS/1 @ initMFIO, L981: MFIO is not supported on this platform!
STATUS/1 @ initHardSync, L1077: Hardware sync is not supported on this platform!
STATUS/1 @ activate, L1313: version 0x3010A00
STATUS/1 @ getErrorCodeMessage, L656: activate
STATUS/1 @ getCMDSetActivationMSG, L705: NEW_DEVICE_ERROR

ERRORLOG/1 @ activate, L1339: Failed to activate please retry SET 0x0 ID 0x1 code 0x3

ERRORLOG/1 @ activate, L1346: Solutions for NEW_DEVICE_ERROR
   *Double check your app_id and app_key in UserConfig.txt. Does is match with your DJI developer account?
   *If this is a new device, you need to activate it through the App or DJI assistant 2 with internet
   For different aircraft, the App and the version of DJI Assistant 2 might be different, 
   For A3, N3, M600/Pro and M100, please use DJI Go App
   For DJI Assistant 2, it's available on the download tab of the product page
   *If this device is previously activated with another app_id and app_key, you will need to reactivate it again
   *A new device needs to be activated twice to fix the NEW_DEVICE_ERROR, so please try it twice.

[ERROR] [1560967071.851508645]: drone activation error
[ERROR] [1560967071.851845364]: Vehicle initialization failed

我在sdk.launch文件中检查了app_id和app_key,它们与我在DJI网站上的应用程序相同。仍然无法找到文件“UserConfig.txt”。在DJI Go应用程序已通过控制器连接到车辆后,我看不到在何处激活该设备。对于DJI Assistant 2,我找不到下载选项卡,也找不到通过笔记本电脑激活OSDK无人机的位置/方式。考虑到它非常新,我不相信它是用另一个应用程序id和密钥激活的。这就是我卡住的地方,我想在无人机上运行一个示例应用程序。关于如何解决这个问题有什么想法吗?

欢迎来到地狱般的DJI SDK世界。糟糕的API文档和bug的世界

根据您的错误,链接正常->正如您可以看到的固件版本

该错误是新设备错误,这意味着您没有打开remote。或者遥控器未连接到Go App或Go App未授权API

连接所有设备并相应地打开所有设备的电源

  • 打开无人机和遥控器。连接手机和随身应用程序
  • 确保你们能在地图上看到无人机的位置

  • 在Go应用程序的地图中看到无人机后,运行sdk.launch 完成此操作后,Go应用程序将弹出一条消息,提示您必须按OK或确认。这是为了解决新设备的错误

    然后对终端按ctrl-C键,再次运行sdk.laucnch

    还要确保sdk.午餐应用程序id与登录Go应用程序的帐户相同

    如果第一次不工作,再次通电并重复这2步

    sdk.launch需要至少运行两次。我知道这很愚蠢,但它是DJI,而且很普通


    还请记住为/dev/serial/by id/usbXXXX设置udev规则,然后为串口设置低延迟模式。这些都是您可能会遇到的常见错误

    几天前,我也遇到了同样的问题,我在Stack Overflow、DJI论坛等网站上发了10-20篇帖子dev@dji.com他们建议的方法对我很有效。下面是电子邮件

    张小龙(DJI)9月6日,美国标准时间11:22

    亲爱的克里斯:

    感谢您联系DJI

    如果您有与以前相同的错误日志,那么新设备并不重要 已激活。建议您删除catkin\u ws文件夹,然后 git克隆DJI OSDK-ROS源代码,修改DJI_sdk_node.cpp,并执行以下操作 柳絮。如果存在任何日志文档,您可以提供新的日志文档 问题又来了。祝你的项目好运

    感谢您的理解和支持,希望您过得愉快 一天

    向DJI SDK支持团队致意

    我的答复是:

    谢谢你,我接受了你的建议,效果很好

    我删除了文件夹,做了柳絮。这次我做了第二次登机 developer.dji.com上的SDK项目,并使用了该项目。我的第一次 其中一个已在同一台计算机上激活,但通过Linux(不是 ROS sdk)。我不确定这是否有区别。现在可以了

    克里斯


    我真的不知道为什么删除然后卸载是有效的,因为我在前一两天刚刚添加了一个新的安装。但我猜它起作用了。我还做了第二个API密钥,但根据DJI,这不是为什么它工作的原因。

    如果它对你有用,请考虑接受这个问题并竖起大拇指。