Málna PI – Egy megfizethető otthoni automatizálási rendszer megvalósítása [III. rész]

Néhány hónappal később úgy döntött, hogy visszatér Ez a projekt melyik szándékozik létrehozni, a ingyenes home automation rendszer, és gazdaságilag megfizethető; Ez alacsony a fogyasztás mikroszámítógép-alapú, de kereszt-emelvény és hordozható hogy minden olyan eszköz, OS GNU/Linux -ről Port GPIO.A korábbi hozzászólások Megtudtuk, irányítani a modulok relék optoacoplados a Málna PI által bash, PHP, és a Python; Ebből az alkalomból Van optimalizálva az automatizálási rendszer, és mellesleg már áttelepített, hogy Málna PI 3 dobja vezeték nélküli kapcsolat, De ha akarod, tudod használ akármi előző modell.

A hardver Áll, két modul-az nyolc relék minden, alkotó összesen Tizenhat out ellenőrzése készülékek, Elektromos telferek(járgányok), világítás; és a vége nélkül eszközök hogy ez a kis konvertálható Málna PI 3, mindent, amire szükség van domotic ház u-office hagyományos.

Épület automatizálási rendszer

Áramkör-megszakító kapcsolót diagram domotic DIY.

A műszerfal van programozva a PHP, és van egy optimization kódját az előző verzió de célja, hogy kezelje a GPIO közvetlenül a bash amely nagyban gyorsítja a folyamatot; meg kell, Óta szolgáljuk majd ez oldalon keresztül WiFi.

FremooticsPI

Az automatizálási rendszer webes Vezérlőpult.

Az a tény anélkül, hogy további fájlokat kezelheti a port kimenet GPIO a Málna által Python; Ez az egyszerű alakítja Web-oldal, egyetlen fájl, az igazi kiinduló pont, amely vált valamikor itt egy teljes épületautomatizálási rendszer hogy én kialakítása együtt.

<html>
<head>
<title>Panel de control - Sistema domotico libre</title>
</head>

<body>
<div align="center">
<br></br>

 <!--GPIO4/IN1-->
 <form action="" method="post">
 Interruptor 01 &nbsp;<input type="submit" name="encender4" value="Encender">
 <input type="submit" name="apagar4" value="Apagar">

 <!--GPIO17/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 02 &nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">

<br></br>

 <!--GPIO27/IN3-->
 <form action="" method="post">
 Interruptor 03 &nbsp;<input type="submit" name="encender27" value="Encender">
 <input type="submit" name="apagar27" value="Apagar">

 <!--GPIO22/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 04 &nbsp;<input type="submit" name="encender22" value="Encender">
 <input type="submit" name="apagar22" value="Apagar">

<br></br>

 <!--GPIO18/IN5-->
 <form action="" method="post">
 Interruptor 05 &nbsp;<input type="submit" name="encender18" value="Encender">
 <input type="submit" name="apagar18" value="Apagar">

 <!--GPIO23/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 06 &nbsp;<input type="submit" name="encender23" value="Encender">
 <input type="submit" name="apagar23" value="Apagar">

<br></br>

 <!--GPIO24/IN7-->
 <form action="" method="post">
 Interruptor 07 &nbsp;<input type="submit" name="encender24" value="Encender">
 <input type="submit" name="apagar24" value="Apagar">

 <!--GPIO25/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 08 &nbsp;<input type="submit" name="encender25" value="Encender">
 <input type="submit" name="apagar25" value="Apagar">

<br></br>

 <!--GPIO5/IN1-->
 <form action="" method="post">
 Interruptor 09 &nbsp;<input type="submit" name="encender5" value="Encender">
 <input type="submit" name="apagar5" value="Apagar">

 <!--GPIO6/IN2-->
 <form action="" method="post">
 &nbsp; Interruptor 10 &nbsp;<input type="submit" name="encender6" value="Encender">
 <input type="submit" name="apagar6" value="Apagar">

