技術(shù)宅自制自行車(chē)碼表火到GitHub 引來(lái)20多萬(wàn)人圍觀

發(fā)布時(shí)間:2021-08-20 13:31:51  |  來(lái)源:量子位  

民間又有高手“出沒(méi)”,一位“技術(shù)宅”自制的自行車(chē)碼表在B站火了,短短幾天引來(lái) 20 多萬(wàn)人圍觀。常規(guī)的速度、距離、時(shí)間、卡路里、航向顯示的記錄功能自不用多提,該設(shè)備還可顯示經(jīng)緯度和海拔。它還配有離線(xiàn)地圖,可顯示你的實(shí)時(shí)位置與騎行軌跡。該設(shè)備在汽車(chē)、高鐵上也能測(cè)速。

它還可以切換界面查看電量、騎行記錄、GPS 定位、傳感器等系統(tǒng)數(shù)據(jù),相當(dāng)絲滑。再看細(xì)節(jié)上,UI 設(shè)計(jì)可是比市面上不少碼表都要高級(jí)。這要是告訴我它是某個(gè)大牌而非自制的(除了殼很明顯以外),我可能都信了。網(wǎng)友們也是紛紛 respect,稱(chēng)贊它打爆那些溢價(jià)離譜的碼表:“完成度離譜”,是不是很想要鏈接?

好家伙,連稚暉君都被吸引過(guò)來(lái)了(后來(lái)佳明也現(xiàn)身評(píng)論區(qū)“自黑”,見(jiàn)后文):稚暉君的真?自行車(chē)和這個(gè)碼表是不是可以搭配使用?除了在B站上很火,這個(gè)碼表項(xiàng)目也登上了今日 GitHub 熱榜:而據(jù)網(wǎng)友粗略估算這個(gè)碼表的硬件成本大概不到 300 元,如此優(yōu)秀的它,是如何 DIY 出來(lái)的呢?如何 DIY 一個(gè)自行車(chē)碼表X-TRACK 軟件架構(gòu)示意圖如下:由 HAL、Framework 和 App 三層組成,F(xiàn)ramework 為核心。HAL 層負(fù)責(zé)底層芯片驅(qū)動(dòng)和傳感器原始數(shù)據(jù)獲取;Framework 又包括三個(gè)模塊,分別負(fù)責(zé)圖形渲染、頁(yè)面生命周期管理和消息分發(fā)處理。

其中消息框架模塊提供數(shù)據(jù)的分發(fā)和處理。使用訂閱發(fā)布機(jī)制,將 HAL 層的接收到的傳感器數(shù)據(jù)發(fā)布,轉(zhuǎn)發(fā)給對(duì)應(yīng)的訂閱者進(jìn)行數(shù)據(jù)處理。以 GPS 為例,GPS 數(shù)據(jù)處理節(jié)點(diǎn)每秒讀取一次衛(wèi)星數(shù)據(jù),然后發(fā)起 publish,由消息框架將 GPS 數(shù)據(jù)推送給訂閱者。

在運(yùn)動(dòng)數(shù)據(jù)處理節(jié)點(diǎn)中訂閱 GPS 數(shù)據(jù)。在收到 GPS 數(shù)據(jù)之后,運(yùn)動(dòng)數(shù)據(jù)處理節(jié)點(diǎn)根據(jù) GPS 數(shù)據(jù)計(jì)算總里程,平均速度等信息。在表盤(pán)頁(yè)面中,拉取運(yùn)動(dòng)數(shù)據(jù)節(jié)點(diǎn)信息,將其顯示在表盤(pán)頁(yè)面中。

ps. 地圖軟件為 GPXSee。

實(shí)現(xiàn)主要有 7 步:

1、首先是硬件設(shè)計(jì)。用 AD(Altium Designer)進(jìn)行 PCB 板線(xiàn)路設(shè)計(jì):電路圖和 PCB 文件也可以在 GitHub 詳細(xì)查看。

2、然后就是被大家紛紛夸贊的 UI 設(shè)計(jì):設(shè)計(jì)軟件是 Adobe AI。

