上云api,planTimer选择Continuou的时候

已完成

评论

7 条评论

  • DJI Developer Support
    尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 您检查下机场时间问题,可以使用mqttx监听下mqtt的日志。 1.机场收到执行指令时,会将执行时间与收到指令时的本机时间比对。机场下发航线任务时,报错319008的解决方案 2.您可以查看机场发过来的消息都会带有timestamp字段,表示机场的时间,可以根据此字段查看机场的时间是否正常。 Best Regards, DJI 大疆创新SDK技术支持 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • piaoyaoi
    比如说这里计算的结束时间就是2024-05-31 19:08:38
    @Override
    public void setConditionalWaylineJob(WaylineJobDTO waylineJob) {
    if (!StringUtils.hasText(waylineJob.getJobId())) {
    throw new RuntimeException("Job id can't be null.");
    }
    RedisOpsUtils.setWithExpire(RedisConst.WAYLINE_JOB_CONDITION_PREFIX + waylineJob.getJobId(), waylineJob,
    (Duration.between(waylineJob.getEndTime(), LocalDateTime.now()).getSeconds()));
    }

    这里结束时间(Duration.between(waylineJob.getEndTime(), LocalDateTime.now()).getSeconds())一定是个负值,还没到下发机场那一步呢

    0
    评论操作 固定链接
  • DJI Developer Support
    尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 机场和无人机开机且上云吗?redis里面的信息如果没有收到osd的推送,会失效。这一步已经请求到redis了。 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • piaoyaoi

    您好,我可能没有描述清楚,这一步是向redis里面存值。Duration.between(waylineJob.getEndTime(), LocalDateTime.now()).getSeconds()
    这里,waylineJob.getEndTime()结束时间是拿前端传递的Date加上Time最后时间段,比如Date选择了2024-05-31,Time选择了 19:08:38,这里的waylineJob.getEndTime()值就是2024-05-31 19:08:38。那么求2024-05-31 19:08:38和当前时间的差值,那么他一定是一个负值,redis过期时间为负值会抛出异常的。

     
    0
    评论操作 固定链接
  • DJI Developer Support
    尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 很抱歉,没理解您的意思。demo测试出了和您一样的报错,sample是供开发者参考的示例代码,可能需要您自行修复下,应该是两个参数的位置错误了。 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接
  • piaoyaoi

    好的,感谢耐心回复

    0
    评论操作 固定链接
  • DJI Developer Support
    尊敬的开发者, 您好,感谢您联系DJI 大疆创新。 不用谢,欢迎您随时咨询。 希望我们的解决方案能够帮到您,感谢您的邮件,祝您生活愉快! Best Regards, DJI 大疆创新SDK技术支持
    0
    评论操作 固定链接

请先登录再写评论。