一塊自製自行車碼表從B站火到GitHub,稚暉君點讚,網友催量產
民間又有高手「出沒」:一位「技術宅」自製的自行車碼表在B站火了,短短幾天引來 20多萬人圍觀! 速度、距離、時間、卡路里、航向顯示的記錄功能自不用多提,還可顯示經緯度和海拔。
豐色 發自 凹非寺
量子位 報導
它還配有離線地圖,可顯示你的即時位置與騎行軌跡:
在汽車、高鐵上也能測速!
切換介面查看電量、騎行記錄、GPS定位、感測器等系統數據,相當絲滑:
再看細節上, UI設計可是比市面上不少碼表都要高級! (佳明:你直接報我身份證得了)
這要是告訴我它是某個大牌而非自製的 (除了殼很明顯以外),我可能都信了。
網友們也是紛紛respect,稱讚它打爆那些溢價離譜的碼表:
“完成度離譜”,是不是很想要連結?
好傢伙,連稚暉君都被吸引過來了 (後來佳明也現身評論區”自黑”,見後文):
诶? 稚暉君的真· 自行車和這個碼表是不是可以搭配使用?
除了在B站上很火,這個碼表專案也登上了今日GitHub熱榜:
而據網友粗略估算這個碼表的硬體成本大概不到300,如此優秀的它,是如何DIY出來的呢?
如何DIY一個自行車碼表
X-TRACK軟體架構示意圖如下:由HAL、Framework 和 APP 三層組成,Framework為核心。
HAL層負責底層晶元驅動和感測器原始數據獲取;
Framework又包括三個模組,分別負責圖形渲染、頁面生命週期管理和消息分發處理。
其中消息框架模組提供數據的分發和處理。
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
軟體設計介紹: