資料介紹
描述
嗨,這是我第一個使用 Raspberry Pi 的項目,我想做一些非常簡單的事情,但是在許多應用程序中使用一些非常重要的工具。因為我剛開始,我選擇使用 LED,因為我認為這是其中之一開始學習做很多偉大項目的最佳方式,因為它們也用于許多應用程序。
首先,我將對一個LED做一個總結。
發光二極管是一種用于提供視覺反饋的組件,因為它們消耗的電量很少,而且可以永遠持續使用(除非你燒掉它們)。最常見的 LED 類型之一是我使用的 5 毫米紅色 LED。LED 總是與一個電阻串聯使用,以限制流過它的電流量,否則它會燒壞并你無法修復它。
重要的
當您為 LED 供電時,極性很重要。這意味著您必須正確識別陽極(LED的正極引線)和陰極(LED的負極引線)

在這個項目中,我決定使用 3 個這樣的 LED,為了讓它更有趣,我還選擇使用 RGB LED 從網頁上控制它。
RGB LED
RGB LED 與普通 LED 非常相似,但它們發出多種顏色,而不是一種顏色。基本上,RGB LED 由 3 個 LED 組成。它們通常有 2 個版本:共陽極或共陰極。公共引腳通常是最長的。共陽極意味著所有 LED 都使用一根正極線(通常為 3.3 V 或 5 V)。另一方面,共陰極意味著一條地線由所有 LED 共享。它們具有共陽極或共陰極,以減少使用的引腳,從 6 個引腳到只有 4 個引腳。在這種情況下,我RGB LED 有一個共陰極。

第 1 步:連接
首先,我將向您展示一個 LED 的連接,因為其他 LED 的連接是相同的。您將在最終圖中看到其余部分。
- 首先在面包板上連接一個 LED。
- 放置 LED 后,將電阻器插入電路板,一端與 LED 的陰極(短)腿在同一水平行,另一端向下幾行。電阻器沒有極化,因此插入它的方向無關緊要。
- 將同一列中 Raspberry Pi 引腳 6(接地)的跳線與電阻器的另一端連接起來
- 現在將引腳 11 (GPIO 17) 連接在與 LED 陽極相同的水平行中。

對于其他 LED 和 RGB,我們遵循相同的步驟。后者的不同之處在于,我們只有一個 LED,而不是 3 個 LED 產生 3 種不同的顏色,而是一個共陰極。
第 2 步:WiringPi 庫
WiringPi 是一個基于 PIN 的 GPIO 訪問庫,用 C 語言編寫,適用于所有 Raspberry Pi 版本中使用的 BCM2835、BCM2836 和 BCM2837 SoC 設備。它在 GNU LGPLv3 許可下發布,可用于 C、C++ 和 RTB (BASIC) 以及許多其他具有合適包裝器的語言。
WiringPi 現在預裝了標準 Raspbian 系統。要檢查您的版本,請在終端中輸入:
gpio -v
第 3 步:安裝 Apache Web 服務器
正如我之前告訴過你的,我在許多項目和物聯網應用程序中使用了一些基本工具。其中之一是 Apache Web 服務器。
Apache 是使用最廣泛的 Web 服務器軟件,旨在創建能夠托管一個或多個基于 HTTP 的網站的 Web 服務器。可以通過操作代碼庫或添加多個擴展/附加組件來增強 Apache Web 服務器。在我們的項目中,我們使用的是 HTTP 服務器及其 PHP 擴展。
對于這個應用程序,我選擇不在我的 Raspberry Pi 上創建一個全局服務器。一方面,我的互聯網連接不是很好,并且從任何網絡訪問我的 Raspberry Pi 可能不會每次都工作或非常快。在另一方面,讓我的網絡可以從 Internet 上的任何地方訪問意味著我將在 Internet 上公開它,所以任何人都可以訪問它。這不像我會被黑客入侵,但我寧愿不這樣做。如果你愿意到,我強烈建議保護您的 Raspberry Pi。此外,我沒有相機可以附加到這個項目上,以查看 LED 是否在我的頁面命令上工作,因此擁有一個全局的沒有多大意義服務器。
現在要安裝Apache Web 服務器,我們將使用以下命令:
首先,更新可用的軟件包:
sudo apt-get update
然后,使用以下命令安裝apache2包:
sudo apt-get install apache2 -y
要測試 Web 服務器是否正常工作,請轉到瀏覽器并在選項卡中輸入 Pi 的 IP 地址。要查找 Pi 的 IP 地址,請在命令行輸入ifconfig 。在我的例子中,它是192.168.0.100。
默認情況下,Apache 會在 web 文件夾中放置一個測試 HTML 文件。當您在 Pi 本身或網絡上的另一臺計算機上瀏覽到http://192.168.0.100(使用您自己的樹莓派地址)時,將提供此默認網頁。
如果您在 Pi 或網絡上的另一臺計算機上瀏覽到默認網頁,您應該會看到:

