Vadelma PI - affordable koti-automaattinen järjestelmä [Osa II]

Edellinen postitse noin Affordable koti-automaattinen perustuu vadelma PI, Opimme tarkistaa House taloliittymän paneelista ja kahdeksan releet liitetty meidän Vadelma PI.

Captura de pantalla de 2015-02-01 20:20:47Tänään näemme miten hallita yhteensä kuusitoista sähkölaitteet Kiitos piiri, joka toteuttaa edellä, ja hallitukset voisivat on antanut minulle Jordi ja @electronics.cat ja olet jo voisi näet yhteenvedon Laitteiston vapauden päivä; suunnitellut sama, ja sataprosenttisesti vapauttaa kone.

Tämä käytäntö aion käyttää että PI: n kolme osaa, joka vastaa mukauttamiseksi kaikki nastat GPIO ja Vadelma PI ja 3.3V jotta 5V kahteen suuntaan ja antaa meille mahdollisuuden työskentely avulla toinen varattu PiCam I2C-väylän; Käytän myös levy releet optoacoplados käytin Edellinen artikkeli koti automaatio.

Pi3Ramas

IP kolmessa tuotesegmentissä suunnitellut @JordiBinefa.

Kaikki tämä antaa käyttöömme yhteensä kuusitoista pistorasiat domotic jaettu kahden Vadelma, ja laajennettavuus enintään 128 niiden PI: n 3 oksat, Koska se antaa meille mahdollisuuden hyödyntää kaksi bussia I2C uhraa mahdollisuudesta käyttää liitin PiCam.

Yhteyden pi: n kolme osaa, On hitsin vastaa toinen bussi nastat kuuden I2C jotka eivät ole sotilaita tehtaan, tällä hetkellä Jordi Se työskentelee aktiivisesti uuden version raskasta vadelma PI b + ja vadelma PI mallit 2.

OLYMPUS DIGITAALIKAMERAVoimme auttaa hitsata tilalla kaksi nauhat kolme pins Puserot, Mutta Meidän on varmistettava, enemmän tasaamisen meille kuin mahdollista aina ennen juottamista niitä.

Nyt voit kytkeä PI: n kolme osaa Voit Vadelma Aiemmin muokannut eristää kahden kilven, Mitä varten Jordi Käytä erottimia Tällainen muovia.

Kolme osaa ja muovi indeksi jakaja liitin P3 pi.

set05_08_v02_P2P3P4

Ohjelma P3-liitin, jonka @JordiBinefa.

Suorittaa yhteys Relay-kytkin, Meidän täytyy omistaa relay hallituksen nastat Haluan liittää pi: n kolme osaa, auttaa meitä pihdit; seuraavan kuvan näet lopputulos.

Riippuen asemasta nastat VCC ja GND Meidän rele, Otamme tämän hyppääjä releet yhdessä moduulissa, tai toinen mahdollisuus sijoittaa niitä; aina pitäen mielessä, että Rele levy on käyttöinen luona USB.

IN1 IN2 IN3 IN4 VCC GND

IN1 IN2 IN3 IN4 GND VCC

Nyt olemme yhteydessä meidän rele kahdeksan tuotosten sovitin lautaselle releet, ja on PI: n kolme osaa; on huomattava, että Tämä moduuli on yhteensopiva neljän ja kahdeksan lähtöä releet.

Nähtävissä taulukossa yhteyksiä Relemoduuli, että PI: n kolme osaa, ja Vadelma PI.

Moduuli releet optoacoplados Liitin P3 Vadelma PI malli B
VCC + 5V + 5V
IN 7 Vähän 0 GPIO 29
IN 6 Vähän 1 GPIO 28
IN 5 Vähän 2 GPIO 18
IN 4 Vähän 3 GPIO 7
IN 3 Vähän 4 GPIO 8
IN 2 Vähän 5 GPIO 10
IN 1 Vähän 6 GPIO 9
IN 0 Vähän 7 GPIO 11
GND GND GND

Seuraavaksi yhteyden releet optoacoplados levy suoraan GPIO muiden Vadelma, alla olevassa kuvassa näet lopputulos.

Yhteyksiä GPIO ja meidän Vadelma ne samat kuin Edellinen artikkeli, Kuitenkin tässä tapauksessa olen lisännyt kaikki yhteydet-taulukko.

Moduuli releet optoacoplados Vadelma PI malli B
VCC + 5V
IN 1 GPIO 3
IN 2 GPIO 2
IN 3 GPIO 24
IN 4 GPIO 25
IN 5 GPIO 23
IN 6 GPIO 27
IN 7 GPIO 22
IN 8 GPIO 4
GND GND

