knowledge_map/工作/艾航/问题排查.md
2023-05-16 20:45:12 +08:00

112 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## mqtt 工具使用
### 工具下载
[MQTT Explorer | An all-round MQTT client that provides a structured topic overview (mqtt-explorer.com)](https://mqtt-explorer.com/)
各环境mqtt服务器地址
* 云南蒙自地址 112.116.71.17:1883
* 测试地址 121.40.120.163:1883
* 正式地址 39.174.88.210:12468
按照下图输入IP和端口暂时不需要用户名和密码可以直接登录
![[Pasted image 20230331153159.png]]
订阅消息
/ah/# 订阅所有消息
/ah/uav/# 只订阅全部无人机消息
/ah/hangar/# 只订阅全部机库消息
/ah/设备类型/设备序列号/# 订阅指定设备的全部消息
按照下面步骤新增订阅并连接到服务器
![[Pasted image 20230331153426.png]]
![[Pasted image 20230331153752.png]]
![[Pasted image 20230331153718.png]]
## app 日志查看
日志目前都存储在自己部署的minio 云存储。
下面是地址和账号 ”/“之前的是账号,后面是密码
云南
http://112.116.71.17:9000/
device-application/s&F4dGN9Q1taErBOuBPVrd3hXhMNhsCt
正式服务器
http://39.174.88.210:12490/login
device-application/s&F4dGN9Q1taErBOuBPVrd3hXhMNhsCt
测试服务器
http://39.174.88.209:10790/buckets/aihang/browse
device-application/s&F4dGN9Q1taErBOuBPVrd3hXhMNhsCt
![[Pasted image 20230331161609.png]]
![[Pasted image 20230331161707.png]]
![[Pasted image 20230331162020.png]]
![[Pasted image 20230331165136.png]]
## 查问题流程
* 当有人反馈问题时先初步判断是否为app 相关问题一般涉及到飞机相关的操作都有可能是app 端的问题。
* 然后根据提供的任务ID去查日志日志文件名称为飞机序列号+任务名称+任务ID+ 时间戳+时间戳转换出来的日期和时间。如果查不到任务ID 就需要根据问题反馈人反馈时间去找附近时间段的日志文件。
* 找到日志文件之后一般需要解析日志文件,我用这个也可以用别的 [在线JSON转Excel工具 - UU在线工具 (uutool.cn)](https://uutool.cn/json2excel/)
![[Pasted image 20230331171748.png]]
一般只需要看actioninfo 这个字段的东西就行,里面都是关键信息。
任务整个流程为,流程为同步任务,一步出错则后续都不执行:
* 前端页面用户下发任务
* 后端对任务数据、天气、设备状态等进行校验
* 后端下发开库开机 机库端返回成功
* 后端下发遥控器开机 app 返回成功
* 后端下发自检app 返回自检成功
* 后端下发任务执行app 返回执行成功
* 后端关闭机库
* 任务中 就正常飞行,也可能会收到远程控制指令这时候会暂停任务,响应远程控制的指令
* 任务结束app调用任务结束接口接口返回成功飞机返航三次失败就飞机前往备降点
* 任务结束接口调用成功,后端执行开库动作
* 开库成功后后端发送降落请求这时app 控制无人机进行降落流程
* 降落请求长时间未响应后端会在降落请求发送后的30分钟执行关库指令
* 降落成功后app进行图片传输后端操作机库执行关库夹紧推杆动作
* app图片传输结束后app 调用后端的飞机关机接口,整个任务流程结束
当用户判断出现问题时,先查对应的指令,首先看对应设备有没有收到指令,未收到则为后端或者前端问题。
app 这边对每次收到的指令都会做出响应无响应说明app有问题。
app 响应且响应为成功结果,则后端或者前端有问题。如果响应结果为错误则根据报错信息查问题
### 暂存已知问题
执行任务起飞后不关库 后端偶发性问题暂未定位到问题
机库开库无人机不开机 后端偶发性问题暂未定位到问题
降落后关库,但是关机失败,已解决,但是测试量不够不确定是否会复现
开库开机后app 显示传输数据完成,关闭无人机 已解决待测试
### app 指令接收和响应
#### 指令接收
接收执行的 mqtt topic为 /ah/uav/无人机序列号/command/
指令消息体如下app 日志会保存下 code 和requestId的内容
```json
{
"code": "task_stop",
"data":"",
"sdkType": "msdk",
"deviceId": "1ZNDH8500B72MM",
"requestId": "1111",
"time": 1667467817551
}
```
#### 指令响应
接收执行的 mqtt topic为 /ah/uav/无人机序列号/commandResponse/
消息结构如下当code 不为0是属于指令执行异常msg 字段会加上原因
``` json
{
"code": 0,
"data": "camera_vertical",
"msg": "on",
"requestId": "1111"
}
```
### app 指令类别参考接口文档