電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>在Raspberry Pi上通過網(wǎng)絡(luò)控制LED

在Raspberry Pi上通過網(wǎng)絡(luò)控制LED

2022-12-13 | zip | 0.40 MB | 次下載 | 免費(fèi)

資料介紹

描述

嗨,這是我第一個(gè)使用 Raspberry Pi 的項(xiàng)目,我想做一些非常簡(jiǎn)單的事情,但是在許多應(yīng)用程序中使用一些非常重要的工具。因?yàn)槲覄傞_始,我選擇使用 LED,因?yàn)槲艺J(rèn)為這是其中之一開始學(xué)習(xí)做很多偉大項(xiàng)目的最佳方式,因?yàn)樗鼈円灿糜谠S多應(yīng)用程序。

首先,我將對(duì)一個(gè)LED做一個(gè)總結(jié)。

發(fā)光二極管是一種用于提供視覺反饋的組件,因?yàn)樗鼈兿牡碾娏亢苌?,而且可以永遠(yuǎn)持續(xù)使用(除非你燒掉它們)。最常見的 LED 類型之一是我使用的 5 毫米紅色 LED。LED 總是與一個(gè)電阻串聯(lián)使用,以限制流過它的電流量,否則它會(huì)燒壞并你無法修復(fù)它。

重要的

當(dāng)您為 LED 供電時(shí),極性很重要。這意味著您必須正確識(shí)別陽(yáng)極(LED的正極引線)和陰極(LED的負(fù)極引線)

poYBAGOGs86AQsDpAAAPxJP9EA8874.png
?

在這個(gè)項(xiàng)目中,我決定使用 3 個(gè)這樣的 LED,為了讓它更有趣,我還選擇使用 RGB LED 從網(wǎng)頁(yè)上控制它。

RGB LED

RGB LED 與普通 LED 非常相似,但它們發(fā)出多種顏色,而不是一種顏色。基本上,RGB LED 由 3 個(gè) LED 組成。它們通常有 2 個(gè)版本:共陽(yáng)極或共陰極。公共引腳通常是最長(zhǎng)的。共陽(yáng)極意味著所有 LED 都使用一根正極線(通常為 3.3 V 或 5 V)。另一方面,共陰極意味著一條地線由所有 LED 共享。它們具有共陽(yáng)極或共陰極,以減少使用的引腳,從 6 個(gè)引腳到只有 4 個(gè)引腳。在這種情況下,我RGB LED 有一個(gè)共陰極。

pYYBAGOXz2uAL7QsAAAZMewZC80377.png
?

第 1 步:連接

首先,我將向您展示一個(gè) LED 的連接,因?yàn)槠渌?LED 的連接是相同的。您將在最終圖中看到其余部分。

  • 首先在面包板上連接一個(gè) LED。
  • 放置 LED 后,將電阻器插入電路板,一端與 LED 的陰極(短)腿在同一水平行,另一端向下幾行。電阻器沒有極化,因此插入它的方向無關(guān)緊要。
  • 將同一列中 Raspberry Pi 引腳 6(接地)的跳線與電阻器的另一端連接起來
  • 現(xiàn)在將引腳 11 (GPIO 17) 連接在與 LED 陽(yáng)極相同的水平行中。
pYYBAGOXz3GABibuAAJ8hJykAc4181.png
?

對(duì)于其他 LED 和 RGB,我們遵循相同的步驟。后者的不同之處在于,我們只有一個(gè) LED,而不是 3 個(gè) LED 產(chǎn)生 3 種不同的顏色,而是一個(gè)共陰極。

第 2 步:WiringPi 庫(kù)

WiringPi 是一個(gè)基于 PIN 的 GPIO 訪問庫(kù),用 C 語(yǔ)言編寫,適用于所有 Raspberry Pi 版本中使用的 BCM2835、BCM2836 和 BCM2837 SoC 設(shè)備。它在 GNU LGPLv3 許可下發(fā)布,可用于 C、C++ 和 RTB (BASIC) 以及許多其他具有合適包裝器的語(yǔ)言。

WiringPi 現(xiàn)在預(yù)裝了標(biāo)準(zhǔn) Raspbian 系統(tǒng)。要檢查您的版本,請(qǐng)?jiān)诮K端中輸入:

gpio -v

第 3 步:安裝 Apache Web 服務(wù)器

正如我之前告訴過你的,我在許多項(xiàng)目和物聯(lián)網(wǎng)應(yīng)用程序中使用了一些基本工具。其中之一是 Apache Web 服務(wù)器。

Apache 是使用最廣泛的 Web 服務(wù)器軟件,旨在創(chuàng)建能夠托管一個(gè)或多個(gè)基于 HTTP 的網(wǎng)站的 Web 服務(wù)器。可以通過操作代碼庫(kù)或添加多個(gè)擴(kuò)展/附加組件來增強(qiáng) Apache Web 服務(wù)器。在我們的項(xiàng)目中,我們使用的是 HTTP 服務(wù)器及其 PHP 擴(kuò)展。

對(duì)于這個(gè)應(yīng)用程序,我選擇不在我的 Raspberry Pi 上創(chuàng)建一個(gè)全局服務(wù)器。一方面,我的互聯(lián)網(wǎng)連接不是很好,并且從任何網(wǎng)絡(luò)訪問我的 Raspberry Pi 可能不會(huì)每次都工作或非???。在另一方面,讓我的網(wǎng)絡(luò)可以從 Internet 上的任何地方訪問意味著我將在 Internet 上公開它,所以任何人都可以訪問它。這不像我會(huì)被黑客入侵,但我寧愿不這樣做。如果你愿意到,我強(qiáng)烈建議保護(hù)您的 Raspberry Pi。此外,我沒有相機(jī)可以附加到這個(gè)項(xiàng)目上,以查看 LED 是否在我的頁(yè)面命令上工作,因此擁有一個(gè)全局的沒有多大意義服務(wù)器。

