社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

从 B 站火到 GitHub,国人开发者又一黑科技面世!

开源前线 • 3 年前 • 366 次点击  
本文经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

--- EOF ---


推荐↓↓↓

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/117814
 
366 次点击