<br></br>

 <!--GPIO13/IN3-->
 <form action="" method="post">
 Interruptor 11&nbsp;<input type="submit" name="encender13" value="Encender">
 <input type="submit" name="apagar13" value="Apagar">

 <!--GPIO12/IN4-->
 <form action="" method="post">
 &nbsp; Interruptor 12 &nbsp;<input type="submit" name="encender12" value="Encender">
 <input type="submit" name="apagar12" value="Apagar">

<br></br>

 <!--GPIO19/IN5-->
 <form action="" method="post">
 Interruptor 13 &nbsp;<input type="submit" name="encender19" value="Encender">
 <input type="submit" name="apagar19" value="Apagar">

 <!--GPIO16/IN6-->
 <form action="" method="post">
 &nbsp; Interruptor 14 &nbsp;<input type="submit" name="encender16" value="Encender">
 <input type="submit" name="apagar16" value="Apagar">

<br></br>

 <!--GPIO20/IN7-->
 <form action="" method="post">
 Interruptor 15 &nbsp;<input type="submit" name="encender20" value="Encender">
 <input type="submit" name="apagar20" value="Apagar">

 <!--GPIO21/IN8-->
 <form action="" method="post">
 &nbsp; Interruptor 16 &nbsp;<input type="submit" name="encender21" value="Encender">
 <input type="submit" name="apagar21" value="Apagar">

</div>
</body>
</html>

<?php