現(xiàn)在要安裝Apache Web 服務(wù)器,我們將使用以下命令:

首先,更新可用的軟件包:

sudo apt-get update

然后,使用以下命令安裝apache2包:

sudo apt-get install apache2 -y

要測(cè)試 Web 服務(wù)器是否正常工作,請(qǐng)轉(zhuǎn)到瀏覽器并在選項(xiàng)卡中輸入 Pi 的 IP 地址。要查找 Pi 的 IP 地址,請(qǐng)?jiān)诿钚休斎?/font>ifconfig 。在我的例子中,它是192.168.0.100。

默認(rèn)情況下,Apache 會(huì)在 web 文件夾中放置一個(gè)測(cè)試 HTML 文件。當(dāng)您在 Pi 本身或網(wǎng)絡(luò)上的另一臺(tái)計(jì)算機(jī)上瀏覽到http://192.168.0.100(使用您自己的樹莓派地址)時(shí),將提供此默認(rèn)網(wǎng)頁(yè)。

如果您在 Pi 或網(wǎng)絡(luò)上的另一臺(tái)計(jì)算機(jī)上瀏覽到默認(rèn)網(wǎng)頁(yè),您應(yīng)該會(huì)看到:

poYBAGOXz3aAJZPZAAFfN6MhshM858.png
?

這意味著您的 Apache 服務(wù)器正在工作。

更改默認(rèn)網(wǎng)頁(yè)

這個(gè)默認(rèn)網(wǎng)頁(yè)只是文件系統(tǒng)上的一個(gè) HTML 文件。它位于 var/www/html/index.html。

在終端窗口中導(dǎo)航到此目錄并查看里面的內(nèi)容:

cd /var/www/html
ls -al

此命令將顯示以下結(jié)果:

total 12
drwxr-xr-x  2 root root 4096 Apr  24 16:15 .
drwxr-xr-x 12 root root 4096 Apr  24 16:15 ..
-rw-r--r--  1 root root  177 Apr  24 16:15 index.html

這表明默認(rèn)情況下/var/www/html/中有一個(gè)名為 index.html的文件,它歸 root 用戶所有。要編輯該文件,您需要將其所有權(quán)更改為您的用戶名。使用以下命令更改文件的所有者:(pi是默認(rèn)值,使用您的用戶名):

Sudo chown pi: index.html

您現(xiàn)在可以嘗試編輯此文件,然后刷新瀏覽器以查看網(wǎng)頁(yè)更改。

在樹莓派中安裝 PHP

現(xiàn)在要使用 PHP 代碼和 HTML,我們必須在 Raspberry Pi 中安裝PHP 擴(kuò)展。使用 PHP 代碼,我們可以創(chuàng)建 shell 命令來從 PHP 腳本控制 LED。

為了允許 Apache 服務(wù)器編輯 PHP 文件,我們將安裝最新版本的 PHP 和 Apache 的 PHP 模塊。在終端中使用以下命令安裝這些:

sudo apt-get install php libapache2-mod-php -y

現(xiàn)在您可以刪除默認(rèn)的 index.html 文件

sudo rm index.html

并創(chuàng)建您自己的index.php文件:

sudo nano index.php

現(xiàn)在看看它是否有效,您可以放置??一些內(nèi)容,例如:

 phpinfo(); ?>

如果您在瀏覽器中刷新頁(yè)面,您將看到一個(gè)包含大量 PHP 信息的長(zhǎng)頁(yè)面。這意味著PHP擴(kuò)展已經(jīng)安裝成功。如果它不起作用,您可以嘗試重新安裝Apache服務(wù)器及其PHP擴(kuò)展。

第 5 步:使用此 Raspberry Pi Web 服務(wù)器開始編碼以控制 GPIO 引腳

現(xiàn)在刪除index.php文件中的先前代碼,并在 HTML 代碼主體中插入 PHP 代碼來控制 GPIO 引腳。

首先我們創(chuàng)建一個(gè)

元素。

?

method="get" action="index.php">

然后創(chuàng)建按鈕來打開和關(guān)閉 LED

classhljs-symbol">red" type="submit"  value="Turn Red LED On" name="ron"> 
<input class=" red" type="submit"  value="Turn Red LED Off" name="roff">

因此,當(dāng)您單擊提交按鈕時(shí),會(huì)將表單數(shù)據(jù)發(fā)送到 PHP 代碼進(jìn)行處理。

我們將為要控制的每個(gè) LED 創(chuàng)建其他按鈕。

在 PHP 代碼中,首先我們使用shell_exec()命令。該命令用于從 PHP 腳本運(yùn)行 shell 命令。

對(duì)于每個(gè) LED,我們將通過此命令設(shè)置正確的輸出。紅色的連接到 GPIO 17,因此我們將編寫:

shell_exec("gpio -g mode 17 out");

之后,使用用于收集表單數(shù)據(jù)的 PHP 超全局$_GET,我們檢查所按下按鈕的名稱值是否顯示在 URL 中。

poYBAGOXz3iATPquAAAOt37zqps359.png
?

如果是,我們將 GPIO 引腳設(shè)置為 0 用于關(guān)閉 LED 或 1 用于打開它。

if(isset($_GET['roff']))
{
	shell_exec("gpio -g write 17 0");
}
else if(isset($_GET['ron']))
{
        shell_exec("gpio -g write 17 1");
}

實(shí)際上,整個(gè) PHP 代碼由幾個(gè) if 語(yǔ)句組成,對(duì)應(yīng)于每個(gè) LED。

您還可以在頁(yè)面中添加一些 CSS 代碼以使其看起來不錯(cuò)!

?

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)