0.前言 樹莓樹莓派可以無痛入門linux,下面通過命令和shell指令碼控制樹莓派GPIO。通過本文可以熟悉多個linux命令,並熟悉shell指令碼編寫方法,並對IO重新導向有一個基本的體會。我在學習樹莓派的過程中積累了自信,現在覺得linux沒那麼神秘沒那麼難,反而充滿了無窮的樂趣,希望通過部落格把快樂帶給大家。 相關博文 【樹莓派學習筆記——GPIO功能學習】樹莓派GPIO入門文章
1.引腳與編號關係
圖1 引腳與編號關係 例如 Header-PIN7 對應WiringPi GPIO7 對應BCM GPIO4。
2.使用命令操作GPIO 請耐心輸入以下命令並查看效果
# 獲得超級許可權sudo su# 進入GPIO目錄cd /sys/class/gpio# 使用ls查看gpio目錄中的內容,可以查看到# export gpiochip0 unexport ls# GPIO操作介面從核心空間暴露到使用者空間# 執行該操作之後,該目錄下會增加一個gpio4檔案echo 4 > export# 進入GPIO4目錄,該目錄由上一步操作產生cd gpio4# 查看gpio4目錄中的內容,可查看到# active_low direction edge power subsystem uevent valuels # 設定GPIO4為輸出方向echo out > direction# BCM_GPIO4輸出邏輯高電平,LED點亮echo 1 > value# BCM_GPIO4輸出邏輯低電平,LED熄滅echo 0 > value# 返回上一級目錄cd ../# 登出GPIO4介面echo 4 > unexport# 退出超級使用者exit
幾點說明 【1】>符號為IO重新導向符號,IO重新導向是指改變linux標準輸入和輸出的預設裝置,指向一個使用者定義的裝置。例如echo 4 > export便是把4寫入到export檔案中。 【2】linux核心中關於GPIO驅動的【資料】。
3.編寫一個shell指令碼 建立一個名為ledon.sh的指令碼。
#!/bin/bash#利用echo輸出一些提示句echo export pin $1echo $1 > /sys/class/gpio/exportecho setting direction to outputecho out > /sys/class/gpio/gpio$1/directionecho setting pi highecho 1 > /sys/class/gpio/gpio$1/value
幾點說明 【1】如果在windows上編寫shell指令碼的話(後使用FTP工具傳輸至樹莓派),必須儲存為unix格式。shell指令碼每行以\n結尾,而不是windows中的\r\n。可以使用notepad++格式轉換功能完成變化。 【2】一般情況下,指令檔可讀可寫,但不能被執行。需要通過chmod指令增加可執行功能,例如輸入以下命令(請注意,需要通過cd指令進入shell指令碼所在的目錄) chmod +x ledon.sh 【3】shell指令碼可傳入參數,例如$1代表第一個參數,$2代表第二個參數,以此類推。
運行該指令碼可輸入以下指令,使得BCM_GPIO4輸出高電平 sudo ./ledon.sh 4
4.總結 其實樹莓派GPIO控制就那麼簡單。
5.參考資料 【1】圖書 《愛上樹莓派》