這意味著您的 Apache 服務器正在工作。
更改默認網頁
這個默認網頁只是文件系統上的一個 HTML 文件。它位于 var/www/html/index.html。
在終端窗口中導航到此目錄并查看里面的內容:
cd /var/www/html
ls -al
此命令將顯示以下結果:
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
這表明默認情況下/var/www/html/中有一個名為 index.html的文件,它歸 root 用戶所有。要編輯該文件,您需要將其所有權更改為您的用戶名。使用以下命令更改文件的所有者:(pi是默認值,使用您的用戶名):
Sudo chown pi: index.html
您現在可以嘗試編輯此文件,然后刷新瀏覽器以查看網頁更改。
在樹莓派中安裝 PHP
現在要使用 PHP 代碼和 HTML,我們必須在 Raspberry Pi 中安裝PHP 擴展。使用 PHP 代碼,我們可以創建 shell 命令來從 PHP 腳本控制 LED。
為了允許 Apache 服務器編輯 PHP 文件,我們將安裝最新版本的 PHP 和 Apache 的 PHP 模塊。在終端中使用以下命令安裝這些:
sudo apt-get install php libapache2-mod-php -y
現在您可以刪除默認的 index.html 文件
sudo rm index.html
并創建您自己的index.php文件:
sudo nano index.php
現在看看它是否有效,您可以放置??一些內容,例如:
phpinfo(); ?>
如果您在瀏覽器中刷新頁面,您將看到一個包含大量 PHP 信息的長頁面。這意味著PHP擴展已經安裝成功。如果它不起作用,您可以嘗試重新安裝Apache服務器及其PHP擴展。
第 5 步:使用此 Raspberry Pi Web 服務器開始編碼以控制 GPIO 引腳
現在刪除index.php文件中的先前代碼,并在 HTML 代碼主體中插入 PHP 代碼來控制 GPIO 引腳。
首先我們創建一個
元素。?
method="get" action="index.php">
然后創建按鈕來打開和關閉 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">
因此,當您單擊提交按鈕時,會將表單數據發送到 PHP 代碼進行處理。
我們將為要控制的每個 LED 創建其他按鈕。
在 PHP 代碼中,首先我們使用shell_exec()命令。該命令用于從 PHP 腳本運行 shell 命令。
對于每個 LED,我們將通過此命令設置正確的輸出。紅色的連接到 GPIO 17,因此我們將編寫:
shell_exec("gpio -g mode 17 out");
之后,使用用于收集表單數據的 PHP 超全局$_GET,我們檢查所按下按鈕的名稱值是否顯示在 URL 中。

