樹莓派風(fēng)扇自動(dòng)啟停python腳本
GPIO pin是12號(hào),因?yàn)轱L(fēng)扇只有正負(fù)兩極,另外接一個(gè)SN8050三極管進(jìn)行信號(hào)控制。這個(gè)步驟網(wǎng)上有很多教程,不贅述。
需要特別說明的是,如果你直接按照網(wǎng)上的教程走的話也是可以的,但是為了保證電路不會(huì)被擊穿,我在三極管基極串聯(lián)上了一個(gè)1kΩ的電阻,如圖。


PWM開了之后高頻噪音特別吵,但是我寫這個(gè)腳本的初衷本身就是為了不讓風(fēng)扇整晚起飛吵到我的精致睡眠但對(duì)raspbian自帶的風(fēng)扇調(diào)度策略不滿意才造的輪子,不過考慮到開放出來可能就有需求,所以也就做了適配
我的風(fēng)扇策略是:每3秒檢查一次CPU溫度,如果超過了警戒閾值,那么立刻開始工作,風(fēng)扇運(yùn)行45秒;(GPU感覺已經(jīng)夠爛了,想熱也熱不起來,正常情況下有正經(jīng)電腦也不會(huì)用到)
45秒之后,再次檢查CPU溫度,如果溫度低于警戒閾值(一般是低于的),那么關(guān)掉風(fēng)扇。
比起單條件的溫度判斷來說,我更喜歡這種三年不開張開張吃三年的調(diào)度,在避免溫度達(dá)到警戒閾值附近的頻繁風(fēng)扇啟停的同時(shí),也保證了風(fēng)扇開啟的及時(shí)性。
代碼塊當(dāng)中的"try…catch…finally"是我調(diào)試的時(shí)候用的,去掉或者不去掉都可以
之后可以開一個(gè)python掛在后臺(tái)(nohup),也可以注冊(cè)一個(gè)服務(wù)來自動(dòng)啟動(dòng)。后者網(wǎng)上也有很多教程,不贅述。