# bdxt_wx **Repository Path**: elygg/bdxt_wx ## Basic Information - **Project Name**: bdxt_wx - **Description**: bdxt_wx是一个专注于微信小程序开发的开源项目,提供丰富的组件和工具,帮助开发者快速构建高效、美观的小程序应用。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-16 - **Last Updated**: 2026-05-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # bdxt_wx - GPS 轨迹采集小程序 微信小程序,用于通过 BLE 连接 GPS 设备,实时采集位置轨迹、精度、速度等数据,支持数据导出为 CSV 和 GeoJSON 格式。 ## 功能特性 - 🔵 **BLE 设备连接** - 自动发现和连接 BLE GPS 设备(支持 Nordic UART 等标准服务) - 📍 **实时定位** - 显示经纬度、海拔、精度、速度、航向等信息 - 📊 **轨迹采集** - 支持多段轨迹管理,实时记录采集点数据 - 💾 **数据导出** - 支持导出为 CSV 和 GeoJSON 格式,保存到本地 - 🛰️ **NMEA 解析** - 完整支持 GNPOS、GNDEV、GGA、RMC、GST、VTG 等语句 - 🗺️ **地图展示** - 实时地图显示当前位置、轨迹路线和采集点 - 🔧 **坐标转换** - 自动进行 WGS84 到 GCJ02 坐标系转换 ## 技术架构 ``` pages/ ├── map/ # 地图页面(主页) ├── index/ # 首页 ├── logs/ # 日志页面 └── ble/ # 蓝牙页面 utils/ ├── ble.js # BLE 设备通信模块 ├── parser.js # NMEA 语句解析器 └── coord.js # 坐标系转换工具 components/ └── navigation-bar/ # 自定义导航栏 ``` ## 系统要求 - 微信版本:3.15.2 及以上 - 基础库:3.0.0 ~ 3.14.0 - 设备:支持 BLE 的 Android 或 iOS 手机 - GPS 设备:支持 NMEA 标准语句的 BLE GPS 模块 ## 安装和配置 1. **克隆项目** ```bash git clone cd bdxt_wx ``` 2. **使用微信开发者工具打开项目** - 扫描二维码或输入 AppID:`wxf98a7a6587e11cf9` - 导入项目文件夹 3. **配置权限** - 需要用户授予位置权限 - 需要蓝牙权限 ## 使用说明 ### 基本操作流程 1. **连接设备** - 点击底部蓝牙按钮"点击连接设备" - 在设备列表中选择目标 GPS 设备 - 等待连接成功(指示灯变蓝) 2. **查看实时数据** - 设备连接后自动显示定位数据 - 点击顶部可展开详细信息(航向、差分状态、信号强度等) - 地图实时更新设备位置 3. **创建和管理轨迹** - 点击"新建"按钮创建新轨迹 - 点击"+ 采集"记录当前位置 - 点击"撤销"删除最后一个采集点 - 点击轨迹名称查看、切换或删除轨迹 4. **导出数据** - 点击"CSV"或"GeoJSON"按钮选择导出格式 - 选择导出当前轨迹或全部轨迹 - 保存到本地或分享给好友 ## 支持的数据格式 ### GNPOS 语句(专有格式) 完整位置信息:经度、纬度、海拔、定位状态、精度、速度等 ### NMEA 0183 标准语句 - **GGA/GNGGA** - 全球定位系统定位数据 - **RMC/GNRMC** - 推荐最小导航信息 - **GST/GNGST** - 位置误差估计 - **VTG/GNVTG** - 航向和速度 ### 定位状态代码 - `0` - 未定位 - `1` - 单点定位 - `2` - 差分定位 - `4` - RTK 固定解 - `5` - RTK 浮动解 - `7` - 基站模式 ## 文件说明 | 文件 | 说明 | |------|------| | `app.js` | 小程序全局配置和生命周期 | | `app.json` | 小程序配置文件(页面、权限等) | | `utils/ble.js` | BLE 设备通信和特征发现 | | `utils/parser.js` | NMEA 语句解析和坐标转换 | | `utils/coord.js` | WGS84/GCJ02 坐标系转换 | | `pages/map/map.js` | 地图页面逻辑和数据处理 | | `pages/map/map.wxml` | 地图页面 UI | | `pages/map/map.wxss` | 地图页面样式 | ## 参与贡献 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 创建 Pull Request ## 许可证 MIT License ## 常见问题 **Q: 连接设备后没有数据?** A: 请检查设备是否正常发送 NMEA 语句,可以在控制台查看 `[BLE] line:` 日志。 **Q: 地图显示不正常?** A: Skyline 渲染器在开发工具中对 canvas 组件支持有限,建议在真机上调试。 **Q: 数据导出失败?** A: 检查手机存储空间是否充足,并确保授予文件读写权限。 ## 更新日志 ### v1.0.0 (2026-05-16) - 初始版本发布 - 支持 BLE GPS 设备连接 - 实现 NMEA 语句解析 - 支持轨迹采集和数据导出