Raspberry Pi UPS + FAN + SSD 方案
最近把 Auto Tank Server, 從 AWS 搬回到家裡的Raspberry Pi 樹莓派4上,對於收集數據倒沒有什麼差別,但是對於控制智慧排插盒而言,就不用透過網際網路傳遞控制指令,因為安全性和可靠性都不夠。
然而,光是只有 Pi 還不夠,有三個需求:
1. 外接 SSD: 因為內建數據庫,不能用 SD 卡來當作儲存,一直讀寫一定會掛,所以要用 SSD
2. CPU 散熱:用風扇散熱的風險就是風扇用久了會掛,而無風扇系統散熱又不好,折衷方案就是根據 CPU 溫度來決定是否開關風扇,比如說,溫度超過 40度就開風扇,溫度低於 35度就把風扇關掉。
3. 安全關機:Linux 作業系統無法對抗直接斷電,要斷電之前必須事先關機,否則有機會造成系統損毀,而無法開機。我想要的是即使斷電,都還可以安全關機,換句話說,拔電源就可以帶走,不用SSH登入,下關機指令,並且等候...
PoC 結果:
1. 外接 SSD: 除了適合用於資料庫之外,容量更大和存取速度更快
SD Card Benchmark
Transcend 120GB SSD220S on Pi 4 using Transcend StoreJet 25S3 SATA to USB box
2. 風扇及電源控制板
電路設計如下:
- 透過兩個串連的 30F 超級電容儲蓄關機時的備用電源
- 如果外部電源斷電, KA75450 會偵測到電壓低於 4.5 V 時,透過 GPIO3 通知 Pi, Pi 可使用超級電容的電力,執行關機 (shutdown) ,可達到安全關機的目的
- Pi 可以實時監控 CPU 溫度,一但溫度超過 40 度,則透過 GPIO17,通知 IRLZ44N 把風扇的電流打開,風扇即可運作到 CPU 降溫到 35 度,Pi 覺得夠了就可以把風扇關掉
下圖是麵包板進行 PoC, 接下來就可以把麵包板改為洞洞板, 然後找個鐵盒子裝起來即完成最終形態