zoukankan      html  css  js  c++  java
  • 大疆DJI 精灵 4 RTK SDK开发之连接D-RTK 2 高精度GNSS移动站

           7月底开始接手dji ux-sdk开发的app的项目。其中解决D-RTK2连接问题的经验,非常鼓舞我,同时也感激刘队长和刘总对我的帮助。所以记录在此。

           开始做这块的工作,是参与自https://blog.csdn.net/cf8833/article/details/103053702。按照这个博客的操作,无法连接上D-RTK2

           2021年9月29日深夜,我一直没有找到如果精灵 4 RTK SDK开发之连接D-RTK 2 高精度GNSS移动站的方法。官网(https://developer.dji.com/api-reference/android-api/Components/RTK/DJIRTK.html?search=rtkm&i=0&#djirtk_startsearchbasestation_inline)api上写的大部分的函数主要是针对经纬M300 RTK,见下图。甚至业主口中赞不绝口的某斯研发出来的app上,此时我内心已经有些迟疑了,到底精灵4 RTK的SDK是否支持对D-RTK2的连接?

     图1 大部分D-RTK2的连接函数只支持m300

          刘队长对此质疑,他认为必须要以大疆DEV官方的明确答复才能断定。于是我向官方的客服发送邮件。

          在开发者论坛上,DJI的客服提示,设置基站模式的RTK之后,需要重启遥控器。但是精灵4 不带屏遥控器,在重启后确实会去尝试连接D-RTK2,但是遥控却无法连接上无人机了。

          此时,刘总也不放弃,他也在看上面的那篇博文件,并且他关注到留言里的一个函数。setRTKChannelEnabled()

     图2 博客的留言区提到的关键函数

           使用这个函数之后,必须要把重启遥控器的函数屏蔽掉,就能顺利地连上D-RTK了。也就是原理其实很简单,要想连接上D-RTK2就必须把遥控器的RTK连接通道打开,它才能连接上。而刚刚的重启遥控器的操作,也会把遥控器的某个通信链路打开,恰好可以连接上D-RTK2,但是却会断开与无人机的链接。也就是重启过程中只能占用一个通信链路。(这个分析不知道对不对,如有误,请博友们指正)。

           D-RTK是适用在 网络RTK无法覆盖的区域.

  • 相关阅读:
    Java 代码界 3% 的王者?看我是如何解错这 5 道题的
    你想成为什么级别的程序员?
    我竟然不再抗拒 Java 的类加载机制了
    程序员,你自豪什么
    你竟然没用 Maven 构建项目?
    一名合格的程序员应该是什么样子
    TDD(测试驱动开发)死了吗?
    Java Serializable:明明就一个空的接口嘛
    一个理想主义的程序员
    教妹学 Java:动态伴侣 Groovy
  • 原文地址:https://www.cnblogs.com/dowtowne/p/15473143.html
Copyright © 2011-2022 走看看