如果是,我們將 GPIO 引腳設置為 0 用于關閉 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");
}
實際上,整個 PHP 代碼由幾個 if 語句組成,對應于每個 LED。
您還可以在頁面中添加一些 CSS 代碼以使其看起來不錯!
?
- 使用Raspberry Pi和Arduino實現Web控制的LED動畫
- 通過USB對Raspberry Pi進行編程
- 在Raspberry Pi Zero上監視Wi-Fi
- 如何通過SPI使用Raspberry PI零與FPGA通信
- 使用balena在Raspberry Pi 4創建私有LoRaWAN網絡
- 在Raspberry Pi零上安裝Cam Web界面
- 基于諾基亞5110的Raspberry Pi帽子 0次下載
- 在Raspberry Pi上使用Arduino MKR ENV Shield
- 通過Raspberry Pi的物聯網有源蜂鳴器
- 通過Raspberry Pi的簡單物聯網按鈕教程
- 通過Raspberry Pi進行簡單的物聯網LED控制
- 在您的Raspberry Pi設備上使用BOLT云服務
- 使用Raspberry Pi Pico的LED序列
- 可視頻直播的Raspberry Pi網絡控制機器人 14次下載
- 《愛上Raspberry Pi》中譯版-電子書籍.pdf 0次下載
- 基于Raspberry Pi 5的蜂窩物聯網項目 1312次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發物聯網應用 2180次閱讀
- 用于測試項目的4個最佳樹莓派Raspberry Pi模擬器 6823次閱讀
- 如何通過Raspberry Pi設置CE電流監視器 2342次閱讀
- 基于樹莓派產品 Raspberry Pi微控制器板的優缺點 2984次閱讀
- 如何從Raspberry Pi Pico的模數轉換器捕獲數據計算? 2772次閱讀
- 基于Raspberry Pi Pico開發先進的家庭自動化系統 3003次閱讀
- 基于FONA通過UART與Raspberry Pi進行通訊的方案介紹 2257次閱讀
- 基于在Raspberry Pi Zero W的基礎上實現設計微型機器人 2251次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡介 2618次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡介 3141次閱讀
- 利用Raspberry Pi構建存儲和虛擬化時間序列數據 952次閱讀
- 一文了解Raspberry Pi 4各項性能跑分 3w次閱讀
- PiTalk 套件將Raspberry Pi當作智能手機或是行動物聯網裝置 6830次閱讀
- 視覺享受!用Raspberry Pi實現圣誕樹燈光秀 8344次閱讀
下載排行
本周
- 1涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 2錦銳科技CA51F2 SDK開發包
- 24.06 MB | 29次下載 | 1 積分
- 3錦銳CA51F005 SDK開發包
- 19.47 MB | 3次下載 | 1 積分
- 4蘋果iphone 11電路原理圖
- 4.98 MB | 3次下載 | 2 積分
- 5基礎模擬電子電路
- 3.80 MB | 3次下載 | 1 積分
- 6RA-Eco-RA6M4-100PIN-V1.0開發板資料
- 34.89 MB | 1次下載 | 免費
- 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊
- 3.32 MB | 1次下載 | 免費
- 8聯想A820t手機維修圖紙包括主板原理圖 尾板原理圖 點位圖
- 0.62 MB | 次下載 | 5 積分
本月
- 1AI智能眼鏡產業鏈分析
- 4.43 MB | 383次下載 | 免費
- 2蘇泊爾電磁爐線路的電路原理圖資料合集
- 2.02 MB | 296次下載 | 5 積分
- 3貼片三極管上的印字與真實名稱的對照表詳細說明
- 0.50 MB | 94次下載 | 1 積分
- 4長虹液晶電視R-HS310B-5HF01的電源板電路原理圖
- 0.46 MB | 91次下載 | 5 積分
- 5涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 76次下載 | 1 積分
- 6錦銳科技CA51F2 SDK開發包
- 24.06 MB | 29次下載 | 1 積分
- 7AO4803A雙P通道增強型場效應晶體管的數據手冊
- 0.11 MB | 28次下載 | 2 積分
- 8長虹液晶彩電LS29機芯的技術資料說明
- 3.42 MB | 16次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191388次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論