覆盆子 PI-實施負擔得起的家庭自動化系統 [第一部分]

在本系列前面的文章, 我們看到 GPIO 引腳是什麼, 和如何控制 LED 他們從我們 覆盆子 PI 通過 Bash 和 Python, o 一個 web 應用程式.

portadarelele

這次我們將學習控制的力量 電器; 在啟動伺服器之前我們已經安裝了 正如我們看到的 以前交貨.

要實現它,打算使用繼電器板的 5V 和 8 個頻道, 它必須是 optoacoplada 要保護樹莓派; 因為我們要檢查的設備 220V, 和別針 GPIO 覆盆子工作最多 3,3V.

placarele

繼電器 optoacoplados 板.

我們要做的繼電器和樹莓派之間 下列連接.

模組繼電器 optoacoplados
覆盆子 PI 模型, B, A +, B +
VCC
+ 5V
在 8
GPIO 17
吉安達 吉安達
奧林巴斯數碼相機

PI 覆盆子和繼電器板之間的連接.

現在我們將測試如果連接工作, 與在一個簡單的測試 Bash, 設置 pin GPIO 17 作為輸出, 並給出一個邏輯的高值.

#Exportamos el PIN deseado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
usuario@maquina:~$ sudo echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
usuario@maquina:~$ sudo echo 1 > /sys/class/gpio/gpio17/value

一旦已經打開了 led 的繼電器控制, 因為我們可以將其關閉和釋放別針 GPIO.

#Apagamos la salida del rele
usuario@maquina:~$ sudo echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/unexport

我們已經測試的運作, 所以,現在我們打算去看我們需要安排 web 頁, 它是比與測試相當更簡單 LED 我們看到的最後一批.

<html>
 <head>
                 <!--/var/www/rele/index.php-->
 </head>
 <body>
 <!--GPIO17--> 
 <form action="" method="post">
 Enchufe 0 [GPIO 17]&nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">
 <input type="submit" name="parpadear17" value="Parpadear">
 </form> 
 <br></br>
 </body>
</html>

