Vaarika PI - taskukohane Avaleht automaatika rakendamise [II osa]

Eelmine postitus umbes taskukohane koduautomaatika põhineb Vaarika PI, Oleme õppinud kontrollida maja mains ühendused ekspertide loetelust kaheksa releed ühendatud meie Vaarika PI.

Pilt 2015-02-01 20:20:47Täna me näeme, kuidas kontrollida kokku kuusteist elektriseadmed Tänu circuit, mida saame rakendada eespool, ja mis võimaldab lauad on andnud mulle Jordi kohta @electronics.cat ja sa juba suutnud näed Kokkuvõttes on Riistvara vabaduse päev; Kujundanud sama, ja sada protsenti vaba riistvara.

Aprillini, ma lähen, et kasutada selle PI on kolm oksad, mis vastutab kohandamiseks Kõik tihvtid GPIO kohta Vaarika PI kohta 3.3V et 5V reaktiivenergiat kahesuunaliselt ja võimaldab meil reserveeritud PiCam I2C bus teine töötamine; Ma kasutan ka plaadi releed optoacoplados ma kasutasin eelmise artikli kohta koduautomaatika.

Pi3Ramas

IP kolm vahemikes kujundas @JordiBinefa.

Kõik see paneb meie käsutuses Kokku kuusteist otsikud domotic jagatud kahe Vaarikas, ja koos teetseid kuni 128 puhul on PI tegema 3 filiaalid, Kuna saame ära kasutada kahe bussid I2C ohverdades konnektor on PiCam kasutamise võimalus.

Pi on kolm oksad ühendamiseks, Meil tuleb keevitada vastab teine buss pins kuus I2C mis ei ole tehase sõdurid, hetkel Jordi Ta on aktiivselt tööd uue versiooni oma plaadi Vaarika PI b + ja Vaarika PI mudelid 2.

OLYMPUS DIGITAL CAMERASaame aidata keevitada holding kaks ribast kolm koos nööpnõelad džemprid, Aga Sa pead veenduma, nad on rohkem joondatud meile kui võimalik alati enne jootmise neid.

Me nüüd luua ühenduse selle PI on kolm oksad et selle Vaarikas Varem muutsin isoleerivad kahest plaadist, Mille jaoks Jordi Kasuta separaatorid selliste plastist.

Kolm oksad ja plastist indeks jagaja connector P3 pi.

set05_08_v02_P2P3P4

Kava P3 Connectori poolt @JordiBinefa.

Teostada seoses selle Relee adapteri kinnitus, Meil tuleb painutada relee juhatuse pins Ma tahan ühenduda pi tegema kolm filiaalid, aidates meil mõned tangid; järgmisel pildil näete lõpptulemuse.

Viikude olenevalt VCC ja GND aastal meie relee, Meil paneb see hüppaja ühe mooduli releed, või teisele tööle neid investeerima; pidades alati meeles, et Relee plaat varustada toitega USB.

IN1 IN2 IN3 IN4 VCC GND

IN1 IN2 IN3 IN4 GND VCC

Nüüd me ühendada meie relee kaheksa väljundeid releed adapter plaat, ja on ka PI on kolm oksad; tuleb märkida, et See moodul sobib neli ja kaheksa väljundi releed.

Siis me näeme tabeli seoseid ning Relee moodul, selle PI on kolm oksad, ja Vaarika PI.

Moodul edastab optoacoplados Konnektori P3 Vaarika PI näidis B
VCC + 5V + 5V
TOLLI 7 Bit 0 GPIO 29
TOLLI 6 Bit 1 GPIO 28
TOLLI 5 Bit 2 GPIO 18
TOLLI 4 Bit 3 GPIO 7
TOLLI 3 Bit 4 GPIO 8
TOLLI 2 Bit 5 GPIO 10
TOLLI 1 Bit 6 GPIO 9
TOLLI 0 Bit 7 GPIO 11
GND GND GND

Nüüd jätkata ühendust selle tiim optoacoplados plaat otse selle GPIO teise Vaarikas, alloleval pildil näete lõpptulemuse.

Seosed on GPIO ning meie Vaarikas siis need samad, mis Eelmine artikkel, Aga kui lisasin kõik ühendused tabel.

