# GboxTools **Repository Path**: elygg/Gboxtools ## Basic Information - **Project Name**: GboxTools - **Description**: GboxTools 是一款专业的 GNSS RTK 设备配置与监控 Android 应用程序,由米甲科技(Mijia Tech)开发。该应用通过蓝牙、USB 或串口与 GNSS 接收机通信,用于配置差分校正源(NTRIP)、基站设置以及实时监控定位数据。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-31 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GboxTools [English](README.en.md) | 简体中文 ## 项目介绍 GboxTools 是一款专业的 GNSS RTK 设备配置与监控 Android 应用程序,由米甲科技(Mijia Tech)开发。该应用通过蓝牙、USB 或串口与 GNSS 接收机通信,用于配置差分校正源(NTRIP)、基站设置以及实时监控定位数据。 **包名**: `com.mijiatech.gboxtools` **当前版本**: 1.8.17 **最低 Android 版本**: 5.0 (API 21) **目标 Android 版本**: 11 (API 30) ## 核心功能 ✅ **设备连接** - 支持蓝牙 SPP、USB 串口、物理串口三种连接方式 ✅ **实时定位监控** - 显示经纬度、高度、定位质量(RTK 固定解/浮点解)、精度信息 ✅ **卫星状态** - 实时显示可视卫星数量、信噪比分布、卫星星座图 ✅ **NTRIP 配置** - 配置差分数据源(服务器、端口、挂载点、账号密码) ✅ **基站模式** - 设置设备为 RTK 基站,配置坐标和天线高度 ✅ **数据导出** - 支持 NMEA、KML、GPX、NTRIP 数据文件导出 ✅ **模拟定位** - 提供模拟 GPS 位置服务,供其他应用使用 ✅ **设备管理** - 查看设备信息、固件版本、电池状态、4G 信号强度 ## 支持设备 - **北斗星探 1 代** - 第一代 RTK 接收机 - **北斗星探 2 代** - 第二代 RTK 接收机 - **北斗星探 3 代** - 第三代 RTK 接收机 - **G20P** - 车载系列 RTK 接收机 ## 软件架构 ### 核心组件 ``` App.java (全局状态管理) ├── EventBus 事件总线 ├── NMEA 数据解析 ├── 文件导出管理 └── 设备通信协调 MainActivity.java (主界面) ├── TabLayout UI (首页/消息/联系人) ├── BluetoothChatService (蓝牙连接) └── Fragment 协调 GPSService.java (前台服务) └── 模拟位置提供者 BluetoothChatService.java ├── 蓝牙 SPP 连接管理 └── 数据收发线程 ``` ### 通信协议 应用使用 AT 命令与 GNSS 设备通信: ``` AT+DEVINFO=GET # 获取设备信息 AT+GNSS_MODE=GET/SET # 获取/设置工作模式 AT+ROVER_PARM=GET/SET # 配置 NTRIP 参数 AT+NEMATIME=GET/SET # 配置 NMEA 输出频率 AT+APN=GET/SET # 配置 4G APN ``` ### 数据流 ``` 设备 → 蓝牙/USB/串口 → EventBus → NMEA 解析 → 状态更新 → UI 刷新 ↓ 文件导出 (NMEA/KML/GPX) ``` ## 安装说明 ### 从源码构建 1. 克隆仓库 ```bash git clone https://gitee.com/your-repo/gboxtools.git cd gboxtools ``` 2. 使用 Android Studio 打开项目 3. 构建 APK ```bash # Debug 版本 gradlew.bat clean assembleDebug # Release 版本 gradlew.bat assembleRelease # 特定变体 gradlew.bat assembleMijiaDebug gradlew.bat assembleBynavDebug ``` ### 直接安装 下载最新的 APK 文件并安装到 Android 设备上。 ## 使用说明 ### 1. 连接设备 - **蓝牙连接**: 点击蓝牙图标 → 扫描设备 → 选择目标设备 - **USB 连接**: 通过 USB OTG 线连接设备,应用自动识别 - **串口连接**: 适用于嵌入式 Android 设备,自动检测串口 ### 2. 配置 NTRIP 差分源 进入"差分数据源配置" → 输入服务器信息: - 服务器地址和端口 - 挂载点 - 用户名和密码 - GGA 上传间隔 ### 3. 查看定位信息 主界面实时显示: - 经纬度坐标 - 定位质量(无定位/单点/RTK 浮点/RTK 固定) - 水平/垂直精度 - 可视卫星数量和信噪比 ### 4. 导出数据 设置 → 文件导出 → 选择导出类型: - NMEA 原始数据 (.txt) - KML 轨迹文件 (.kml/.kmz) - GPX 轨迹文件 (.gpx) - NTRIP 差分数据 (.bin) ## 技术栈 - **语言**: Java - **最低 SDK**: 21 (Android 5.0) - **目标 SDK**: 30 (Android 11) - **构建工具**: Gradle 7.4 ### 主要依赖 - AndroidX (AppCompat, Material Design) - EventBus 3.3.1 - 事件驱动通信 - RxJava 2 - 响应式编程 - android-serialport 2.1.2 - 串口通信 - WCH UART Library - USB 串口支持 - FlexboxLayout 3.0.0 - 灵活布局 ## 权限说明 应用需要以下权限: - `BLUETOOTH` / `BLUETOOTH_ADMIN` - 蓝牙连接 - `ACCESS_FINE_LOCATION` - 位置信息 - `WRITE_EXTERNAL_STORAGE` - 文件导出 - `ACCESS_MOCK_LOCATION` - 模拟定位服务 ## 开发指南 详细的开发文档请参考项目根目录的 `CLAUDE.md` 文件,包含: - 架构详解 - AT 命令协议 - EventBus 事件系统 - NMEA 解析逻辑 - 添加新功能的步骤 ## 版本历史 **v1.8.17** (当前版本) - 兼容 AndroidX - 支持 Android Studio 2022.3.1 - 优化 NMEA 解析性能 - 修复已知问题 ## 参与贡献 1. Fork 本仓库 2. 创建您的特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交您的更改 (`git commit -m '添加某个特性'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 许可证 详情请参考项目许可证文件。 ## 联系方式 如有问题或需要支持,请在仓库中提交 Issue。