本期推荐的是一个智能硬件项目:支持离线地图和轨迹记录的GPS自行车车速表——X-TRACK。
X-TRACK 是由 FASTSHIFT 设计制作的一款开源GPS自行车码表。其支持离线实时地图显示,支持记录和显示实时轨迹以及导出标准GPX格式的轨迹文件。
功能
- 支持速度、距离、时间、加速度、航向显示
- 离线地图,支持实时显示,支持缩放
- 支持计步
- 支持经纬度、海拔高度
- 支持RTC自动根据GPS恢复
- 支持记录轨迹,可导出GPX格式的文件
- 支持掉电自动保存数据(JSON格式文件)
- 四小时漫长(持续工作,始终亮屏)
- 支持在PC模拟,脱离硬件调试(配置为Release x86 )
- 支持实时显示
硬件配置
- 主控:AT32F403ACGU7(主频:240MHz RAM:224KB ROM:1MB)
- 屏幕:ST7788 IPS 1.5inch SPI接口240×24049分辨率60Hz刷新率
- 存储器:Micro SD CARD 32GB
- 输入设备:旋转编码器
- RTC:MCU内置RTC时钟
- 计算机计步:LSM6DSM(支持硬件计步输出)
- 地磁计:LIS3MDL
- GPS:ATGM336H(BDS + GPS + GLONASS + GALILEO + QZSS + SBAS)
- 电池:锂离子3.7V 683030 700mAh
- 电源管理:LP5907-3.3 + MCP73831
- 外壳:3D打印光固化
软件部分
软件开发环境分为两部分组成,Visual Studio 和 Keil MDK :
- 底层驱动部分,使用 Keil 进行开发调试
- 应用层代码基于 LVGL 模拟器运行,功能验证完成后,烧录到MCU
- 两个工程复用同一套代码,通过 HAL 层进行驱动隔离
功能架构
X-TRACK 整体软件架构如下图所示,系统由 HAL、Framework 和 APP 三层组成 :
- HAL 层负责底层芯片驱动和传感器原始数据获取
- Framework 层是软件核心部分,包括 LVGL、页面调度和消息框架三个模块组成,分别负责图图形渲染、页面生命周期管理和消息分发处理
- APP 层为用户显示界面,由地图、表盘和系统信息三个部分组成
功能演示
- 实时轨迹显示
- 导出历史轨迹
- 在高铁上也能测速
- 查看电量、骑行记录、GPS定位、传感器等系统数据
该项目使用GPL3.0开源协议,更多内容大家可自行前往阅读。