測試 Raspberry Pi 的 GPIO

Raspberry Pi 上內建有方便的 40 pin 的 GPIO 排針,而這些 GPIO pins 是直接連接到 SoC 晶片上,其實是相當脆弱的,有可能因為誤接、短路等原因而導致不可維修的損毀(真的要修只能更換 SoC,不如重買)。如果不幸中的大幸是只有部分 GPIO pins 損壞,SoC 本身可能依然可以運作開機使用,想要確認是哪幾根 GPIO pins 損毀,您可以透過一個簡單的小工具 script 做個確認。

安裝

Raspbian OS 系統內應該已經預先安裝 pigpio,如果您是其它作業系統,可能需要安裝

1sudo apt install pigpio

透過啟用樹莓派內建 pull up/down 電阻與 GPIO read/write 操作,基本上就可以測試 GPIO pins 的可用性

另外,您還需要下載 gpiotest 這個 bash script,請透過下列網址下載後解壓縮就會出現 gpiotest 這個檔案

http://abyz.me.uk/rpi/pigpio/code/gpiotest.zip

使用

首先您需要啟動 pigpiod 這個 daemon,這樣 gpiotest 才能透過它存取 GPIO

1sudo pigpiod

其次,在測試前請務必移除所有外接擴充板、GPIO 連接線等,影響測試結果事小,怕訊號打架會把樹莓派主板 GPIO 或您的擴充周邊燒壞,那就得不償失囉!

使用範例

 1$ ./gpiotest  
 2This program checks the Pi's (user) gpios.
 3
 4The program reads and writes all the gpios.  Make sure NOTHING
 5is connected to the gpios during this test.
 6
 7The program uses the pigpio daemon which must be running.
 8
 9To start the daemon use the command sudo pigpiod.
10
11Press the ENTER key to continue or ctrl-C to abort...
12
13Testing...
14Write 0 to gpio 14 failed.
15Pull down on gpio 14 failed.
16Skipped non-user gpios: 0 1 28 29 30 31 
17Tested user gpios: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 
18Failed user gpios: 14