# 检修助手 **Repository Path**: Jimtan/maintenance-assistant ## Basic Information - **Project Name**: 检修助手 - **Description**: 检修助手mvvm模式kotlin - **Primary Language**: Kotlin - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-19 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 安卓检修助手应用 🔄 [English Version](README.en.md) ## 项目简介 本项目是一个基于Android平台的智能检修助手解决方案,由两个协同工作的应用组成:移动应用(mobile-app)和智能眼镜应用(glass-app)。该系统通过移动设备与智能眼镜的实时交互,为电力系统检修人员提供增强现实辅助体验,支持工单管理、设备识别、视觉指导、视频流传输等功能,极大提升检修效率和准确性。 ## 系统架构 项目采用多模块架构设计,便于代码管理和功能扩展: ``` maintenance-assistant/ ├── mobile-app/ # 移动应用模块 │ ├── build.gradle.kts # 移动应用构建脚本 │ ├── libs/ # 第三方依赖库(包含AIKit.aar、Msc.jar等科大讯飞TTS相关库) │ └── src/ # 源代码目录 ├── glass-app/ # 智能眼镜应用模块 │ ├── build.gradle.kts # 眼镜应用构建脚本 │ ├── libs/ # 第三方依赖库 │ └── src/ # 源代码目录 ├── scripts/ # 自动化脚本目录 │ ├── run_mobile.ps1 # 移动应用自动部署脚本 │ └── run_glass.ps1 # 智能眼镜应用自动部署脚本 ├── demo/ # 示例应用 │ ├── glassdemo/ # 眼镜端示例应用 │ └── phonedemo/ # 手机端示例应用 ├── backup_config/ # 配置备份目录 ├── gradle/ # Gradle配置和包装器 │ ├── libs.versions.toml # 版本管理 │ └── wrapper/ # Gradle包装器 ├── build.gradle.kts # 顶级构建脚本 ├── settings.gradle.kts # 项目模块配置 ├── 开发文档.md # 中文开发文档 ├── 操作手册.md # 中文操作手册 ├── 检修助手流程图.md # 中文流程图文档 └── 流程图.md # 中文流程图文档 ``` ## 模块说明 ### mobile-app 移动应用模块作为系统的控制中心,主要负责: - 接收并实时显示来自智能眼镜的视频流 - 与智能眼镜进行双向消息通信 - 工单的创建、编辑、管理和查看 - 提供工单新增功能,支持拍照识别和视觉识别两种方式 - 提供直观的用户界面控制眼镜端功能 - 实时监控连接状态和视频传输状态 ### glass-app 智能眼镜应用模块作为前端采集和输出设备,主要负责: - 摄像头视频流的采集与实时传输 - 人脸识别与追踪功能 - 文本消息的语音播报 - 接收并执行来自移动应用的指令 - 设备状态(电量、存储等)的监控 ### scripts 自动化脚本模块提供便捷的开发和部署工具: - 设备自动识别和应用部署 - 一键构建和运行应用 - 错误处理和日志记录 ## 快速开始 ### 环境要求 - Android Studio Hedgehog或更高版本 - JDK 17+ - Android SDK 34 (API level 34) - Gradle 8.3+ - Windows PowerShell 5.0+(运行自动化脚本) ### 安装与配置 1. **克隆或下载项目** ```powershell git clone [项目仓库地址] cd assistant ``` 2. **导入项目到Android Studio** - 打开Android Studio - 选择"Open an Existing Project" - 导航到项目根目录并选择 - 等待Gradle同步完成 3. **运行应用** **使用自动化脚本(推荐)**: ```powershell # 运行移动应用 .\scripts\run_mobile.ps1 # 运行智能眼镜应用 .\scripts\run_glass.ps1 ``` **手动运行**: - 为每个应用创建运行配置(详见下文) - 连接相应设备 - 点击运行按钮启动应用 ## 开发配置 ### 创建运行配置 1. 点击顶部工具栏的"Add Configuration..." 2. 点击"+"按钮,选择"Android App" 3. 在"Module"下拉菜单中选择目标模块(`:mobile-app`或`:glass-app`) 4. 命名配置(如"Mobile App"或"Glass App") 5. 点击"OK"保存配置 ### Gradle命令 所有命令均在项目根目录执行: ```powershell # 构建所有项目 ./gradlew build # 构建移动应用 ./gradlew mobile-app:assembleDebug # 调试版本 ./gradlew mobile-app:assembleRelease # 发布版本 # 构建智能眼镜应用 ./gradlew glass-app:assembleDebug # 调试版本 ./gradlew glass-app:assembleRelease # 发布版本 # 清理构建 ./gradlew clean # 清理所有项目 ./gradlew mobile-app:clean # 清理移动应用 ./gradlew glass-app:clean # 清理智能眼镜应用 # 查看项目信息 ./gradlew projects # 查看项目结构 ./gradlew mobile-app:tasks --all # 查看移动应用任务 ./gradlew glass-app:tasks --all # 查看智能眼镜应用任务 ``` ## 技术栈 ### 移动应用 (mobile-app) - **编程语言**:Kotlin - **架构模式**:MVVM (Model-View-ViewModel) - **核心框架**: - AndroidX - 现代Android组件库 - WebSocket - 实时双向通信 - RecyclerView - 高效列表展示 - ConstraintLayout - 灵活UI布局 - ViewModel & LiveData - 生命周期感知组件 ### 智能眼镜应用 (glass-app) - **编程语言**:Kotlin - **核心功能**: - Camera API - 视频采集 - TextToSpeech - 语音播报 - WebSocket - 实时通信 - 模拟Rokid Glass3 SDK(开发测试用) ## 核心功能实现 ### 视频流传输 系统实现了智能眼镜到移动设备的实时视频流传输,采用高效的编码和传输协议,确保低延迟和高质量的视频体验。 ### 双向通信 基于WebSocket的实时双向通信机制,确保移动应用和智能眼镜之间的命令和数据能够快速、可靠地传输。 ### 语音交互 智能眼镜端集成了TTS(文本转语音)功能,基于科大讯飞TTS引擎,能够将接收到的文本消息实时转换为语音播报,解放用户双手。 ### 工单管理 移动应用提供了完整的工单管理功能,支持: - 工单列表展示与筛选 - 工单详情查看 - 工单状态跟踪和更新 - 新增工单功能(支持拍照识别和视觉识别两种方式) ### 新增工单识别功能 系统支持两种新增工单的识别方式: #### 拍照识别 - 点击新增工单按钮,选择拍照识别 - 启动相机拍摄照片 - 将照片发送至服务器进行识别 - 识别结果返回后,跳转至TicketConfirmationActivity - 用户确认并保存工单信息 #### 视觉识别 - 点击新增工单按钮,选择视觉识别 - 跳转至StreamingActivity - 建立WebSocket连接并发送开始识别消息 - 进行视频流推流,服务器实时识别 - 识别结果返回后,跳转至TicketConfirmationActivity - 用户确认并保存工单信息 ### 工单状态管理 系统实现了完整的工单状态跟踪和可视化功能: - 工单详情页根据status字段自动控制"开始操作"按钮的显示/隐藏 - 工单列表页在工作站名称右侧显示"已操作"标识,直观区分已处理和待处理的工单 - 状态标识使用绿色文本,提高视觉辨识度 - 支持通过status字段值(如"1"表示已操作)自动切换显示状态 ## 设备识别规则 自动化脚本通过以下规则识别目标设备: - **移动设备**:序列号必须同时包含数字和字母 - **智能眼镜设备**:序列号必须为纯数字 ## 模拟环境说明 当前项目中的`GlassSDKManager`及相关功能使用了模拟实现,用于开发和测试阶段。在实际部署时,需要替换为真实的Rokid Glass3 SDK依赖和实现。 ## 注意事项 1. 应用需要相机、录音、存储和网络权限才能正常工作 2. 视频流传输会消耗大量网络带宽和电池电量 3. 在弱网络环境下,可能需要降低视频分辨率以保证流畅性 4. 修改配置后,记得同步Gradle文件 5. 保持顶级项目的配置简洁,避免与子项目冲突 ## 故障排除 ### 常见问题 1. **未解析的引用错误** - 执行`File > Invalidate Caches / Restart...`清理IDE缓存 - 重新同步Gradle文件 2. **依赖冲突** - 在`gradle/libs.versions.toml`中统一依赖版本 - 在`build.gradle.kts`中使用`exclude`排除冲突依赖 3. **设备连接问题** - 确保USB调试已开启 - 尝试重新插拔设备或重启ADB服务 - 检查设备驱动是否正确安装 4. **视频流断开连接** - 检查网络连接状态 - 确认移动应用和眼镜设备在同一网络环境 - 尝试重启两个应用 ## 许可证 [在此添加项目的许可证信息] ## 贡献指南 欢迎对本项目进行贡献!如果您有任何建议或改进,请提交Issue或Pull Request。 --- *文档最后更新时间:2024年(工单状态管理功能已添加)*