本文经AI新媒体量子位(ID:QbitAI)授权转载,转载请联系出处
月石一 发自 凹非寺
民间又有高手 “出没”:
一位 “技术宅” 自制的自行车码表在 B 站火了,短短几天引来 20 多万人围观!
速度、距离、时间、卡路里、航向显示的记录功能自不用多提,还可显示经纬度和海拔。
它还配有离线地图,可显示你的实时位置与骑行轨迹:
在汽车、高铁上也能测速!
切换界面查看电量、骑行记录、GPS 定位、传感器等系统数据,相当丝滑:
再看细节上,UI 设计可是比市面上不少码表都要高级!(佳明:你直接报我身份证得了)
这要是告诉我它是某个大牌而非自制的(除了壳很明显以外),我可能都信了。
网友们也是纷纷 respect,称赞它打爆那些溢价离谱的码表:
“完成度离谱”,是不是很想要链接?
好家伙,连稚晖君都被吸引过来了(后来佳明也现身评论区 “自黑”,见后文):
诶?稚晖君的真・自行车和这个码表是不是可以搭配使用?
除了在 B 站上很火,这个码表项目也登上了今日 GitHub 热榜:
而据网友粗略估算这个码表的硬件成本大概不到 300,如此优秀的它,是如何 DIY 出来的呢?
如何 DIY 一个自行车码表
X-TRACK 软件架构示意图如下:由 HAL、Framework 和 APP 三层组成,Framework 为核心。
HAL 层负责底层芯片驱动和传感器原始数据获取;
Framework 又包括三个模块,分别负责图形渲染、页面生命周期管理和消息分发处理。
其中消息框架模块提供数据的分发和处理。
使用订阅发布机制,将 HAL 层的接收到的传感器数据发布,转发给对应的订阅者进行数据处理。
以 GPS 为例,GPS 数据处理节点每秒读取一次卫星数据,然后发起 publish,由消息框架将 GPS 数据推送给订阅者。
在运动数据处理节点中订阅 GPS 数据。在收到 GPS 数据之后,运动数据处理节点根据 GPS 数据计算总里程,平均速度等信息。在表盘页面中,拉取运动数据节点信息,将其显示在表盘页面中。
ps. 地图软件为 GPXSee。
实现主要有 7 步:
1、首先是硬件设计。
用 AD(Altium Designer)进行 PCB 板线路设计:
电路图和 PCB 文件也可以在 GitHub 详细查看。
2、然后就是被大家纷纷夸赞的 UI 设计:
设计软件是 Adobe AI。
3、接着在 3ds MAX 上进行外壳设计:
4、再然后就是软件设计了:
编程语言为 C++:
5、再使用模拟器直接在 PC 上模拟效果。
码表的图形界面采用了免费开源的 GUI 图形库 LVGL。
成品使用了许多 LVGL 提供的基础控件,例如在地图页面的轨迹显示中使用了 line 控件,地图显示使用了 image 控件,在表盘页面的页面切换选择,使用了 button 控件。
6、调试调试,没问题就可进行编译下载。
这里用的是 Keil。
7、最后,将最终程序烧录到单片机 (AT32F403ACGU7) 上运行,再连上 ST-Link 进行调试。
成功!
另外可能很多人不知道,UP 主用的这个 AT32 系列 MCU 是国产设计(重庆雅特力),可替代意法半导体 STM32F103 系列,主频更高、RAM 更大。
全部硬件配置如下:
内存有 32GB,存下一个 1GB 多的北京地图不是事儿。
另外,除了开头提到的功能以外,它还支持地图缩放、计步功能、导出标准 GPX 格式的轨迹、RTC 自动根据 GPS 校准、掉电自动保存数据 (JSON 格式文件)、不过续航为 4 小时 (持续工作,始终亮屏)……
整个设计的硬件和软件部分都已开源。
连 “竞品” 佳明都来点赞
怎么样?学会(废)了吗?
不少围观群众觉得这样一个 UI 颜值爆表、功能丰富的自行车码表如果真的能有厂商合作生产的话,那还有佳明这些产品什么事儿?
有人在评论区 @Garmin 佳明,没想到还真把它引过来了:这下好了,连 “竞品” 都给 X-TRACK 点赞。
有人还算了一笔账,在某宝按教程买这些配件一共需要不到 300 元,比佳明上千的价格是便宜不少(虽然续航能力低一点)。
催量产的网友真的非常非常多,不过真要商业化的话,除了续航能力,有自行车骑行爱好者认为还需支持 ant+、踏频、心率、功率设备的连接、防尘防水等功能,以及考虑现在的屏幕在阳光下的能见度等问题。
不知道未来,X-TRACK 还会不会被继续增加或改进呢?
毕竟毕业于电子信息专业的 UP 主说自己也算半个自行车爱好者。
最后,除了这个梦幻般的自行车码表,他还用 STM32 自制过智能手表、航模遥控器(被网友称赞可以直接拿来卖的程度)。
视频链接:
https://www.bilibili.com/video/BV1GB4y1K7VV
开源地址:
https://github.com/FASTSHIFT/X-TRACK
软件设计介绍:
https://mp.weixin.qq.com/s/rCtmW7tawr7zRIuMK1l5Iw