<?php
// Funciones PHP del pin GPIO 17
 if ($_POST[encender17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/enciende.sh");
 echo $a;
 }

 if ($_POST[apagar17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/apaga.sh");
 echo $a;
 }

 if ($_POST[parpadear17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/parpadea.sh");
 echo $a;
 }
// Fin de las funciónes del pin GPIO 17
?>

我們需要創建這些 在 bash 中的三個腳本 若要打開, 關閉和閃爍; 這些腳本都被設在 /var www 繼電器 gpio 17 /.

#!/bin/bash
#enciende.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
echo 1 > /sys/class/gpio/gpio17/value
#!/bin/bash
#apaga.sh

#Apagamos la salida del rele
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport
#!/bin/bash
#parpadea.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit, y lo desactivamos 5 veces
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport

當我們有 腳本index.php 在他們各自的路線, 我們必須能夠查看 以下層次結構 在 web 伺服器上的目錄.

螢幕截圖 2014-11-08 16:27:54這次,我們還必須作出 sudoer 給使用者 www 資料; 為此,運行 sudo visudo 在終端中, 並將其添加在使用者下的 pi 以便使用者 www 資料 您可以控制引腳 GPIO.

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=(ALL) NOPASSWD: ALL

現在我們將測試的三個按鈕 驗證一切正常工作. 一旦工作, 與繼電器板指示燈亮起, 我們將會聽到 “哢 /” 你發出時打開和閉合的電路.

螢幕截圖 2014-11-08 13:30:46

Web 應用程式控制的繼電器控制.

我們將看到如何將其連接到一盞燈或任何其他裝置來控制它 從任何 web 瀏覽器的設備.

為架構 連接磁熱開關和插座之間中繼 我們房子的牆將如下; 單通道繼電器肖像也有計劃為用, 在這個例子中它是 通道中 8 八通道板.

rele5vmagnetotermico

一座房子的電氣面板中的連接圖.

概念證明, 將下面的架構使用插頭,我不得不改變在一個房間裡的房子, 和一盞燈. 下面是在牆上, 和上面的人已經騎在這個測試中,連接在燈; 作為一個開關繼電器.

rele5venchufe1

本測試中使用的計畫.

有的為每個輸出繼電器電氣連接的三個埠: COM, 常開 常閉. 在 COM 我們必須連接 電氣積極 它將飼料設備, 和 在只有一個 其他兩個電纜延伸 該裝置是正面. 的 負面 連接 直接從到裝置的電源插頭.

PB080196

繼電器連接.

它將取決於如果你連接到 常開, 或 常閉 如果設備上或關閉如果你關掉覆盆子.

在此示例中,繼電器連接在 常閉, 所以,如果你關掉覆盆子, 插頭工作; 如果 conectásemos 它在 常開, 當斷開覆盆子燈不可能點燃因為電路將開放; 我們將瞭解與視頻.

如果你願意,你可以跟著我 推特, Facebook, 谷歌 +, LinkedIn, 或它分享這份出版物下方的按鈕, 如果您有任何疑問或建議,請不要猶豫,置評.

説明我們達成更多的讀者 Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

33 思考"覆盆子 PI-實施負擔得起的家庭自動化系統 [第一部分]

  1. 打開和關閉指示燈從互聯網

    早上好, 什麼都不, 至少我可以說, 謝謝, 超級
    本教程, 再看一眼, 喝彩聲和謝謝你.

    一個問題, 我不明白完全一樣和在哪裡應該安裝腳本,
    我的目的是要讓 WEB 頁, 事實上, 不是因為我去
    使用 PHP 和 WEB, 為例, 通過 pc 機, 連接到互聯網
    在任何地方以啟動不同的發光二極體或繼電器, 不是如何去做,
    提前和當然, 許多感謝任何説明.

    比利時友好伊格納西的奧

  2. 您必須將它們複製到 /var/www/rele,在本教程中所示腳本和單一 index.php, 每個人都有它的路線.

    在 /var/www/rele/index.php index.php
    apaga.sh, enciende.sh 和 parpadea.sh /var/www/rele/gpio/17 /

    一次被它順從于繼電器連接到 GPIO 17, 幾天後我將結束與第二部分以操作 8 項產出.

    從互聯網訪問您應該配置路由器,將傳入請求通過埠轉發 80 到你 PI 覆盆子. 從虛擬伺服器的路由器或 NAT 選項您可以配置它.

    最後,要訪問更多容易可以報名參加 NoIP 並獲得與您的類型 casa.no ip.biz 的公網 ip 免費功能變數名稱.

    PD: 確保只有您有權訪問它,你很好保護那一頁.

    非常感謝你的評論.

  3. 下午好,

    一切都完美, 雖然只是通過局域網或通過 Xming ssh, 無法連接到遠端, ' 與另一台 PC,通過互聯網, 我有 noip 和 dyndns, 和我不能運行, 如果你有任何想法,我感謝它你提前,

    強大的問候和一看更多, 謝謝

    伊格納西奧

    • 我很高興,它最後的作品, 但若要從互聯網連接哪些協定您使用?

      你必須打開你想要給您訪問互聯網的路由器上使用的服務的埠 (HTTP 埠 80, HTTPS 埠 443, SSH 埠 22, 等) 做給您訪問互聯網的私人覆盆子 IP 路由器的埠轉發.

      最後現在你只會從另一個網路所面臨的公共 IP,你的路由器開始連接, 你可以試著從你的手機 3 G.

      如果是這樣的話, 現在你可以繼續為從名稱容易記住而不是一個公共 ip 位址訪問配置 NoIP 或 Dyn; 另外如果在覆盆子上安裝 NoIP, 在 NoIP 網站上你的公網 IP 將會自動更改每當此更改您的路由器.

      為增加安全性, 將最佳如果設置 VPN 來連接到網路的你的房子嗎, 和通道通過它你的流量.

  4. 你好, 我有一個問題我在 gpio4 上有 led, sudo 回聲 1 > /這我關閉導致系統類 gpio gpio4 值, 與 sudo 回聲 0 > /sys 類 gpio gpio4 值, 打開我領導, 應該是 revez, 這將使事錯了嗎?.
    將的檔通過網路連接, 當我按下任何按鈕 (打開, 關閉, 或閃爍) 只有關閉 led, 但並不取決於, 既不也不閃變.
    我很感激你能給我的説明.

    • 你好, 首先多謝更糟糕的是你的問題 🙂

      您可以按照教程一步一步, 繼電器具有 3 類型的針腳:

      – -功率 > VDC (PIN 5V RPI)
      – 吉安達-針 GND RPI >
      – 在網站-> 條目, 並根據你的狀態是高還是低繼電器將打開或關閉.

      示例使用 IN8, 你之前後 comenté el 教程 🙂 繼電器作為 y IN0 IN1 獨奏 debes cambiarlo

      PD: Sean optoacoplados Asegurate, 洛杉磯 de la 照片它兒子.

      此致敬意, 我也希望 ayudado.

  5. 首先, 謝謝你的解釋, 非常好.

    我按照你的指示和我可以捉魚罐距離空氣泵.

    我的問題是缺少我可以驗證管腳狀態 (真或假)

    怎麼則能帶給我這個資料在同一頁面上我?

    是海軍按照你的指示, 正確地打開和關閉中繼.

    • 嗨特奧多羅,

      此注釋是許多讀者問的東西, 我正準備在那裡,我們將安排的 GPIO 狀態指示器本教程的下一部分的針在我的業餘時間免費.

      一旦完成在博客上都將發佈.

      一會見.

  6. 不過在此之前你太感謝你的博客。. 是壯觀. 就我而言我買了你所需要的一切, 我已經按照你的教程, 但是,當你運行的板 8 繼電器, 出什麼差錯.

    問題是,是如果我有板 octoacoplada?? 它似乎沒有達到你足夠的電流啟動. 我的連接:

    5v-> VCC (板)
    吉安達 (P3) -> 吉安達 (板)
    GPIO4-> IN4 (板)

    活動時與腳本 gpio, 領導的紅色控制開啟 momoento, 但是它不會. 我明白,這是因為 gpio 啟動到 3,3 伏特和繼電器是 5V. 發誓相同但是有板所以你到 ahber 的方式,使其不工作?

    Apreciaria 任何類型的注釋, 繼電器板是,如下所示
    (8 繼電器模組開關磁阻電動機-05VDC-SL-C)

    謝謝非常感謝

  7. 你好 Loty,

    大多數的銷售為微控制器的支援繼電器板已經來了光電耦合, 你可以檢查它是否是在規格或尋找在板光電耦合器; 這是指多個系列你提到如果那件事是.

    有效地將這些板塊動力使用 5v 的電壓, 但輸出可以由 3 作動器作為覆盆子 IP GPIO 3V 也啟動.

    不管怎麼說,這個問題似乎是缺乏權力, 所以用 2A 或飼料外部繼電器可以説明替換的覆盆子變壓器.

    問候和很快見到你.

    • 你好!
      謝謝你的回復. 我做過測試直接對繼電器板 (刪除 PI 覆盆子), 來看看它是否板有邪惡. 平時 2A 的外部 5V 給料機.

      我連接 GND,除非 VDC 飼養者 + 進紙器和 IN4 也到 +. 和那裡。. 作品!! 按一下中繼和 LED 指示燈亮起, 我做過測試 220v 燈與還在工作. 問題出現與樹莓派.

      我已經連接板式給料機外部 “+” VCC “-” 吉安達和我已經連接覆盆子 gpio4 IN4, 還有當我啟動 GPIO, 什麼也沒有發生. 我有分寸的 GPIO 和給出了 3,3 v. 在其他網站上看過,據說這是由於連接跳線 VDC JCC 否則. 不是我做錯了. 它可能是我把通過 BASH gpio?? 在她廉價卡使用 la libreria de python 的 GPIO 工作所需的 S??

      這次包括格拉西亞斯 por cualquier 貢獻

  8. 你好, 我有一個問題來擦除與中繼光, 在本教程中使用的代碼, 就能亮正常, 但不是刪除擦除和繼電器武裝, 只有解除我拔出從覆盆子中繼電纜時. 在幾次嘗試後,我設法做刪除本教程與代碼的教程的代碼導致刪除. 獲取此表單的代碼的一部分: 如果 ($_ 郵政[apagar17]) {
    $自- exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $自- exec(“sudo 回聲 17 > /sys,類,gpio,貿易”);
    $自- exec(“sudo 回聲 0 > /gpio sys 類 gpio17 值”);
    $自- exec(“sudo 回聲 17 > /sys/類/gpio/匯出”);
    回聲 $a;
    }

  9. 來自墨西哥的下午好, 我的名字是恩裡克 ·, 我很感興趣與覆盆子這來自一個學校專案實施自動化的一部分, 在這些教程中提到的必須有 linux 為哪個做不知道的多, 它是可能發展的專案, 網站和覆盆子與 windows 中的必要的程式設計?, 你提到的 web 伺服器必須安裝在同一樹莓或在哪裡?, 如果希望控制的設備的數量超過容量的覆盆子 3 ocuparia 做正常, 其他的覆盆子,還是有一些東西,會提高我的能力?, 如果你處理作為另一個覆盆子都與同一個 web 應用程式?.

    我希望和你能幫我用這.

    此致敬意.

留言