樹莓派上裝了個風扇, 噪音有點大, 希望讓他不要那么吵, 就想自己做個手動的開關, 覺得電腦卡了再開. 找了些資料記錄在此.
2021.7.20更新
最近重裝系統了, 發現gpio還是沒有驅動, 就去找了以下, 結果發現作者拒絕繼續維護這個項目了.
所以以下代碼全部失效, 原因是Gordon大叔正要更新的時候, 被一幫人惹毛了, 從此放棄這個項目了.
詳見http://wiringpi.com/wiringpi-deprecated/
新的命令: pinout
pinout
工具由GPIO Zero Python庫提供, Raspberry Pi OS 桌面版鏡像(desktop image)默認自帶, Raspberry Pi OS Lite上需要另行安裝.
pinout適用於:
- GPIO with Scratch 1.4
- GPIO with Scratch 2
- GPIO with Python
- GPIO with C/C++ using standard kernel interface via libgpiod
- GPIO with C/C++ using 3rd party library pigpio
- GPIO with Processing3
參考頁面: https://www.raspberrypi.org/documentation/usage/gpio/
詳細說明: https://pinout.xyz/
1.安裝依賴
sudo apt-get install i2c-tools
sudo apt-get install libi2c-dev
2.安裝GPIO驅動
注意, Pi4B的驅動至少是2.52, 而作者Gordon還沒把它推送到source, 所以目前只能手動升級:
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
3.查看接口狀態
gpio -v
gpio readall
4.查看CPU參數
# 輸出一個可讀的溫度, 攝氏度
/opt/vc/bin/vcgencmd measure_temp
# 看精確到千分之一度的一個整數:
cat /sys/class/thermal/thermal_zone0/temp
# 查看CPU頻率
vcgencmd measure_clock arm
5.結論
2021.7.20更新
重裝系統之后, 發現系統更新了raspi-config界面, 里邊自帶了風扇控制功能, 只要設置一個信號控制口即可. 於是拿了個三極管直接接上, 然后把控制信號接到基極就好了. 目前風扇可以有系統根據溫度自動控制轉動.
用pwm調速需要用個三極管, 我也懶得接了, 直接拔掉風扇, 結果CPU一會就從48度變成了68度! 無奈只能又把風扇接回來了, 得, 白忙活...