《开源精选》是我们分享Github、Gitee等开源 区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个智能硬件项目:支持离线地图和轨迹记录的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开源协议,更多内容大家可自行前往阅读。
开源地址:https://github.com/FASTSHIFT/X-TRACK
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!