// Funciones PHP del pin GPIO 4

 if ($_POST[encender4]) {
 $a- exec("echo 4 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio4/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

 if ($_POST[apagar4]) {
 $a- exec("echo 0 > /sys/class/gpio/gpio4/value");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 17

 if ($_POST[encender17]) {
 $a- exec("echo 17 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio17/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio17/value");
 echo $a;
 }

 if ($_POST[apagar17]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio17/value");
 $a- exec("echo 17 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 27

 if ($_POST[encender27]) {
 $a- exec("echo 27 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio27/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio27/value");
 echo $a;
 }

 if ($_POST[apagar27]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio27/value");
 $a- exec("echo 27 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 22

 if ($_POST[encender22]) {
 $a- exec("echo 22 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio22/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio22/value");
 echo $a;
 }

 if ($_POST[apagar22]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio22/value");
 $a- exec("echo 22 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 18

 if ($_POST[encender18]) {
 $a- exec("echo 18 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio18/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio18/value");
 echo $a;
 }

 if ($_POST[apagar18]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio18/value");
 $a- exec("echo 18 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 23

 if ($_POST[encender23]) {
 $a- exec("echo 23 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio23/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio23/value");
 echo $a;
 }

 if ($_POST[apagar23]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio23/value");
 $a- exec("echo 23 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 24

 if ($_POST[encender24]) {
 $a- exec("echo 24 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio24/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio24/value");
 echo $a;
 }

 if ($_POST[apagar24]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio24/value");
 $a- exec("echo 24 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 25

 if ($_POST[encender25]) {
 $a- exec("echo 25 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio25/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio25/value");
 echo $a;
 }

 if ($_POST[apagar25]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio25/value");
 $a- exec("echo 25 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 5

 if ($_POST[encender5]) {
 $a- exec("echo 5 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio5/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio5/value");
 echo $a;
 }

 if ($_POST[apagar5]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio5/value");
 $a- exec("echo 5 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 6

 if ($_POST[encender6]) {
 $a- exec("echo 6 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio6/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio6/value");
 echo $a;
 }

 if ($_POST[apagar6]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio6/value");
 $a- exec("echo 6 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 13

 if ($_POST[encender13]) {
 $a- exec("echo 13 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio13/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio13/value");
 echo $a;
 }

 if ($_POST[apagar13]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio13/value");
 $a- exec("echo 13 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 12

 if ($_POST[encender12]) {
 $a- exec("echo 12 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio12/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio12/value");
 echo $a;
 }

 if ($_POST[apagar12]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio12/value");
 $a- exec("echo 12 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 19

 if ($_POST[encender19]) {
 $a- exec("echo 19 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio19/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio19/value");
 echo $a;
 }

 if ($_POST[apagar19]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio19/value");
 $a- exec("echo 19 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 16

 if ($_POST[encender16]) {
 $a- exec("echo 16 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio16/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio16/value");
 echo $a;
 }

 if ($_POST[apagar16]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio16/value");
 $a- exec("echo 16 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 20

 if ($_POST[encender20]) {
 $a- exec("echo 20 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio20/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio20/value");
 echo $a;
 }

 if ($_POST[apagar20]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio20/value");
 $a- exec("echo 20 > /sys/class/gpio/unexport");
 echo $a;
 }

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

// Funciones PHP del pin GPIO 21

 if ($_POST[encender21]) {
 $a- exec("echo 21 > /sys/class/gpio/export");
 $a- exec("echo out > /sys/class/gpio/gpio21/direction");
 $a- exec("echo 1 > /sys/class/gpio/gpio21/value");
 echo $a;
 }

 if ($_POST[apagar21]) {
 $a- exec("sudo echo 0 > /sys/class/gpio/gpio21/value");
 $a- exec("echo 21 > /sys/class/gpio/unexport");
 echo $a;
 }

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

?>

Elvégzésére a málna és a váltó közötti kapcsolatok, Meg kell menjen a láb, a levél a következő táblázatok a séma alapján GPIO BCM; mert másképp lesz, hogy módosítsa a fájl sorainak PHP, és cserélje ki a kód a számok a PIN-KÓD alkalmazottak.

Málna PI modell B + / 2/3 Relé modul 1
+ 5V + 5V
GPIO 4
A 1
GPIO 17
A 2
GPIO 27 A 3
GPIO 22
A 4
GPIO 18 A 15
GPIO 23
IN1 6
GPIO 24
IN1 7
GPIO 25
IN1 8
GND GND
Málna PI modell B + / 2/3 Relé modul 2
+ 5V + 5V
GPIO 5
A 1
GPIO 6
A 2
GPIO 13
A 3
GPIO 12
A 4
GPIO 19
IN1 5
GPIO 16
IN1 6
GPIO 20
IN1 7
GPIO 21
IN1 8
GND GND

Egyszer összekapcsolt, mind a csapok a Málna a csatlakozóegység VCC, GND, e bemenetek a a Relé; csak az maradt hátra a PHP fájl másolása hogy a Málna PI, hogy mi haszna SCP Ez lehetővé teszi számunkra, hogy távolról.

usuario@maquina:~ $ scp index.php pi@192.168.1.*:/home/pi/
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo mv /home/pi/index.php /var/www/html/

Is távolról Mi lesz helyezze át a fájlt a könyvtárban a webszervert, és mi majd tulajdonosai által SSH hogy a felhasználó és csoport www-data; add hozzá, hogy a Csoport gpio, majd Mi újraindít-hoz alkalmaz a megváltozik.

usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo chown www-data:www-data /var/www/html/index.php
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo usermod -a -G gpio www-data
usuario@maquina:~ $ ssh pi@192.168.1.* -C sudo reboot

végre Mi táplál-a relé 230V mint láttuk a korábbi cikkek így egy a bejárat és a többi pozitív pólus közötti híd, egyetlen használata Dugó, vagy a kapcsoló miniatűr circuit breaker; De ha azt akarjuk, hogy csatlakozzon Tizenhat eszközök magas fogyasztás Javasoljuk, hogy használjon két, vagy a további csatlakozók.

relespuenteados

A hidat a pozitív pólus, a relé modul rendszere.

A fennmaradó vezetékek, amelyek megfelelnek a negatív pólus és a veszi az Föld, Mi fog csatlakozni őket közvetlenül-hoz berendezés akar-hoz irányít keresztül a Relé modul, az én esetemben egy Dugó domotic DIY; Mi is szabad elfelejteni, hogy biztonság a relé kell kijárat 1A, így 16 kimenet kell a relé 16A.

Relé diagram dugó

Diagram plug domotic DIY.

A következő videóinak Láthatjuk, hogy ez a teljesítmény Tizenhat rendszer mellett korlátozás őket, keresztül a demonstráció alacsony energia lámpával; Ha úgy tetszik, ne felejtsd el utánam a YouTube-on hogy nem hagyja ki a kiadatlan videók Én megyek, hogy tegye közzé.

Ha tetszik, akkor Kövess engem, Twitter, Facebook, A Google +, LinkedIn, Feedly, 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

14 gondolatok a"Málna PI – Egy megfizethető otthoni automatizálási rendszer megvalósítása [III. rész]

  1. Peatonet kérdése, Már másolt a kódot, mint a, és minden szerkezet helyesen, kivéve, hogy ugrás hátra gombok, Kapcsolja becsuk legyőz és fordítva.

    Köszönöm részére minden-a brilliáns blog.

    • Szia XuFLeS, Gracias por tu comentario.

      Talán köze van a relé a hálózati kapcsolatok; Lenne hasznos, hogy ellenőrizzük, ha már csatlakozott, általában nyílt (NEM) Ahelyett, hogy rendesen zárt (NC).

      hamarosan találkozunk.

      • Én vizsgálat az ügyfelek csatlakoztatása előtt 230 V., és a piros led a váltó van esztergált-ra mikor kapcsolja ki a pulse. I módosította kissé a kód visszafordítani, és jól néz ki, de kétlem, hogy az igazság már kialakult nekem. Köszönöm a választ.

  2. Jó hozzájárulást. Szükségem van valami hasonló öntözés vezérlő, de egy feltétellel: Ha az egyik a nagy kimenetek 1 akkor GPIOx lesz 1. Csont GPIO = 0, ha csak akkor, ha minden a kimenetek = 0. Akármi eszme?? Kimenet esetén működtetésű szelepek és a szivattyú GPIOx. A már köszönöm.

    • Hello Edu,

      Attól függően, hogy a végső kimenetek száma, használ egy vagy több málna PI; egy egyszerű lenne, több kell értékelés, melyik a legoptimálisabb módon információs eszközök között.

      Köszönöm, hogy kommentálja.

  3. helló, Én vagyok érdekelt ebben, mert szeretném irányítani, kültéri világítás, a telefon.
    Lenne az első alkalommal próbálta valamit a málna.
    De kétség merül fel ezen a poszton hívásakor “rész”.
    Ezzel csak nem hiányzik a PHP kódot használni semmit részeiből, egy-két?
    Megértem, hogy ez a kód lenne index.php, ahol elhelyezett iria?
    nagyon köszönöm!

    • Szia Paul,

      Csak ezt a kódot a PHP valósíthat meg a változat leginkább "jelenlegi’ Rendszer.

      A korábbi oktatóanyagok és vélemények közülük megmagyarázni, hol van a fájl (index.php), mint ami a helyes engedélyekkel, stb…

      Köszönet részére a magyarázat.

      • Nagyon köszönöm a gyors választ.
        Van már kapcsolódik egy különálló lemez-az nyolc relék.
        De egy ritka dolog történik velem, hogy nem találja a megoldást.
        Így ez a gombok a weben, a aktivált a GPIO tökéletesen, giving a megfelelő feszültség és tartás míg kapcsold ki, de másrészt a relé teszi a “Kattintson a” fut, de nem kapcsoló. A hang is, ha a relé activase, és ki van kapcsolva, Annyira gyors, hogy a mérő nem kinyomoz akármi cserél.
        Hogy lehetne miatt?
        köszönöm.

        Salu2!

        • Már megtalálta a hibát.
          A PHP kód, parancs kikapcsolása, távolítsa el a $a kód- exec(“echo 18 > /sys/osztály/gpio/exponálatlan”); , mint te is az első kapcsoló, és most működik.
          Most mit tesz, először kapcsolja be a málna; a nyolc LED közepes intenzitású fény, akkor kapcsolja be, és egyszer becsuk, és majd bekapcsolja a led is, és most működik megfelelő.

          Salu2!

          • Sajnálom, hogy olyan nehéz, sok magyarázat, de ez az első olyan projekt, amely én csinál-val az én-m raspery és ez csodálatos, és nagyon-nagyon egyszerű! Van ez a bemutató.
            És a világ, amely akkor nyílik meg, ezzel a berendezéssel, inmeso!
            A weben, anélkül, hogy elhagyná a PHP, látni lehetett, hogy váltás az aktív?
            A kapcsolók, elérheti a kezelt az ütemtervet és időzítése?
            Az igazság,Nyitottam egy új világ, nagyon szórakoztató és gazdaságos.

            Salu2 és köszönet!

          • Hola Pablo GC.

            Creo que en algún comentario expliqué como ver que interruptor está activo leyendo mediante PHP el estado de los GPIO.

            Para el control mediante programación horaria lo más sencillo es usar el demonio del sistema CRON para que ejecute lo que desees, a las horas que le marques.

            Köszönöm szépen, hogy kommentálja.

          • ya avancé bastante en el proyecto, para leer el estado de los gpio basta con usar
            exec ( “gpio read 29”, $status21 );
            Ha ($status21[0] == 0) {
            }
            y meter entre los corchetes lo que quieres que se muestre si está encendido o estatus == a 1 para apagado.

            La numeración del gpio read no concuerda con la numeración del puerto gpio, si queréis os pongo aquí la tabla que hice de equivalencias de cada puerto con su numeración de read.

            Lo único que sigo sin entender, es porque 1 es apagado y 0 es encendido.
            y por que al encender la raspberry, todas las salidas salen sin estado, dejando las salidas a medio voltage y sin funcionar asta que las apagas dos veces.

            Cree una pagina reset, que lo que hace es darle la orden de apagar a todas las salidas, egy “alvás” y otra vez vuelve a dar la orden de apagarlas todas, después de este proceso ya quedan todas funcionales.

            Por que puede ser que pasen estas dos cosas?

            Salu2!

          • Szia Paul, disculpa la demora pero últimamente ando muy escaso de tiempo entre el trabajo y los estudios.

            En primer lugar quiero agradecerte que hayas compartido tus avances con los demás lectores del blog, en cuanto tenga tiempo libre tengo pendiente continuar esta sección de tutoriales sobre domótica fácil y asequible, pero es realmente un orgullo para mi ver como seguís vosotros mismos adelante con el proyecto y lo vais convirtiendo cada uno en vuestro propio sistema personalizado.

            Respecto a encender los relés asignando un valor lógico bajo (0), y apagarlos con un valor lógico alto (1) es posible que se deba a que tengas conectado el relé al circuito de 230V como normalmente abierto en lugar de normalmente cerrado, como le comenté al lector XuFLes en el primer comentario de este artículo; si lo pruebas y el problema persiste, no dudes en comentar e intentaremos pensar en alguna otra posibilidad.

            Para no tener que hacer el reset de las salidas después de cada encendido de Raspbian, puedes crear un simple script que exporte y configure los pins que desees al iniciar el sistema, y lanzarlo por ejemplo desde rc.local.

          • helló!
            No pasa nada en que tardes en contestar!
            Es lógico que te lleve tiempo y sobre todo en estas fechas.
            Lo de encendido y apagado, que funcione al revés, los relés los tengo bien conectados.

            Y lo del rc.local, para no tener que entrar a la pagina de reset, como lo haría.

            Salu2!

Hozzászólás