7 月 23 日消息,民間又有高手“出沒”,一位“技術宅”自制的腳踏車碼表在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 自制過智能手表、航模遙控器(被網友稱贊可以直接拿來賣的程度)。