前幾天看到朋友入手新玩具,剛好我也是無風扇迷你電腦愛好者,免不了交換點心得兼請益最新資訊,卻冷不防被推坑,說有款 WiFi 控制智慧插座 C/P 值不錯,六孔 110V 插座可獨立遙控,能定時開或關,還有耗電監測功能。我對耗電測量向來感興趣,之前買過單孔瓦特計(參考:電器耗電知多少?),陽春款式只有 LCD 顯示肉眼判讀,新式產品內建 WiFi 又能手機控制,代表一定有 Protocol 可查詢資訊跟控制,肯定能寫程式搞出新花樣,感覺很好玩耶! 想著想著,腦波一弱,就不爭氣地下了單。

才三天,新玩具就到貨了,體積比想像大些,蠻厚實的,質感不錯。插座內含微處理器及無線網路,平時需統計用電數據,本身耗電約 3 瓦左右,機體會微微發熱。

安裝好 App 註冊帳號,很快設定好並新增插座,便可由 App 遙控插座開或關,點開插座內容,除可設定排程、倒數計時開啟或關閉,還能查詢即時耗電(瓦特)、當日、七天及 30 天平均用電量(kWh)及使用時數。

不過,App 沒法一次看六個插座的用電數字,也沒法顯示過去一段時間內的電量起伏變化,要長期監測總不會拿紙筆記錄吧?這樣跟之前的陽春瓦特計有什麼兩樣,愧對它具備 WiFi 功能。於是,我義無反顧地走上 Coding4Fun 之路!

趁著週末,用 .NET Minimal API + EF Core + SQLite + Vue3 + Highchart 簡單拼裝出我心中的理想版本,丟到家用伺服器 CentOS 上執行:

上面的圖是小黑 T470p 電源供應器的用電統計,16:05 - 16:07 期間有一段 50W 高原,是故意開兩個 YouTube 4K 影片讓 CPU 100% 做出來的,之後有段趨於零是蓋上螢幕睡眠時的數字,平時正常使用(上網查網頁、開 VSCode、VS2022 寫程式)則落在 25W 左右,會間歇短暫上升隨即降回,最高到 50W。

這才是我心目中合格的耗電監測功能,一次監看所有插座的耗電狀況,點一下查詢過去期間的耗電曲線,很酷吧? 另外,服務也提供 API 方便取回指定期間的資料做進階分析:

我把這次的題目當成一次全端綜合演練,測驗自己能在多短時間做完包含前端、後端含 EF Core 的小型服務,以老人的標準來說還行,過程新學了一些知識,溫習幾個老技巧,收獲挺多,是一次愉快的 Coding4Fun。

底下是一些技術參考資料,分享給有興趣 DIY 的同學:


Comments

# by solonglin

請教一下黑大,要如何知道買的智慧型產品 有API可以讓自己寫程式呼叫用,我看官網也沒寫 看到你的文章才知道可以自己Coding4Fun

# by Jeffrey

to solonglin, 我想官方並未把這個協定定位成公開的 API,也從未鼓勵大家串接(但也沒禁止就是了),這是沒有官方文件或資訊的原因,網路上的規格跟程式庫是社群朋友自已分析跟開發出來的,要靠關鍵字搜索。

Post a comment