豐色 發自 凹非寺
量子位 報道 | 公眾號 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
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。