【M5CoreS3評測】基于M5CoreS3的通知與狀態(tài)中心
筆者打算使用M5Stack Core S3套件設(shè)計一個集中式的通知與狀態(tài)中心,借助了開源的KDE Connect實現(xiàn)了設(shè)備信息互聯(lián),在Linux主機運行上位機:將主機的資源使用狀態(tài)與匯總的通知利用Wi-Fi推送到設(shè)備上。

1 UI設(shè)計
使用UIFlow進行圖形界面設(shè)計,我們需要為CPU、內(nèi)存分別設(shè)計百分比指示器,為了顯示更詳盡的內(nèi)存使用情況,預(yù)留了已使用內(nèi)存與總內(nèi)存的標簽。


我們摘取生成的代碼并進行一個簡單的封裝得到一個‘UI’類,通過‘load’可進行初始化,只需要在主循環(huán)中調(diào)用‘update’即可進行UI事件循環(huán)。





真機測試效果,感覺不錯哦

2 設(shè)備協(xié)議API設(shè)計
接下來是設(shè)備API設(shè)計,我們讓設(shè)備在Wi-Fi 鏈路上開啟一個HTTP服務(wù)器,實現(xiàn)遠程上報資源狀態(tài)與匯總通知;這里借助了開源的`MicroPyServer`,并進行了一個額外的封裝來適應(yīng)我們之前的代碼,實現(xiàn)了`/resources` 和`/notifications` 這兩個接口,包含HTTP路由與Wi-FI AP 配置的代碼部分如下:














可以通過‘curl’工具進行測試,這里隨機設(shè)置了一些資源狀況與通知內(nèi)容。


3 通知上位機
接下來我們著手編寫上位機了,上位機同樣使用Python編寫,為了之后接入KDE Connect,我們采用DBus接口讀取系統(tǒng)發(fā)送的通知,并定期通過`psutil` Python庫讀取系統(tǒng)CPU利用率以及內(nèi)存使用情況,將每條通知與資源狀況通過HTTP接口發(fā)往設(shè)備,設(shè)備就可以顯示了。





4 設(shè)備互聯(lián)
KDE Connect是一個開源的設(shè)備互聯(lián)套件,可以兼容Windows/Linux/macOS/Android/iOS,我們只需要在手機和PC上安裝KDE Connect,連接到同一網(wǎng)絡(luò)(或者也可以手動輸入IP)后就可開始互聯(lián),手機上的首頁可以看到PC 設(shè)備的名稱。

因為KDE Connect是端到端加密的,接下來需要進行配對,為了防止中間人攻擊,我們要確認雙方設(shè)備的PIN碼一致。


然后雙方就配對成功了,可以執(zhí)行各類操作。
5 效果展示
系統(tǒng)資源狀況同步,運行了‘yes’命令用來增加CPU利用率以作比較;


微信通知同步,由于涉及到好友隱私故碼去大部分信息;

郵箱通知同步,具體的內(nèi)容取決于郵箱app;

iOS 設(shè)備也可以安裝KDE Connect 達到類似的效果。
6 總結(jié)
基于M5Stack的這款Core S3套件,我們完成了一個好看又好用的交互小擺件,它能夠根據(jù)手機通知時時刻刻提醒我們最近發(fā)生了什么,確保我們不會遺忘,同時也能方便地查看當前計算機的運行狀況。
(本文來源于《EEPW》202510)


評論