Suorittaa skriptejä Pythonilla Web, että näemme alla, Ensin meidän täytyy antaa oikeudet käyttäjälle www-data Se on määritetty web-palvelimen käyttäjä; Mitä varten Ensin me asentaa apache-verkkopalvelimen kuten olemme nähneet edellisessä artikkelissa niin sudo terminalvisudo terminaalin ja tiedoston loppuun Meillä tuo www-data sudoer, lopullinen tulos alla.

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

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

Kunkin kuusitoista GPIO nastat työntekijöille tämä käytäntö, Meidän täytyy luoda alihakemisto, ja kaksi skriptejä Pythonilla; yksi päälle, ja toinen puolestaan rele, Tässä on esimerkki, jossa PIN 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)

Jokaisessa Vadelma PI Annamme teidän Kuusitoista skriptit Voit ottaa käyttöön yhtenäinen releet ja Pins kussakin työntekijää, Voit tutustua edellisen taulukoissa; että skriptit vastaa Vadelma liittyvät suoraan GPIO välittää levy Aseta ne hakemistoon /Etusivu/pi releet gpio.

Voit luoda hierarkian hakemistojen ja alihakemistojen, ja kopioi ohjelmoitu tiedostot Python Käytämme näitä kahta muuta skriptit Tässä Bash; Ensimmäinen on, että suorittaa PI yhteydessä PI: n kolme osaa.

#!/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/*

Muut Kuusitoista skriptit valvonnasta vastaavat Vadelma yhteydessä PI: n kolme osaa Pidämme niitä hakemistoon /var/www/rele/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/*

Tällä hetkellä meidän on luotava avainparin niin, että Vadelma PI Se on sivu suorittaa skriptit kytketty ja PI: n kolme osaa kaukaista, koska käyttäjä, joka tekee sen on www-data on annettava salasana Kirjaudu sisään ja luo avainparin puolestasi.

#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.

Luotuasi avainparin julkinen ja yksityinen, Tarkistamme, että voimme käyttää SSH ilman salasanaa; varten käyttää samaa sivustoa eri vadelma releet samassa lähiverkossa, Tässä tapauksessa Olen liittänyt ne ansiosta pieni ilmainen reititin WRTNode.

WRTNode_ETHSitten luomme etusivun, joka sisältää painikkeet syötteen tyyppi sinun täytyy painaa suorittaa skriptit Tässä Python post-menetelmää käyttämällä web-käyttöliittymä; Tässä esimerkissä aion näyttää web vain neljä alkaa niin, että artikkeli ei ole liian pitkä.

<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
?>

Jos haluan ruokkia häntä kaiken yhdestä pistorasiasta, on Ohita kaikki negatiiviset tuotokset 220V Rele.

Yhteydet sähköverkkoon Teemme niistä samalla tavalla kuin viimeinen merkintä, suljettu pistoke ja kytkin järjestelmien välillä miniatyyri katkaisija jotta voidaan käytännössä.

Pistoke ero rele

Seuraava erä on Affordable koti-automaattinen Opimme hyödyntämään kaksi bussia I2C Kiitos PI: n kolme osaa, ja teemme osoitus käsite tarkistaminen 128 vaihdettavissa LEDit sähkö.

Jos haluat, voit seurata minua Twitter, Facebook, Google +, LinkedIn, tai jakaa sen painikkeet nojalla tämän julkaisun, Jos sinulla on kysyttävää tai ehdotuksia, älä epäröi kommentoida.

Voimme tavoittaa enemmän lukijoita Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

4 ajatuksia"Vadelma PI - affordable koti-automaattinen järjestelmä [Osa II]

  1. Erittäin hyvä virkaa, jatkuu!!
    Kysymys, Haluaisin myös asentaa koti automaatio helppo vadelma järjestelmä, mutta ei kuten esimerkiksi tilan valo,sokea tai muulla laitteella, Jos se on aktivoitu manuaalisesti.
    Sanon tämän esimerkiksi, Jos haluan valo puhelimesta mutta ole kyseinen valtio on tuolloin.

    Salu2

    • Hei Igor, Kiitos kommentti.

      Se tapahtuu minulle, että voisit käyttää jonkinlaista anturi, joka tarkistaa jännitystä, joka tavoittaa valaistus, joita haluat ohjata, ja ilmoittaa sen palvelimen reaaliajassa tietää milloin tahansa, jos se on tai ei.

Jätä vastaus