Málna PI - egy megfizethető otthoni automatizálási rendszer megvalósítása [II. rész]

Az előző post arról a Raspberry PI alapú megfizethető otthoni automatizálás, Megtudtuk, hogy ellenőrizze a ház hálózati kapcsolatok-ból egy panel-nyolc relék csatlakozik a Málna PI.

Ernyőz-ból 2015-02-01 20:20:47Ma azt látjuk, hogyan kell irányítani egy összesen tizenhat elektromos készülékek Köszönet az áramkör, hogy mi végre fent, és lehetővé teszi a lapok adott nekem Jordi a @electronics.cat és akkor már látta az összefoglalása a Hardver szabadság napja; tervezte, ugyanaz, és a száz százalékos ingyenes hardver.

Az a gyakorlat fogom használni a PI három ága, Ez a csapok felelősséget GPIO a Málna PI a 3.3V a 5V bi-igazgató, és lehetővé teszi számunkra, hogy a második a PiCam I2C busz számára fenntartott dolgozik; Én is használ lemez relék optoacoplados használtam az előző cikkben a haza automatizálás.

Pi3Ramas

IP-ban három tartományok tervezte @JordiBinefa.

Mindez helyezi a rendelkezésünkre összesen tizenhat foglalat domotic oszlik két Málna, és a bővíthetőség akár 128 esetében a PI 3 ágak, Mivel ez lehetővé teszi számunkra, hogy kihasználják a két busz I2C feláldozása a lehetőségét, hogy a csatlakozót, és a PiCam.

Csatlakozni a pi három ága, Mi meg kell hegeszteni a második busz csap megfelelő hat I2C amelyek nem katonák gyár, abban a pillanatban Jordi Aktívan dolgozik, egy új változata a lemez málna PI b + és a Raspberry PI modellek 2.

OLYMPUS DIGITÁLIS FÉNYKÉPEZŐGÉPMi segítünk hegeszteni a csapok a két csík három, a gazdaság áthidalók, de Gondoskodnunk kell arról, ők több igazodnak velünk lehető mindenkor Forrasztó őket előtt.

Mi lehet csatlakozni, most a PI három ága hogy a Málna Korábban már szerkesztett a két lemez elkülönítése, miért Jordi Elválasztójel használata ilyen műanyagok.

A pi a három ág és műanyag index elválasztó csatlakozó P3.

set05_08_v02_P2P3P4

Rendszer által @JordiBinefa P3-csatlakozó.

Végezze el a kapcsolatot a Relé adapterlemez, Mi kell kanyarban a csap a relé tábla Szeretnék csatlakozni a pi három ága, segít minket néhány fogó; a következő képen látható a végeredmény.

Attól függően, hogy a helyzet a csapok VCC és GND a mi váltó, Ez kerül jumper relé egy modul, vagy egy másik helyzetben, hogy őket; mindig szem előtt tartva, hogy Relé lemez kell energiát termelő mellett USB.

IN1 IN2 IN3 IN4 VCC GND

IN1 IN2 IN3 IN4 GND VCC

Most mi fog csatlakozni a relé, nyolc kimenet, hogy a relék adapter lemez, és a PI három ága; Megjegyzendő, hogy a Ez a modul összeegyeztethető-val négy és nyolc kimenet a relék.

Akkor láthatjuk, hogy a táblázat közötti kapcsolat a Relé modul, a PI három ága, és Málna PI.

Modul relé optoacoplados P3 csatlakozó Málna PI modell B
VCC + 5V + 5V
A 7 Kicsit 0 GPIO 29
A 6 Kicsit 1 GPIO 28
A 5 Kicsit 2 GPIO 18
A 4 Kicsit 3 GPIO 7
A 3 Kicsit 4 GPIO 8
A 2 Kicsit 5 GPIO 10
A 1 Kicsit 6 GPIO 9
A 0 Kicsit 7 GPIO 11
GND GND GND

