司空 2 私有化FAQ
  1. 设备相关
司空 2 私有化FAQ
  • 部署相关
    • 高程数据导入报错 tif_slices"does not exist 问题
    • 解决没有NTP服务可用的问题
    • 机场媒体文件无法上传问题
    • 关于司空2平台调用RTK标定接口进行RTK标定未成功问题
    • 配置OAuth后,三方账号导入管理账户无权限为游客
    • 通过Amazon Cognito 身份平台用户登录白屏问题
    • 司空私有化平台无法修改设备绑定码问题
    • 登录司空平台报异常,且网络显示未连接问题
    • 司空平台删除模型文件后服务器对应文件还是存在问题
    • 司空私有化服务器重启后部分容器无法自动启动问题
    • 司空私有化系admin 账号提示没有权限问题
    • 部署司空报错HTTP 403解决方案
    • 司空服务异常 tas-service 日志报错 CodeMeter Licence Server not found Error 101
    • codemeter启动/导入许可证异常处理
  • 网络相关
    • 司空私有化内外网混合部署下的网络打通
    • 防火墙端口放开策略说明
  • 媒体相关
    • 设备上传媒体文件完成,但是在平台找不到对应的媒体文件
  • 地图相关
    • 离线地图部署各种问题解答
    • 在私有化安装部署中使用在线地图
    • 高程数据导入成功但是地图上不显示高程红色框问题
  • 直播相关
    • 直播黑屏黑屏问题+直播报错超时问题
  • 建模相关
    • 司空页面建模报错问题
    • 客户环境建模报错-已存在重建任务,请等待或取消进行的任务
    • 建模报错 “未找到有效的云端重建证书”
    • 上传模型文件或建模98%报异常问题解决
  • 设备相关
    • 设备上云报超时问题
    • 飞机显示离线且poilt2报错101
  • License证书
    • 部署司空2报codemeter的License相关错误解决
    • 司空私有化license v1.0升级v1.1
    • 4G私有化服务器升级到最新版本教程
  • 二次开发相关
    • 司空2私有版的组织秘钥如何获取?
    • 司空2私有版的组织密钥是不是所有用户都是一样?
    • 通过curl命令访问/openapi/v0.1/flight-task/{task_uuid}/media,点击响应中的url连接提示没有权限
    • 物模型获取API中rainfall字段枚举对应的具体雨量值
    • 如何获取司空2前端PaaS组件的demo文件
    • 消息通知SDK
      • 消息通知SDK配置websocket连接地址后,建立连接失败
      • 如何异步等待websocket连接建立
      • 如何管理多个设备的通知事件
      • 同一个SN存在多个订阅者,消息是如何分发的,是广播模式吗
      • SDK的消息频率设置没生效,设置频率是30秒,消息推送还是1秒1次
      • 飞行任务状态变更事件通知中是否支持获取无人机的SN
      • 是否支持websocket连接健康检查,判断当前连接是否正常
    • 飞行记录PaaS组件
      • window.FH2 报错为 undefined
      • 运行飞行记录组件demo.html但地图区域未加载
      • 飞行记录组件只加载了一部分界面
    • 直播操控SDK
      • 用户使用直播sdk初始化失败
      • 用户使用Nginx服务端部署SDK,无法识别/加载WASM文件
      • 用户调用SDK获取设备列表识别,错误拉取到html页面
      • 运行demo文件依赖的config.json中的字段值怎么填
    • 航线PaaS组件
      • 航点航线全局设置面板消失+模糊
      • 刷新网页后航线组件无法加载
      • 地图渲染错误:cesium render Error Cannott read properties of undefined(reading origin)
      • 地图右下角控件(底图切换)点击无反应
      • 航线Paas组件的全局*号样式会影响客户项目本身的样式
      • 航线预览时地图回中时的中心点是什么
      • PaaS组件是否支持切换英文
    • 驾驶舱PaaS组件
      • 无法进入驾驶舱,浏览器控制台报错,prjId为空
    • OpenAPI
      • 司空2私有版开启直播API能否支持返回RTMP拉流地址
      • /openapi/v0.1/flight-task/{task_uuid} GET API 报200500错误码
      • /openapi/v0.1/flight-task/{task_uuid}/media GET API 报200500错误码
      • 通过curl命令访问/openapi/v0.1/flight-task/{task_uuid}/media,点击响应中的url连接提示没有权限
      • /openapi/v0.9/media/api/v1/workspaces/{proj_uuid}/files GET API返回的create_at是不是媒体的拍摄时间
      • 航线任务的暂停、恢复和终止返航可以通过哪个API实现
      • 在无人机飞行过程中,如何切换直播镜头为红外镜头
  • DJI Inside设备
    • DJI Inside设备媒体文件上传问题
  • 私有化4G增强图传相关
    • 私有化4G增强图传排障流程图
    • 4G私有化服务器第一次登录protainer 需要密码
    • 私有化4G增强图传排障流程图 Copy
  1. 设备相关

