首頁 > 科技

一塊自制自行車碼錶從B站火到GitHub,稚暉君點贊,網友催量產

2021-07-24 03:06:05

民間又有高手「出沒」:

一位「技術宅」自制的自行車碼錶在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自制過智慧手錶、航模遙控器(被網友稱讚可以直接拿來賣的程度)。

圖片

IT145.com E-mail:sddin#qq.com