社区所有版块导航
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,稚晖君点赞,网友催量产

量子位 • 2 年前 • 307 次点击  
丰色 发自 凹非寺
量子位 报道 | 公众号 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

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

免费报名 | 快速入门NLP、让你的文字会说话!

7.28晚8点,英伟达专家将在线讲解“语音合成技术”的工作流程与原理、深度学习模型在语音合成中的应用,并代码实战演示如何快速实现自然语言生成。扫码-关注,根据提示即可报名~



点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~


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