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 value
ls # 設定gpio4為輸出方向
echo out > direction
# bcm_gpio4輸出邏輯高電平,led點亮
echo 1 > value
# bcm_gpio4輸出邏輯低電平,led熄滅
echo 0 > value
# 返回上一級目錄
cd ../
# 登出gpio4介面
echo 4 > unexport
# 退出超級使用者
exit
幾點說明>符號為io重定向符號,io重定向是指改變linux標準輸入和輸出的預設裝置,指向乙個使用者定義的裝置。例如echo 4 > export便是把4寫入到export檔案中。
linux核心中關於gpio驅動的【
資料】。
3.編寫乙個shell指令碼
新建乙個名為ledon.sh的指令碼。
#!/bin/bash
#利用echo輸出一些提示語句
echo export pin $1
echo $1 > /sys/class/gpio/export
echo setting direction to output
echo out > /sys/class/gpio/gpio$1/direction
echo setting pi high
echo 1 > /sys/class/gpio/gpio$1/value
幾點說明如果在windows上編寫shell指令碼的話(後使用ftp工具傳輸至樹莓派),必須儲存為unix格式。
shell指令碼每行以\n結尾
,而不是windows中的\r\n。可以使用notepad++格式轉換功能完成變化。
一般情況下,指令碼檔案可讀可寫,但不能被執行。需要通過chmod指令增加可執行功能,例如輸入以下命令(請注意,需要通過cd指令進入shell指令碼所在的目錄)
chmod +x ledon.sh
shell指令碼可傳入引數,例如$1代表第乙個引數,$2代表第二個引數,以此類推。
執行該指令碼可輸入以下指令,使得bcm_gpio4輸出高電平
sudo ./ledon.sh 4
4.總結
其實樹莓派gpio控制就那麼簡單。
5.參考資料
圖書 《愛上樹莓派》
利用shell指令碼控制樹莓派GPIO
1.什麼是shell shell 誕生於 unix,是與 unix linux 互動的工具。shell本身是乙個用c語言編寫的程式,它是使用者使用unix linux的橋梁,使用者的大部分工作都是通過shell完成的。shell既是一種命令語言,又是一種程式語言。作為命令語言,它互動式地解釋和執行使...
樹莓派學習筆記 修改樹莓派軟體源
0 前言 本文說明如何修改樹莓派軟體源。如果使用raspbian系統,修改軟體源的方法和ubuntu相同,可在 找到最新的軟體源映象,修改 etc apt sources檔案中的內容即可。相關博文 linux學習筆記 ubuntu更新軟體源 1 軟體源位於何處 樹莓派軟體源映象列表 截止2014年8...
樹莓派保持網路連線shell指令碼
樹莓派3b現在有了板載無線網絡卡,可以很方便的連線到wifi。但是無線路由器不能保證永遠正常工作,由於各種原因會重啟路由。這個時候,raspberry3b就會有一定概率斷開網路連線。系統級功能比如像手機一樣有網就連,斷網後自動重連的功能目前沒有能力實現。所以就想搞乙個指令碼檢查網路連線狀態,如果沒有...