我一直很喜歡讓有用的信息一眼就能看到,而不需要拿起手機或打開應用程序。同樣的心態(tài)讓我創(chuàng)建了我之前的項目,太陽能電子墨水氣象站,現(xiàn)在它是這個新儀表板的靈感來源。
這個項目背后的動機來自于我對跟蹤體育活動的熱情。自從我從傷病中恢復以來,我決定把精力投入到一些相關的事情上——建立一個工具,讓我與自己的進步保持聯(lián)系,即使我不能出去訓練。
經(jīng)過很多個深夜的編碼,調(diào)整小部件,并試圖使顯示刷新正確,這個項目開始成為一個個人工具——一個簡單,安靜,激勵的東西,可以放在我的桌子上,一眼就能顯示我的健身進度。
這個項目始于一個簡單的想法:如果我能把我的Strava和Garmin數(shù)據(jù)融合在一起,并且總是可見,就像我桌子上的相框一樣,會怎么樣?
我構建了一個模塊化的電子紙儀表板,由ESP32驅動,并由基于web的后端(目前運行在Raspberry Pi上)提供數(shù)據(jù)。它顯示(到目前為止):
?我最近的活動(距離,時間,速度)
?三天天氣預報
?每周和每月的總結和統(tǒng)計
?活動訓練日的小日歷視圖
工作原理:
?Python后端從Strava、Garmin和OpenWeather收集數(shù)據(jù)。
?它使用預定義的模板和小部件呈現(xiàn)自定義的儀表板圖像。
?圖像通過Flask提供,并由ESP32定期獲取,ESP32將其顯示在7.5英寸的三色電子紙顯示器上。
?在休息日,布局切換以突出顯示統(tǒng)計數(shù)據(jù)和進度。
?在活躍的日子里,它會關注最新的鍛煉和天氣。
更新-一個新的層:AI加入儀表盤
經(jīng)過幾個月的改進,這個電子紙儀表板的結構,視覺效果和布局邏輯,感覺少了一些東西-更人性化的東西。
最新的新產(chǎn)品將人工智能帶入了像紙一樣的電子墨水世界。一只小狐貍,靜靜地出現(xiàn)在儀表板上,現(xiàn)在根據(jù)真實的上下文數(shù)據(jù)生成激勵短語:你最近的活動,恢復狀態(tài),最近的睡眠,天氣等等。
這不是隨機的靈感。它是有針對性的動機,由Gemma的本地實例生成,Gemma是谷歌的輕量級開放模型——專門為在設備上運行(RPI 5 4Gb)而選擇的,沒有云依賴。
最初作為顯示數(shù)據(jù)的工具已經(jīng)成為反映、重置和保持聯(lián)系的空間。
它融合了我深愛的三個世界:體育、人工智能和電子紙技術。
因為我相信動力應該在我們的環(huán)境中占有永久的位置——而不僅僅是在我們的手機中。也許,只是也許,人工智能也屬于電子紙。
現(xiàn)在,我分享一些照片。更多的活動日和人工智能生成的短語的例子將很快添加。
這是小狐貍在我出去散步后的反應——它仍然受傷,并沒有完全休息好或完全恢復:
生成提示:“你是一個機智、樂觀的狐貍伙伴。吠叫不是你的菜。說話隨意,就像對朋友的一天做出反應一樣——避免聽起來像你在滿足一個要求。這名用戶剛剛在16分鐘內(nèi)完成了1公里的徒步旅行。天氣陰冷(~16°C)。他們被告知要放松一點:目前的恢復信號很低,睡眠不好,整體訓練負荷也很輕。為小小的努力慶祝一下,并溫和地鼓勵他們多休息,找到合適的時機重新建立動力。”
輸出:
“你的肌肉感謝你的徒步旅行,但它們絕對準備好了一些呵護。喘口氣,讓烏云散去吧!”
同一腳本的其他輸出:
“你在14分鐘內(nèi)騎了4.9公里,干得好!”聽好了,小冠軍。你的身體有點累了,讓我們休息一會兒吧。放松,充電,準備下一次!”
“感覺精力充沛?”烏云已經(jīng)散去,太陽露出來了,你已經(jīng)準備好去冒險了!記住,即使是短暫的散步也能讓世界變得不同。所以,跳出去,讓你的身體得到應有的休息吧!”
這些信息取得了很好的平衡——慶祝我出去了,但也提醒我恢復也很重要……承認睡眠不足,讓我們來解決這個問題。
小部件!
該項目被設計為模塊化和可擴展的,允許任何感興趣的人創(chuàng)建自己的小部件。每個小部件接收一個包含關鍵數(shù)據(jù)的上下文字典,例如:
?最近的活動(如有)
?周、月總結
?天氣預報
?當前日期和時間
?顯示大小和布局信息
基于此,用戶可以隨心所欲地設計自定義小部件——從他們自己的數(shù)據(jù)源中提取數(shù)據(jù),或者使用Strava、Garmin和weather的內(nèi)置集成。該系統(tǒng)足夠靈活,可以支持文本、圖像、圖表或您希望在電子紙顯示中包含的任何視覺元素。
無論您是開發(fā)人員、數(shù)據(jù)愛好者,還是只想以一種有意義的方式查看自己的統(tǒng)計數(shù)據(jù),構建小部件都意味著簡單而有趣。
新增加:
?基于web的布局編輯器允許我在瀏覽器中可視化地重新定位小部件-不再需要JSON編輯!
?添加了一個自定義錯誤屏幕,以便在出現(xiàn)故障時提供一點個性
?ESP32正在針對超低功耗運行進行優(yōu)化,目標是僅使用一塊LiPo電池即可運行數(shù)月。
我為什么這么做:
這個項目結合了我的愛:
?物理接口
?干凈,始終在紙墨水顯示數(shù)據(jù)
?健身、騎自行車和越野跑
?低功耗微控制器項目
我的目標是把它變成一個模塊化的,云就緒的儀表板,可以顯示廣泛的數(shù)據(jù)源,而不僅僅是Strava/Garmin。
布局和模式
儀表板目前根據(jù)一天的類型(活動或恢復)調(diào)整其布局,并以干凈,低干擾的格式呈現(xiàn)各種關鍵訓練和環(huán)境指標。
每個布局都以淺色或深色模式呈現(xiàn),這取決于您的視覺偏好。
以下是已經(jīng)實現(xiàn)的內(nèi)容:
每日邏輯:兩種主要布局模式
?活動日:顯示您最近的活動,核心指標,以及未來幾天的天氣。
?恢復日:側重于訓練負荷的演變和更廣泛的趨勢和進展概述。
當前儀表板元素
每月的日歷
?顯示以紅色標記的活動日的當前月份,提供您的活動條紋或間隙的即時視覺概述。
雷達圖表
?一個圓形圖表比較過去4周和本月的時間和距離,幫助確定活動類型之間的重點領域或不平衡。
復蘇的指標
?包括恢復時間和高強度訓練后的慢性負荷,讓你更清楚地了解你的身體可能有多緊張(或新鮮)。
每周強度統(tǒng)計
?顯示當前一周的累積低強度和高強度分鐘,基于從Strava/Garmin提取的數(shù)據(jù)。
天氣預報
?一個專門的部分顯示了配置文件中設置的位置的未來四天的天氣-包括清晰的圖標。
?每個元素的設計都考慮到電子紙上的可讀性,只使用黑/白/紅,并保持排版和布局最小化。
?更多的布局和額外的可視化是在路線圖上,但即使在其當前狀態(tài),儀表板提供了一個豐富的和可操作的概述您的培訓之旅。
其他圖片
?一個顯示一天活動的儀表板
?休息/恢復日的儀表盤
?活動日和休息日的布局編輯示例
?背面的框架單元與定制的3d打印安裝
?顯示在從后端獲取最新更新后刷新圖像
本文編譯自hackster.io