设备上云报超时问题

文档编号维护人内容版本号
2025062401AX设备上云超时V1.2

问题现象:#

客户在正常填写完私有化上云的信息后,进行配置上云,但是却出现了连接超时的报错信息:
image.png
注意:30812和1883端口是默认的,如果在env文件中对这两个有修改则按照实际的端口来进行测试,如果未修改就是30812和1883

问题原因:#

问题原因可能有以下几点:
1.
司空的1883、30812端口未对设备放开,导致设备无法访问;
2.
1883端口放开了,但通过客户端连接司空的mqtt,发现在等待一会后,报错连接不上,此时在将连接超时时间(Connect Timeout)设置为大于10s,比如30s,发现又可以连接上,这个时候就需要考虑是否是mqtt桥接信息中webhook不可用导致的;

解决方法:#

1. 步骤1:#

首先,我们对30812和1883端口进行测试,需要找一台电脑,让它的网络保持和设备网络一样,换而言之可以直接把设备的网线插到电脑上,模拟设备的网络环境(电脑除了网线无任何其他网络),然后通过windows的cmd控制台对私有化司空的1883和30812的端口进行测试(telnet 私有化司空ip 30812 以及 telnet 私有化司空ip 1883),看是否可以访问:
image.png
出现以下结果这表明端口是通的
image.png
出现以下结果表明端口是被禁止的,需要开通:
image.png
1883端口同样如此进行测试
如果端口测试不通,需要找网络人员进行排查分析;

2. 步骤2:#

如果以上两个端口测试都没问题,那可以测试一下1883的连接,windows可以使用官方的mqtt客户端(https://mqttx.app/zh) 进行mqtt的连接测试:
1.连接测试:
点击新建连接,下图红框内容都是需要填写的,名称尽量写中文,服务器地址是司空的ip,端口填1883,账号密码在司空服务器,执行cat /xxx/install/deploy/env.map | grep EMQX_API 命令进行获取,(其中/xxx/install为你在env文件中填写的install目录的地址),填写完毕点击连接:
image.png
连接成功为以下表现:
image.png
连接失败表现:
image.png
或者出现
image.png
如果连接失败,尝试将超时时间设置为30s,发现可以成功连接上:
image.png
image.png
这个时候,我们需要考虑是否是mqtt桥接信息中的webhook不可用导致的,如果webhook不可用,会出现连接超时的报错,此时外部再去连接司空的mqtt也出现超时问题,这是因为webhook只有在连接成功或超时后,才会允许外部连接司空的mqtt;

3. 步骤3:#

我们也可以登录进mqtt的客户端进行确认,看是否有相关的告警信息
访问地址:司空ip:30807,账号密码在env文件中可查,对应EMQX_DASHBOARD_USER/EMQX_DASHBOARD_PWS关键字
image.png
从这里我们可以明显看到提示是因为webhook不可用了
image.png
需要确认webhook的有效性,并修复webhook,让其可访问,在mqtt桥接中,webhook和三方的mqtt信息都是需要填写且为有效地址可访问,缺一不可,如果webhook暂时无法修复,需要手动在司空页面的sync页面对mqtt桥接进行关闭:
image.png
也可以在司空服务器手动执行以下命令进行mqtt桥接关闭:
curl -X PUT "http://司空ip:38080/bridges/v1/resources/switch" -H "Content-Type: application/json" -d '{"enabled": false}'

4. 补充说明:#

同时在连接上mqtt服务后,我们可以进行下mqtt消息的发送和接收测试,以确保mqtt服务是正常工作的:
点击添加订阅
image.png
然后填写需要订阅的主题,直接填写test就好:
image.png
确认后退出,开始发送mqtt的消息:
image.png
再点击已接收的消息,确认下是否是刚刚我们自己发送的,主要看消息内容和发送的时间是否对的上:
image.png
如此我们mqtt服务就是健康的
修改于 2025-07-30 10:51:37
上一页
上传模型文件或建模98%报异常问题解决
下一页
飞机显示离线且poilt2报错101
Built with