Most tovább csatlakoztassa a relé optoacoplados lemez közvetlenül a GPIO a másik Málna, az alábbi képen látható a végeredmény.

A kapcsolatok között, a GPIO a mi Málna lesz ugyanaz, mint a az előző cikkben, Azonban ebben az esetben van hozzá minden-a kapcsolatok tábla.

Modul relé optoacoplados Málna PI modell B
VCC + 5V
A 1 GPIO 3
A 2 GPIO 2
A 3 GPIO 24
A 4 GPIO 25
A 5 GPIO 23
A 6 GPIO 27
A 7 GPIO 22
A 8 GPIO 4
GND GND

Futtatásához a Python scriptek a web, hogy látni fogjuk alább, Először van, hogy engedélyeket, hogy a felhasználó www-data A felhasználó az internetes kiszolgálóhoz rendelt; miért Első mi akarat felszerel a gyorsan pókháló szolgál, mint láttuk az előző cikkben Mi fog írni sudo visudo a terminál, és a fájl végére Mi lesz hozzá www-data, sudoer, a végeredmény, mint alul, hogy.

# See sudoers(5) for more information on "#include" directives:

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

Mind a tizenhat GPIO csapok Ez a gyakorlat a munkavállalók, Szükségünk van, hogy hozzon létre egy alkönyvtárat, és a Python két szkriptek; egyik, hogy kapcsolja be a, a másik pedig a relé, Itt van egy példa a PIN-KÓD 11.

#!usr/bin/env/ python
#enciende.py
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(11, GPIO.IN)
#!usr/bin/env/ python
#apaga.py
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(11, GPIO.OUT)

Minden a Málna PI Mi lesz helye a Tizenhat szkriptek bekapcsolásához a csatlakoztatott relék, hogy az csapok az egyes alkalmazottak, amit Ön tanácsot kér-a korábbi táblázatok; a parancsfájlok megfelelő a Málna közvetlenül csatlakozik a GPIO érdekében a lemez tegyük őket a Taglista /Kezdőlap/pi/relék/gpio.

A hierarchia, a könyvtárak és alkönyvtárak létrehozása, a programozott fájlok másolására Python Fogjuk használni e két parancsfájlok a Bash; az első lesz, hogy végre a PI csatlakozik a PI három ága.

#!/bin/bash
#Raspberry PI con la pi de 3 ramales.

#Creamos la jerarquía de directorios.
mkdir /home/pi/reles/gpio
mkdir /home/pi/reles/gpio/11
mkdir /home/pi/reles/gpio/9
mkdir /home/pi/reles/gpio/10
mkdir /home/pi/reles/gpio/8
mkdir /home/pi/reles/gpio/7
mkdir /home/pi/reles/gpio/18
mkdir /home/pi/reles/gpio/28
mkdir /home/pi/reles/gpio/29
ls /home/pi/reles/gpio