3、接著在 3ds MAX 上進(jìn)行外殼設(shè)計(jì):

4、再然后就是軟件設(shè)計(jì)了:編程語(yǔ)言為 C++:

5、再使用模擬器直接在 PC 上模擬效果。碼表的圖形界面采用了免費(fèi)開(kāi)源的 GUI 圖形庫(kù) LVGL。成品使用了許多 LVGL 提供的基礎(chǔ)控件,例如在地圖頁(yè)面的軌跡顯示中使用了 line 控件,地圖顯示使用了 image 控件,在表盤(pán)頁(yè)面的頁(yè)面切換選擇,使用了 button 控件。

6、調(diào)試調(diào)試,沒(méi)問(wèn)題就可進(jìn)行編譯下載。這里用的是 Keil。

7、最后,將最終程序燒錄到單片機(jī) (AT32F403ACGU7) 上運(yùn)行,再連上 ST-Link 進(jìn)行調(diào)試。

成功!

另外可能很多人不知道,UP 主用的這個(gè) AT32 系列 MCU 是國(guó)產(chǎn)設(shè)計(jì)(重慶雅特力),可替代意法半導(dǎo)體 STM32F103 系列,主頻更高、RAM 更大。

全部硬件配置如下:該設(shè)備的內(nèi)存有 32GB,存下一個(gè) 1GB 多的北京地圖不是事兒。另外,除了開(kāi)頭提到的功能以外,它還支持地圖縮放、計(jì)步功能、導(dǎo)出標(biāo)準(zhǔn) GPX 格式的軌跡、RTC 自動(dòng)根據(jù) GPS 校準(zhǔn)、掉電自動(dòng)保存數(shù)據(jù) (JSON 格式文件)、不過(guò)續(xù)航為 4 小時(shí) (持續(xù)工作,始終亮屏)。整個(gè)設(shè)計(jì)的硬件和軟件部分都已開(kāi)源。連“競(jìng)品”佳明都來(lái)點(diǎn)贊怎么樣?學(xué)會(huì)(廢)了嗎?不少?lài)^群眾覺(jué)得這樣一個(gè) UI 顏值爆表、功能豐富的自行車(chē)碼表如果真的能有廠商合作生產(chǎn)的話(huà),那還有佳明這些產(chǎn)品什么事兒。

有人在評(píng)論區(qū) @Garmin 佳明,沒(méi)想到還真把它引過(guò)來(lái)了:這下好了,連“競(jìng)品”都給 X-TRACK 點(diǎn)贊。有人還算了一筆賬,在某寶按教程買(mǎi)這些配件一共需要不到 300 元,比佳明上千的價(jià)格是便宜不少(雖然續(xù)航能力低一點(diǎn))。催量產(chǎn)的網(wǎng)友真的非常非常多,不過(guò)真要商業(yè)化的話(huà),除了續(xù)航能力,有自行車(chē)騎行愛(ài)好者認(rèn)為還需支持 ant+、踏頻、心率、功率設(shè)備的連接、防塵防水等功能,以及考慮現(xiàn)在的屏幕在陽(yáng)光下的能見(jiàn)度等問(wèn)題。不知道未來(lái),X-TRACK 還會(huì)不會(huì)被繼續(xù)增加或改進(jìn)呢?

畢竟畢業(yè)于電子信息專(zhuān)業(yè)的 UP 主說(shuō)自己也算半個(gè)自行車(chē)愛(ài)好者。最后,除了這個(gè)夢(mèng)幻般的自行車(chē)碼表,他還用 STM32 自制過(guò)智能手表、航模遙控器(被網(wǎng)友稱(chēng)贊可以直接拿來(lái)賣(mài)的程度)。

關(guān)鍵詞: 技術(shù)宅 自行車(chē) 碼表 GitHub

 

網(wǎng)站介紹  |  版權(quán)說(shuō)明  |  聯(lián)系我們  |  網(wǎng)站地圖 

星際派備案號(hào):京ICP備2022016840號(hào)-16 營(yíng)業(yè)執(zhí)照公示信息版權(quán)所有 郵箱聯(lián)系:920 891 263@qq.com