如何控制一個LED與樹莓派web服務(wù)器使用Apache
在本教程中,我們將在樹莓派中安裝Apache web服務(wù)器,以從可以通過互聯(lián)網(wǎng)從任何地方訪問的網(wǎng)頁控制LED。這是一個具有最低功能的基本教程,可以進一步修改以在基于物聯(lián)網(wǎng)的家庭自動化,遠(yuǎn)程控制自動化,機器人等中使用此方法。
在這里,我們控制一個LED連接到樹莓派使用Apache web服務(wù)器。為此,我們創(chuàng)建了一個HTML/php網(wǎng)頁,其中有兩個按鈕-一個用于打開LED,另一個用于關(guān)閉LED。
組件的要求
?樹莓派板(使用樹莓派操作系統(tǒng))
?LED
?250歐姆電阻
?跳線
使用SSH客戶端(Putty)通過筆記本電腦或其他計算機連接Raspberry pi。為此,樹莓派需要通過LAN或Wi-Fi連接到網(wǎng)絡(luò)。如果您的樹莓派有一個單獨的監(jiān)視器,那么最好將樹莓派與監(jiān)視器連接起來,這樣您就不必使用任何SSH客戶機。
使用樹莓派web服務(wù)器控制LED
步驟1:連線
這個項目的連接非常簡單——LED的正引腳連接到GPIO 27引腳,負(fù)引腳連接到一個270歐姆的電阻,電阻的另一邊連接到GND引腳。
步驟2:安裝wireingpi庫
WiringPi是一個基于pin的GPIO訪問庫,用C語言編寫,適用于所有樹莓派版本中使用的BCM2835、BCM2836和BCM2837 SoC設(shè)備。它在GNU LGPLv3許可下發(fā)布,可以從C、c++和RTB (BASIC)以及許多其他具有合適包裝的語言中使用。
1. 首先,我們將使用最新版本的Raspbian命令更新我們的Pi:
2. 現(xiàn)在我們將使用下面的命令安裝git:
3. 現(xiàn)在使用git通過以下命令獲取WiringPi:
4. 然后安裝WiringPi庫使用:
步驟3:安裝Web服務(wù)器
Apache是一種非常流行的web服務(wù)器,用于創(chuàng)建能夠托管一個或多個基于http的網(wǎng)站的web服務(wù)器??梢酝ㄟ^操作代碼庫或添加多個擴展/附加組件來增強Apache Web Server。在我們的項目中,我們使用HTTP服務(wù)器及其PHP擴展。
要安裝Apache web服務(wù)器,我們將使用以下命令:
首先,更新可用的軟件包:
現(xiàn)在,在終端使用以下命令安裝apache2包:
要測試web服務(wù)器是否正常工作,請打開瀏覽器,在選項卡中輸入Pi的IP地址。
要查找Pi的IP地址,請在命令行輸入ifconfig。
默認(rèn)情況下,Apache在web文件夾中放置一個測試HTML文件。當(dāng)你從網(wǎng)絡(luò)上的另一臺計算機上瀏覽(無論Pi的IP地址是什么)時,就會出現(xiàn)這個默認(rèn)網(wǎng)頁。
在Pi上或從網(wǎng)絡(luò)上的另一臺計算機上瀏覽到默認(rèn)網(wǎng)頁,您將看到以下內(nèi)容:
這意味著Apache web服務(wù)器正在工作。
現(xiàn)在我們將看到如何用自己的HTML頁面更改默認(rèn)網(wǎng)頁
這個默認(rèn)網(wǎng)頁只是文件系統(tǒng)上的一個HTML文件。它位于var/www/html/index.html。
在終端窗口中導(dǎo)航到這個目錄,看看里面有什么:
這表明在默認(rèn)情況下,/var/www/html/中有一個名為index.html的文件,它由root用戶擁有。要編輯該文件,您需要將其所有權(quán)更改為您自己的用戶名。使用以下命令更改文件的所有者:
你現(xiàn)在可以嘗試編輯這個文件,然后刷新瀏覽器,看看網(wǎng)頁的變化。
在樹莓派上安裝PHP
現(xiàn)在,如果我們想要將PHP代碼與HTML一起使用,那么我們必須在樹莓派上進一步安裝PHP擴展。使用PHP代碼,我們可以創(chuàng)建shell命令來從PHP腳本控制LED。
為了允許Apache服務(wù)器編輯PHP文件,我們將為Apache安裝最新版本的PHP和PHP模塊。在終端中使用以下命令安裝:
現(xiàn)在刪除默認(rèn)的index.html文件:
并創(chuàng)建自己的index.php文件:
現(xiàn)在在index.php中輸入下面的代碼來測試PHP安裝。
保存它按CTRL + X和‘ y ’,并輸入?,F(xiàn)在在瀏覽器中刷新網(wǎng)頁,您將看到一個包含大量PHP信息的長頁面。這表明PHP擴展已正確安裝。如果頁面有任何問題,或者頁面沒有出現(xiàn),請嘗試重新安裝apache服務(wù)器及其PHP擴展。
步驟5:開始編碼控制GPIO引腳使用這個樹莓派web服務(wù)器
現(xiàn)在刪除index.php()文件中前面的代碼,并插入下面的PHP代碼來控制HTML代碼體中的GPIO引腳。
下面是創(chuàng)建兩個按鈕來打開和關(guān)閉連接到樹莓派的LED的完整代碼。
在上面的代碼中有一個PHP腳本,使用下面的代碼檢查哪個按鈕被按下,然后相應(yīng)地打開和關(guān)閉LED。
這里我們在php代碼中使用了shell_exec()命令,該命令用于從php腳本中運行shell命令。在這里了解更多關(guān)于shell_exec的信息。如果直接從樹莓派的終端在shell_exec里面運行這個命令,可以直接將GPIO引腳27設(shè)置為低電平或高電平。下面是直接從終端測試LED的兩個命令。
完成這些后,在瀏覽器中輸入樹莓派的IP地址,在瀏覽器中運行代碼。你會看到2個按鈕-開,關(guān),通過點擊這些按鈕來控制你的LED。
本文編譯自iotdesignpro