点击上方“Github爱好者社区”,选择星标

回复“资料”,获取小编整理的一份资料月石一 发自 凹非寺本文经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

好啦,今天的分享就到这儿啦,我们下次见啦~GitHub原创推荐•  尼玛,Github上最邪恶的开源项目了!未满18或者女孩子勿进哦~•  GitHub标星4K+,前字节跳动工程师开源的刷题笔记...•  GitHub上这个仿京东电商项目强势开源,前端,后台,数据库等统统都有!•  GitHub 开发者自制火星车,教程全面开源!网友:这才是大佬!关注「Github爱好者社区」加星标,每天带你逛Github好玩的项目

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

  1. 英伟达 GTC 中国站明日开幕,又将揭秘哪些黑科技?

    By 超神经 内容提要:今年,英伟达 GTC 盛会将首次以线上形式与大家相见,行业内的众多开发者.研究人员.工程师等将齐聚在此,共商 AI 大事. 关键词:英伟达 GTC 中国线上大会 一年一度的 G ...

  2. 不挡脸,放肆看!揭秘B站黑科技蒙版弹幕

    来源:AI前线 本文约2019字,建议阅读5分钟. 本文为你揭秘B 站推出的一种"不挡脸"的黑科技弹幕以及背后的故事. [ 导读 ]不久前,B 站发布一条官方消息,为了更好的提升用 ...

  3. github学生开发者包_2020年GitHub学生开发包指南

    github学生开发者包 在本文中,我将引导您完成对Github的Student Developer Pack进行使用和拆箱的完整过程. 本文特别适合那些目前正在某些大学或学院就读的开发人员. 如果您 ...

  4. GitHub学生开发者工具包

    书本的知识终归是浅显的,最终要想认识事理本质,还必须亲身实践.关于程序开发来说,初学者必须购买开发工具去操作,但是太过昂贵的开发工具是普通大学生的经济负担.所以我们共同创建了"GitHub学 ...

  5. 【宝藏】GitHub黑科技的开源项目(有趣高质量)

    博主收集整理 GitHub 上高质量.有趣的开源项目,并将他们进行归类.值得注意的是,不是简单的按照编程语言来分类,而是按照更有趣的分类方式,比如:有趣项目.沙雕项目.实战项目.学习项目.实用工具等等 ...

  6. 黑科技抗疫,Python开发者大集结!

    2020年初,突如其来的新型冠状病毒肺炎打乱了所有人的节奏,但社会各界迅速团结起来,为抗击疫情贡献出自己的力量.除了捐款捐物外,很多科技公司运用5G.大数据.AI.云计算等新互联网技术,以科技的手段助 ...

  7. 华为回应美新规:不涉及产品买卖;微软 GitHub 帐户疑被黑;GCC 10.1 发布 | 极客头条...

    整理 | 郭芮 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦 ...

  8. 黑科技抗疫,Python 开发者大集结!

    2020年初,突如其来的新型冠状病毒肺炎打乱了所有人的节奏,但社会各界迅速团结起来,为抗击疫情贡献出自己的力量.除了捐款捐物外,很多科技公司运用5G.大数据.AI.云计算等新互联网技术,以科技的手段助 ...

  9. 你没了解过的独立站“ 黑科技 ”玩法,AB站轮询收款

    关于精品独立站的趋势和玩法,之前没少讲,今天我们来聊点不一样的产品和推广玩法. 纵观行业历史,F牌这类产品,在很久以前就存在了,就拿广州的F包来说,13年那会儿是包包行业盛行的年份,成本不过一百块的包 ...

最新文章

  1. SpringBoot实现过滤器、拦截器与切片
  2. 数据分析惯用的5种思维方法
  3. [LeetCode]--160. Intersection of Two Linked Lists
  4. 0x00000000指令引用的内存不能为written_「深入Java虚拟机」Java内存区域与内存溢出...
  5. Qt Creator设置调试器
  6. POJ - 3074 Sudoku(DLX)
  7. mysql数值类型占用字节及范围_mysql数据类型及占用字节数【mysql】
  8. centos7升级gcc到5.3.0
  9. jdbc删除数据 20210410002714845
  10. python 字符编码、格式化
  11. 敏捷开发免费管理工具——火星人预览(四)
  12. 由耶稣遗物看西方历史的造假
  13. 火绒规则 禁止所有软件的安装_火绒小技巧:禁用程序上网就是这么简单
  14. App上架Apple App Store和Google Play流程
  15. Android 深入理解AIL语言与init.rc文件
  16. lae界面开发工具入门之介绍七--组件篇-文本篇
  17. CAD中插入外部参照字体会变繁体_CAD中形形色色的“替换”技巧你确定都知道了?...
  18. js 根据日期转换星期
  19. HTML5版uploadify
  20. OpenCV 图像基本操作

热门文章

  1. JS黄金分割法实现随机漂亮颜色!
  2. Linux命令行与shell脚本(17)--正则表达式
  3. wordpress友联_WordPress 友情链接页面终极版
  4. Python开发:PyQT安装教程
  5. 从 HTTP 瞎逼逼到 HTTP/2
  6. 简读《SASE安全访问边缘白皮书》| 了解SASE的核心技术及应用场景
  7. 吉信通短信接口(HTTP协议) java
  8. lumen5.5 使用 jwt-auth1.0 笔记
  9. 深入浅出React和Redux-程墨
  10. 洛谷-P1125-笨小猴