基于上云api前端开发经验教训(loading...)

240807

问题一:部署前端代码时npm报错

由于npm源在国外,出现安装异常或比较慢的情况,使用cnpm(淘宝镜像)来解决。

安装cnpm

 npm install -g cnpm --registry=http://registry.npmmirror.com

使用cnpm(同npm一样)

cnpm install

问题二:导入上云官方数据时MySQL指令报错error:22/error:2

source cloud_sample.sql文件路径

解决方法:

1、确定自己.sql文件为utf-8格式(上云sample sql是utf-8)

2、用管理员权限移动.sql文件至C:\Program Files\MySQL\MySQL Server 8.0\bin目录下

3、在bin文件夹使用cmd指令,mysql -uroot -p你的密码

4、输入命令 source cloud_sample.sql

成功: 

问题三:登陆时登录页面报错404

前端跨域问题处理

在vite.config.ts中完成前端跨域

proxy:{
      '/api':{
        target: 'http://localhost:6789',
        ws: true,
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      }

同时在之前按上云api文档写入appid等处修改url等参数

问题四:进入workspace后无地图加载

有上云api文档可知使用的是高德api,所以到高德开放平台申请一个key,并将其复制到下方图示位置。

问题五:mqtt.js 无法连接/错误提示 WebSocket connection to ‘ws://xxxxx:xxx‘ failed:

  1. 检查页面是http还是https的,是ws/wss,微信则是wx/wxs
  2. 检查地址是否正确,地址应该是ws://xxxxx/mqtt(BasePath是mqtt)(对于BasePath是 mqtt/ws,连接地址是 ws://xxxxx/mqtt/ws)
  3. /mqtt前应该是MQTT server地址(本地就是localhost或者127.0.0.01)冒号后跟端口号

作者有成功连接订阅传输模板如下:前端使用Websocket、MQTT连接、订阅,进行航线数据传输-CSDN博客

问题六:宝塔面板部署后端代码后,无法访问MySQL

在宝塔面板创建的数据库一定要命名规范,其次使用localhost作为地址,使用root和对于password登录。


241209

问题七:无法安装模块且出现java报错

将问题四中最后一张的图片重新配置,给热点ip或者公网ip都可以

问题八:所有pilot模块都可以安装,只有Cloud api无法安装且出现device not found

重点检查以下几个问题:

1、设备是否上云api支持,m3m是不支持的(参考下图1)补:最近大疆更新设备,以文档为参考

2、数据库是否连接正确,配置的ip和数据库名

3、MQTT的账号密码配置是否正确


 241216

问题九:自研前端的pilot端登录页无法正常跳转,重定向至web login页面

如果web端输入pilot登录端的url页面能够访问,那就一模一样输入到pilot端webview页面中,尤其是哈希模式路由


20250101

问题十:订阅osd主题前端渲染。拿不到具体数据

完整书写topic,添加想要渲染的gatewaySn 和 deviceSn

问题十一:使用srs服务器流进行前端基于flv.js播放手动刷新才能保证时效性,或延迟非常大

参考bilibili的官方文档,添加MediaDataSource 媒体数据源中isLive为true,Config中的enableStashBuffer为false


20250112

问题十二:云存储服务器minio出现报错sts....403

1、作者使用的是minio,在minio中identify中创建user(配置为管理员权限),并生成key(不确定是否一定要生成key)

2、在后端yml中access-key 和 secret-key是user账号和密码


20250118

问题十三:机场上云过程出现机场thing模块版本1.0.3要求1.3.0报错

在Dock2ThingVersionEnum.java 文件下添加下述代码

public enum Dock2ThingVersionEnum implements IThingVersion {

    // 添加下述thing版本

    V1_3_0("1.3.0", CloudSDKVersionEnum.V1_0_3),
}

问题十四:机场上云过程出现无人机thing模块版本1.0.3要求1.3.0报错

在DroneThingVersionEnum.java 文件下添加下述代码

public enum DroneThingVersionEnum implements IThingVersion {

    V1_0_0("1.0.0", CloudSDKVersionEnum.V0_0_1),

    V1_1_0("1.1.0", CloudSDKVersionEnum.V1_0_0),

    V1_1_2("1.1.2", CloudSDKVersionEnum.V1_0_0),

    V1_1_3("1.1.3", CloudSDKVersionEnum.V1_0_2),

    V1_2_0("1.2.0", CloudSDKVersionEnum.V1_0_3),

    // 添加下述代码
    V1_3_0("1.3.0", CloudSDKVersionEnum.V1_0_3),
    ;

问题十五:机场上云过程遥控器端无法正常绑定云平台,但可以正常mqtt进行drc

这种情况下已经完成底层逻辑的上云了


250126

问题十六:pilot指令飞行错误码352001——下发指令有误

检查指令中键值对的key名字与value类型,以及方法名method是否正确


250216

问题十七:后端打包jar包,maven找不到DJI1.0.3的包,之后也无法启动

打包后发现工作路径下的target的classes中的com文件被删除,故尝试启动后端服务出现报错

[ERROR] Failed to execute goal on project sample: Could not resolve dependencies for project com.dji:sample:jar:1.10.0 [ERROR] dependency: com.dji:cloud-sdk:jar:1.0.3 (compile) [ERROR] com.dji:cloud-sdk:jar:1.0.3 was not found in Central Repository: during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced [ERROR] [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] DependencyResolutionException - Apache Maven - Apache Software Foundation

错误: 找不到或无法加载主类 com.dji.sample.CloudApiSampleApplication
原因: java.lang.ClassNotFoundException: com.dji.sample.CloudApiSampleApplication

github找到添加即可启动。但如何打包为jar包,望各位大佬评论区指教一下,我前端做的多,java后端不太熟悉。


250220

问题十八:Oss的三种注入导致报错

可见官方提示:Consider marking one of the beans as @Primary, updating the consumer to accept multiple beans, or using @Qualifier to identify the bean that should be consumed

1、使用 @Qualifier 注解明确指定注入的实现类

@CrossOrigin(origins = "*")
@RestController
@RequestMapping("/api/oss")
public class OssController {
    private final IOssService ossService;

    public OssController(@Qualifier("minIOServiceImpl") IOssService ossService) {
        this.ossService = ossService;
    }
}

2、使用配置类动态选择实现类

@Configuration
public class OssServiceConfig {
    @Bean
    public IOssService ossService(@Value("${oss.provider}") String provider) {
        switch (provider.toLowerCase()) {
            case "minio":
                return new MinIOServiceImpl();
            case "aliyun":
                return new AliyunOssServiceImpl();
            case "aws":
                return new AmazonS3ServiceImpl();
            default:
                throw new IllegalArgumentException("Unsupported OSS provider: " + provider);
        }
    }
}

250307

问题十九:机场上云过程网络检测出现ntp服务检测无效

利用windows系统配置ntp服务器,w32tm 测试一下服务器地址能否时间追踪,同时配置后端yaml中的ntp服务器地址,默认为123端口,千万不要修改!

问题二十:进入指令飞行模式后出现514304报错

通过官方文档和技术支持的沟通,明确出现上述错误的原因:1、网络问题 2、mqtt配置信息问题

排查后发现需要将address修改为  "address": "ws://192.XXX.XXX.24:8083/mqtt",的drc链路形式


250310

问题二十一:机场上云过程组织绑定出现报错,显示云平台或网络有问题,机场绑定失败

1、尝试mqtt后台踢出机场实现上云

2、3205固件可能需要解决的问题 – 大疆创新SDK技术支持论坛

3、添加新版本V1.3.1

4、检查数据库Manage_device数据表及相关枚举类型是否存在


250311

可根据下述源码手动上云

DJI Dock2 最新固件3205手动上云实现-CSDN博客


250313

问题二十二:进入指令飞行模式后按照文档进行舱盖开启关闭和无人机开启关闭出现报错514126,设备无响应

通过event主题可以发现错误码514126,同时官方文档目前错误码项未收入此错误码,添加bid即可解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值