Moodul edastab optoacoplados Vaarika PI näidis B
VCC + 5V
TOLLI 1 GPIO 3
TOLLI 2 GPIO 2
TOLLI 3 GPIO 24
TOLLI 4 GPIO 25
TOLLI 5 GPIO 23
TOLLI 6 GPIO 27
TOLLI 7 GPIO 22
TOLLI 8 GPIO 4
GND GND

Käivitada nende Pythoni skriptid Web, näeme allpool, Kõigepealt tuleb anda õigused kasutajale www-data See on kasutaja määratud veebiserverisse; Mille jaoks Kõigepealt me paigaldada apache web server nagu nägime eelmises artiklis ja kirjutan sudo visudo terminali ja faili lõpus Me lisada www-data nagu sudoer, olles lõpptulemuse alljärgnevalt.

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

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

Iga kuusteist GPIO Pins töötajad seda tava, Peame looma alamkataloog, ja kaks skripte Python; üks sisselülitamine, ja teine omakorda relee, Siin on näide selle PIN-KOOD 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)

Igas selle Vaarika PI Meil paneb oma Kuusteist skripte ühendatud releed või kuni selle Pins kummaski töötajat, et lugege eelmise tabelites; selle skriptid vastab selle Vaarikas otse ühendatud ning GPIO relee plaadile asetada need kataloog /Avaleht/pi/releed/gpio.

Kataloogide ja alamkatalooge hierarhia loomiseks, ja programmeeritud failide kopeerimine Python Me kasutame need teised kaks skriptid aastal Bash; Esimene neist on, mis täidab selle PI ühendatud ning PI on kolm oksad.

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

Teised Kuusteist skripte vastava kontrolli ning Vaarikas ühendatud ning PI on kolm oksad Hoiame neid kataloog /var/www/relee/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/*

Sel ajal me peame looma ka võtmepaari nii et selle Vaarika PI On lehe joosta ning skriptid ühendatud kuni selle PI on kolm oksad eemalt, Kui kasutaja, kes teeb seda on www-data määrama parooli et sisse logida ja luua võtme paari teie nimel.

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

Kord loodud ning paari avaliku ja erasektori, Me kontrollime, et me ei saa pääsemine SSH ilma parooli sisestamata; jaoks mida juhitakse sama veebi erinevad Vaarika releed samas kohalikus võrgus, Sel juhul Ma ühendatud neid tänu väikestele vaba ruuteri WRTNode.

WRTNode_ETHSiis loome meie kodulehekülg, mis sisaldab ka nupud sisendi tüüp sa pead vajutage täitmiseks ning skriptid aastal Python web interface kasutades post meetodit; selleks näiteks näitab ainult neli hakkab veebi, et artikkel on liiga pikk.

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

Kui ma tahan söödaga talle kõike ühest väljalasust, peab ümbersõit kõik negatiivsed väljundid 220V Relee.

Elektrilampide ühendused Me teeme nende samamoodi nagu viimase kande, vahele pistik ja lüliti skeemid miniatuurne kaitselüliti et reageerida tava.

Plug diferentseeritud relee

Järgmise osamakse kohta taskukohane koduautomaatika Õpime ära kaks bussid I2C Tänu selle PI on kolm oksad, teeme mõne tõendi mõiste kontrollimine 128 vahetatavate LED poolt.

Kas sa jälgib mind Twitter, Facebook, Google +, LinkedIn, või jagada seda väljaannet all nuppe, Kui teil on küsimusi või ettepanekuid palun ärge kartke kommenteerida.

Aitavad saavutada rohkem lugejaid Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

4 mõtted"Vaarika PI - taskukohane Avaleht automaatika rakendamise [II osa]

  1. Väga hea postitused, jätkub!!
    Küsimus, Ma tahan installida ka kodu Automatiseerimissüsteemid lihtne Vaarika süsteemiga, kuid mitte on kuidas näiteks teada staatuse valgus,pime või seadmete, Kui see on käsitsi aktiveeritud.
    Ma ütlen seda näiteks, Kui ma tahan valgust telefoni sisse lülitada, kuid ei ole selles riigis on sel ajal.

    Salu2

    • Tere Igor, Täname kommentaari.

      See tundub mulle, et võiks kasutada mingit andurit, mis tõestaks pinge, mis on jõudmas soovite juhtelemendi valgustus, ning teada on teie veebiserveris reaalajas teada alati, kui see on või mitte.

Jäta vastus