丰色 发自 凹非寺
量子位 报道 | 公众号 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

一块自制自行车码表从B站火到GitHub,稚晖君点赞,网友催量产相关推荐

  1. 22岁何同学自制硬核AirDesk!苹果都做不来的超大充电桌,稚晖君点赞

    三月一更的何同学总算来了!这次他自制了一个次时代办公桌AirDesk(也称AirPower)--四年前苹果放弃的产品.这款AirPower不仅能给设备充电,做备忘录,升降桌腿,还能够提醒喝水和下班.网 ...

  2. 22岁何同学自制硬核AirDesk!做了苹果放弃的产品,稚晖君点赞

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 5 分钟. 来自:转自:新智元   来源:b站 [导读]三月一更的何同学总算来了!这次他自制了一个次时代办公桌AirDesk( ...

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

    点击上方"Github爱好者社区",选择星标 回复"资料",获取小编整理的一份资料月石一 发自 凹非寺本文经AI新媒体量子位(ID:QbitAI)授权转载,转载 ...

  4. 华为天才少年稚晖君自制硬萌机器人,开源5小时,GitHub收获317星!

      视学算法报道   编辑:桃子 拉燕 [新智元导读]失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot. 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠 ...

  5. 华为天才少年稚晖君自制硬萌机器人,GitHub收获 1.5K Star!

    来源:新智元 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了! 虽然跳票了一段时间,但他还是来了.网友纷纷表示:「失踪人口 ...

  6. 华为天才少年稚晖君自制「电子」机器人!应用OpenPose,项目已开源!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达   转载自:新智元   编辑:桃子 拉燕 [导读]失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又 ...

  7. 华为天才少年稚晖君自制硬萌机器人,开源 5 天,GitHub 收获 2900 星!

    这是「进击的Coder」的第 590 篇分享 来源:新智元 " 阅读本文大概需要 7 分钟. " 你们还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂 Dummy 吗? 近 3 ...

  8. 太牛了!华为天才少年稚晖君又自制硬萌机器人,代码开源了

    文末送书福利,记得看完~ 作者|新智元 编辑|桃子 拉燕 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了! 虽然跳票了一段 ...

  9. 稚晖君自制机械臂,能给葡萄缝针的那种,成本1万块,网友:能把脑子开源一下?...

    金磊 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 别人的国庆节,硬生生造了一只钢铁侠的机械臂! 依旧是来自华为天才少年稚晖君,还是他迄今为止搞的项目中,最复杂的那种. 来吧,展示--给 ...

  10. YYDS!稚晖君自制机械臂,成本1万块,网友:能把脑子开源一下?

    来源:量子位 依旧是来自华为天才少年稚晖君,还是他迄今为止搞的项目中,最复杂的那种. 来吧,展示--给葡萄缝针: 在"葡萄包扎术"后,原本裂开小口的它,变成了这个样子: 划个重点: ...

最新文章

  1. android的数据存储方式有哪几种方式,Android存储数据的5种方式
  2. python爬虫新手项目-给新手推荐几个实用又适合上手的Python爬虫项目
  3. ios 消除 字符串 首尾空格
  4. Struts的MVC和Spring的MVC的区别
  5. quartz-misfire 错失、补偿执行
  6. 杭电ACM 2017
  7. 2岁男童入住自如后患白血病离世 自如回复:道歉做不到
  8. “加薪”、“洗手间”都不能提?亚马逊内部员工通讯 App 曝光
  9. VB程序设计—For循环结构
  10. 文件上传功能怎么测试
  11. 天池大数据比赛-菜鸟仓库比赛-第一赛季记录
  12. Equalize Prices
  13. YbtOJ 洛谷UVA10559 方块消除
  14. 解决机械+固态的电脑无法安装window10系统的问题
  15. Metis从安装到使用全教程(Linux)
  16. 获取顺序栈的栈顶元素
  17. 把时间沉淀到自己的热爱里 | Kagol 的 2022 年终总结
  18. mysql 人员查询总结
  19. FPGA IP核 串口实验 signaltap
  20. 现在主流单片机都有哪些?它们特点及应用范围一个一个列给你看

热门文章

  1. 给学妹学弟们的看书小建议!
  2. kaka启动出现:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000c00000, 1073,0)
  3. 微信小游戏保存图片到本地
  4. [转] iOS 开发者应该知道的 ARM 结构(转自apple4us)
  5. IP技术 -- 3 路由器彩光
  6. 计算机领域中的token的意思
  7. 网络营销和电子商务傻傻分不清?
  8. ElasticSearch已有字段添加Fields
  9. 【G4基础04】2.4 How to Specify Particles
  10. 帝国cms配置php,帝国cms如何安装