#Y copiamos los scripts
cp enciende.py apaga.py /home/pi/reles/gpio/11
cp enciende.py apaga.py /home/pi/reles/gpio/9
cp enciende.py apaga.py /home/pi/reles/gpio/10
cp enciende.py apaga.py /home/pi/reles/gpio/8
cp enciende.py apaga.py /home/pi/reles/gpio/7
cp enciende.py apaga.py /home/pi/reles/gpio/18
cp enciende.py apaga.py /home/pi/reles/gpio/28
cp enciende.py apaga.py /home/pi/reles/gpio/29
ls /home/pi/reles/gpio/*

A többiek Tizenhat szkriptek megfelelő ellenőrzése a Málna csatlakozik a PI három ága Mi akarat eltartás őket a könyvtárban /var/www/váltó/gpio /.

#!/bin/bash
#Raspberry pi con relé compatible con GPIO.

#Creamos la jerarquía de directorios.
mkdir /var/www/rele/gpio
mkdir /var/www/rele/gpio/4
mkdir /var/www/rele/gpio/22
mkdir /var/www/rele/gpio/27
mkdir /var/www/rele/gpio/23
mkdir /var/www/rele/gpio/25
mkdir /var/www/rele/gpio/24
mkdir /var/www/rele/gpio/2
mkdir /var/www/rele/gpio/3
ls /var/www/rele/gpio

#Y copiamos los scripts.
cp enciende.py apaga.py /var/www/rele/gpio/4
cp enciende.py apaga.py /var/www/rele/gpio/22
cp enciende.py apaga.py /var/www/rele/gpio/27
cp enciende.py apaga.py /var/www/rele/gpio/23
cp enciende.py apaga.py /var/www/rele/gpio/25
cp enciende.py apaga.py /var/www/rele/gpio/24
cp enciende.py apaga.py /var/www/rele/gpio/2
cp enciende.py apaga.py /var/www/rele/gpio/3
ls /var/www/rele/gpio/*

Ekkor létre kell hoznunk egy kulcspár úgy, hogy a Málna PI Az oldal futtatásához a parancsfájlok a kapcsolódó, a PI három ága távolról, a felhasználó, akik azt www-data hozzá kell rendelnie egy jelszó annak érdekében, hogy a logika és a kulcspár létre az Ön nevében.

#Asignamos un password al usuario www-data
usuario@maquina:~$ passwd www-data

Introduzca la nueva contraseña de UNIX: 
Vuelva a escribir la nueva contraseña de UNIX: 
passwd: contraseña actualizada correctamente

#Creamos el par de claves RSA de 4096 bits
www-data@maquina:~$ ssh-keygen -b 4096 -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/var/www/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /var/www/.ssh/id_rsa.
Your public key has been saved in /var/www/.ssh/id_rsa.pub.
The key fingerprint is:
5a:dc:bd:af:0d:ae:9d:9f:bb:c2:d4:5b:dd:67:8d:18 tmo@tmo-K55A
The key's randomart image is:
+--[ RSA 4096]----+
|                 |
|                 |
|                 |
|       . . .E    |
|        S . .+ .+|
|       o    o.o B|
|      .    oo  +.|
|           oo=.. |
|          ..=+Bo |
+-----------------+

#Copiamos la clave pública a la otra raspberry
www-data@maquina:~$ ssh-copy-id pi@192.168.*.***                 
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'pi@192.168.*.***'"
and check to make sure that only the key(s) you wanted were added.

Létrehozása után a nyilvános és személyes kulcspár, Ellenőrizzük, hogy tudunk belépés mellett SSH a jelszó beírása nélkül; a különböző ugyanaz pókháló kezelőterű málna relék ugyanazon a helyi hálózaton, Ebben az esetben Csatlakoztatta őket, köszönhetően a kis ingyenes útválasztó WRTNode.

WRTNode_ETHMajd hozunk létre, a haza oldal, amely tartalmazza a gomb bemenet típusa akkor nyomja meg, hogy végre a parancsfájlok a Python a a webes felületen, a post metódussal; Ebben a példában fogom mutatni a weben, csak négy indul, hogy a cikk nem túl hosszú.

<html>
 <head>
                 <!--/var/www/rele/index.php-->
 </head>
 <body>

 <!--GPIO11--> 
 <form action="" method="post">
 Enchufe 0 [GPIO 11 - P3 Bit 7 - IN1]&nbsp;<input type="submit" name="encender11" value="Encender">
 <input type="submit" name="apagar11" value="Apagar">
 </form>
 &nbsp;&nbsp;

 <!--GPIO04--> 
 <form action="" method="post">
 Electrodomestico 0 [GPIO 04 - P4 Bit 7 - IN1]&nbsp;<input type="submit" name="encender4" value="Encender">
 <input type="submit" name="apagar4" value="Apagar">
 </form>
 <br></br>

 <!--GPIO09--> 
 <form action="" method="post">
 Enchufe 1 [GPIO 09 - P3 Bit 6 - IN2]&nbsp;<input type="submit" name="encender9" value="Encender">
 <input type="submit" name="apagar9" value="Apagar">
 </form>
 &nbsp;&nbsp;

 <!--GPIO22--> 
 <form action="" method="post">
 Electrodomestico 1 [GPIO 22 - P4 Bit 6 - IN2]&nbsp;<input type="submit" name="encender22" value="Encender">
 <input type="submit" name="apagar22" value="Apagar">
 </form>
 </body>
</html>

<?php

// Funciones PHP del pin GPIO 11
 if ($_POST[encender11]) { 
 $a- exec("sudo python /var/www/rele/gpio/11/enciende.py");
 echo $a;
 }

 if ($_POST[apagar11]) { 
 $a- exec("sudo python /var/www/rele/gpio/11/apaga.py");
 echo $a;
 }
// Fin de las funciónes del pin GPIO 11

// Funciones PHP del pin GPIO 9
 if ($_POST[encender9]) { 
 $a- exec("sudo python /var/www/rele/gpio/9/enciende.py");
 echo $a;
 }

 if ($_POST[apagar9]) { 
 $a- exec("sudo python /var/www/rele/gpio/9/apaga.py");
 echo $a;
 }
// Fin de las funciónes del pin GPIO 9

// Funciones PHP del pin GPIO 04

  if ($_POST[encender4]) { 
   $a- exec("ssh root@192.168.*.*** python /home/pi/reles/gpio/4/enciende.py");
   echo $a;
  }

  if ($_POST[apagar4]) { 
   $a- exec("ssh root@192.168.*.*** python /home/pi/reles/gpio/4/apaga.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 04

// Funciones PHP del pin GPIO 22

  if ($_POST[encender22]) { 
   $a- exec("ssh root@192.168.*.*** python /home/pi/reles/gpio/22/enciende.py");
   echo $a;
  }

  if ($_POST[apagar22]) { 
   $a- exec("ssh root@192.168.*.*** python /home/pi/reles/gpio/22/apaga.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 22
?>

Ha azt akarom, hogy takarmány neki mindent egyetlen konnektorból, kell kitérő minden negatív eredmények 220V Relé.

A hálózati kapcsolatok Mi lesz, hogy azok ugyanúgy, mint az utolsó bejegyzés, között a dugó és a kapcsoló rendszerek miniatűr circuit breaker megkönnyítése érdekében a nyomon követése a gyakorlatban.

Dugó differenciál relé

A következő részlet a megfizethető otthoni automatizálás Megtanuljuk, hogy kihasználják a két busz I2C Köszönöm, hogy a PI három ága, és mi lesz a próba-ból fogalom ellenőrzése 128 cserélhető LED-EK, villamos készülékek.

Ha tetszik, akkor Kövess engem, Twitter, Facebook, A Google +, LinkedIn, vagy ossza meg a gombok alatt a kiadvány, Ha bármilyen kérdése van, vagy javaslatokat kérjük ne habozzon megjegyzést.

Segítsen nekünk, hogy elérje több olvasót Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

4 gondolatok a"Málna PI - egy megfizethető otthoni automatizálási rendszer megvalósítása [II. rész]

  1. Nagyon jó hozzászólás, továbbra is!!
    Egy kérdés, Szeretnék venni-t is felszerel egy haza automatizálás könnyű málna rendszerrel, de nem, hogyan, például, hogy ismerje a fény,vak vagy valamilyen eszköz, Ha manuálisan aktiválva.
    Én mondom ezt, például, Ha azt akarom, hogy kapcsolja be a fényt, a telefon, de nem abban az időben minden állam.

    Salu2

    • Hello Igor, Gracias por tu comentario.

      Előfordul, hogy nekem, hogy Ön tudna használ némely féle érzékelő, amely ellenőrzi a feszültség, hogy eléri a kívánt vezérlő világítás, és a web-kiszolgáló valós időben tudni, bármikor, ha ez nem, vagy.

Hozzászólás