PI mafon – Gweithredu system fforddiadwy awtomatiaeth cartref [Rhan III]

Ar ôl sawl mis, wedi penderfynu dychwelyd i Y prosiect hwn gyda y bwriadaf greu system awtomatiaeth cartref am ddim, ac economaidd fforddiadwy; Defnydd ohonynt isel sy'n seiliedig ar microgyfrifiadur, ond aml-lwyfan ac cludadwy i unrhyw ddyfais gyda'r Arolwg Ordnans GNU/Linux ar gael gan Port GPIO.Yn swyddi blaenorol Rydym wedi dysgu i reoli modiwlau o cofnodi optoacoplados gyda Mafon PI gan darllen difyr, PHP, a Python; ar yr achlysur hwn Yr wyf wedi optimeiddio'r y system awtomeiddio, a gyda llaw rydym wedi yr ymfudodd i PI mafon 3 i gael gwared ar cysylltedd di-wifr, Ond os dymunwch gallwch ddefnyddio unrhyw fodel blaenorol.

Y caledwedd Mae'n cynnwys dau fodiwl cyrraedd wyth pob, Mae hynny yn cyfrif am gyfanswm o Un ar bymtheg o eithriadau i reoli offer, Trydan Jacks, goleuadau; ac heb ddiwedd dyfeisiau ei bod yn cael eu trosi i bach hwn PI mafon 3, popeth mae angen chi ar gyfer Tŷ domotic u Swyddfa confensiynol.

Esquema edificio domotica

Domotic diagram switsh dewis cylched DIY.

Yn y panel rheoli yn rhaglennu mewn PHP, a yw optimization y Cod y fersiwn blaenorol ond y bwriad i reoli y GPIO uniongyrchol drwy darllen difyr sy'n fawr yn cyflymu y broses; Rhaid, Ers y bydd yn gwasanaethu hyn drwy'r dudalen WiFi.

FremooticsPI

Panel rheoli we awtomeiddio system.

Y gwir heb ffeiliau ychwanegol i reoli allbynnau port GPIO o Mafon gan Python; Trosi syml hwn Tudalen we, un ffeil, yn wir y man cychwyn o sydd wedi dod yn someday yn system awtomatiaeth cartref llawn y bydd yn datblygu gyda'i gilydd.

<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

?>

I berfformio y cysylltiadau rhwng mafon a ras gyfnewid, Rhaid i chi Ewch i waelod y llythyr y tablau canlynol yn seiliedig ar y sgema RHEOLI PARHAD BUSNES GPIO; oherwydd fel arall bydd gennych i addasu y llinellau yn y ffeil PHP, ac yn ei le yn y Cod y nifer o PIN gweithwyr.

Mafon PI model B + / 2/3 Ras gyfnewid y modiwl 1
+ 5V + 5V
GPIO 4
MEWN 1
GPIO 17
MEWN 2
GPIO 27 MEWN 3
GPIO 22
MEWN 4
GPIO 18 MEWN 15
GPIO 23
WRTH 1GYNNAL 6
GPIO 24
WRTH 1GYNNAL 7
GPIO 25
WRTH 1GYNNAL 8
GND GND
Mafon PI model B + / 2/3 Ras gyfnewid y modiwl 2
+ 5V + 5V
GPIO 5
MEWN 1
GPIO 6
MEWN 2
GPIO 13
MEWN 3
GPIO 12
MEWN 4
GPIO 19
WRTH 1GYNNAL 5
GPIO 16
WRTH 1GYNNAL 6
GPIO 20
WRTH 1GYNNAL 7
GPIO 21
WRTH 1GYNNAL 8
GND GND

Unwaith y bydd wedi cysylltu pob un y Arolygiaeth Gynllunio o Mafon i y priod VCC, GND, e mewnbynnau o y Ras gyfnewid; Dim ond yn parhau i fod Copïwch y ffeil PHP i y Mafon PI, i pa ddefnydd SCP Bydd hynny'n caniatáu inni wneud hynny o bell.

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/

Hefyd o bell Byddwn yn symud y ffeil i'r cyfeiriadur o'r gweinydd y we, y asignaremos como propietarios mediante SSH i y defnyddiwr a grŵp www-data; Bydd ei ychwanegu at y Grŵp gpio, ac yna Rydym yn ailgychwyn i newidiadau yn berthnasol.

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

o'r diwedd Yr ydym yn bwydo gyda ras gyfnewid 230V fel y gwelsom yn y Erthyglau blaenorol gwneud pont rhwng y fynedfa a y Pwyliaid cadarnhaol eraill, i ddefnyddio un Plwg, neu newid dewis cylched bychan; Ond os ydym eisiau cyswllt Dyfeisiau ar bymtheg defnydd uchel yn Argymhellir defnyddio dau, neu plygiau mwy.

relespuenteados

Cynllun y bont rhwng y Pwyliaid cadarnhaol y modiwl ras gyfnewid.

Y gwifrau sy'n weddill, sy'n cyfateb i y polyn negyddol a i y cymryd o Y ddaear, Bydd yn eu cysylltu hwy uniongyrchol ar y ddyfais eisiau rheoli, drwy gyfrwng y Ras gyfnewid y modiwl, yn fy achos i Plygiwch domotic DIY; también debemos tener en cuenta que por seguridad nuestro relé debería disponer de 1A por salida, por lo que para 16 salidas necesitaremos un relé de 16I.

Relé esquema enchufe

Diagram plwg domotic DIY.

Yn y canlynol fideo Gallwch weld y perfformiad hwn Un ar bymtheg o allbynnau system gan eu gwirio, drwy arddangos â lamp ynni isel; Os hoffech chi peidiwch ag anghofio Dilynwch fi YouTube i ni golli unrhyw un y fideos heb ei gyhoeddi Yr wyf yn bwriadu cyhoeddi.

Os hoffech chi ddilyn mi Twitter, Facebook, Google +, LinkedIn, Feedly, neu rannu gyda botymau dan y cyhoeddiad hwn, Os oes gennych unrhyw gwestiynau neu awgrymiadau croeso i sylwadau.

Yn ein helpu i gyrraedd mwy o ddarllenwyr Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

15 meddyliau ar"PI mafon – Gweithredu system fforddiadwy awtomatiaeth cartref [Rhan III]

  1. Peatonet una duda, he copiado el codigo tal cual y funciona todo correctamente, a excepción que van los botones al revés, encender apaga y viceversa.

    Muchas gracias por todo un blog genial.

    • Hola XuFLeS, Diolch am eich sylwadau.

      Seguramente tenga que ver con las conexiones del relé a la red eléctrica; convendría que revises si lo has conectado en normalmente abierto (NO) en lugar de normalmente cerrado (NC).

      Hasta pronto.

      • Estoy probando antes de conectar los contactos a 230 V y el led rojo del relé se enciende cuando pulso en apagar. He modificado algo el codigo para invertirlo y quede bien, pero me había surgido la duda la verdad. Gracias x tu respuesta.

  2. Buen aporte. Estoy necesitando algo similar para un control de riego pero con una condición: si una de las n salidas están en 1 entonces GPIOx estará en 1. Osea GPIO=0 si solo si todas las salidas = 0. Alguna idea?? Donde n salidas son electrovalvulas y GPIOx la bomba. Desde ya muchas gracias.

    • Hola Edu,

      Dependiendo del numero final de salidas, usarás una o varias raspberry PI; con una sería sencillo, con varias deberías valorar cual es la forma mas óptima de consultar la información entre dispositivos.

      Gracias por comentar.

  3. Hola, estoy interesado en esto ya que me gustaria controlar unas luces exteriores desde el movil.
    Seria la primera vez que intentase algo con la raspberry.
    Pero me surge una duda al llamarse este postparte tres”.
    Con solo ese codigo PHP ya no haria falta usar nada de la parte uno y dos?
    Entiendo que ese codigo seria index.php, donde iria colocado?
    Muchas gracias!

    • Hola Pablo,

      Únicamente con este código PHP puedes implementar la versión más ‘actual’ System.

      En los anteriores tutoriales y los comentarios de los mismos explico donde va el archivo (index.php), como darle los permisos adecuados, ac ati…

      Gracias por el comentario.

      • Muchas gracias por tu pronta respuesta.
        Ya he conectado todo con una sola placa de ocho relés.
        Pero me está pasando una cosa rara a la que no encuentro una solución.
        Dándole a los botones de la web, se me activan los GPIO perfectamente, dando su correspondiente voltaje y manteniéndolo asta que lo apago, pero en cambio el relé hace su “Cliciwch” de funcionamiento pero no conmuta. El sonido es como si el relé se activase y se desactivase, es tan rápido que el polímetro no detecta ningún cambio.
        ¿A que podría ser debido?
        diolch.

        Salu2!

        • Ya encontré el fallo.
          En el código PHP, en el comando de apagar, le quite el código $a- exec(“echo 18 > /sys/class/gpio/unexport”); , como lo tienes en el primer interruptor y ahora ya me funciona.
          Ahora lo que hace, la primera vez que enciendes la raspberry; se encienden los ocho leds a media intensidad, tienes que encender y apagalos una vez y después ya enciende el led bien y ya funciona correcto.

          Salu2!

          • Siento ser tan pesado con tantos comentarios pero este es el primer proyecto que hago con mi raspery y es una pasada y muy muy simple! Es una pasada este tutorial.
            Y el mundo que se abre con este equipo es inmeso!
            En la web, sin salirse del php, se podria ver que interruptor esta activo?
            Los interuptores, podrian llegar a manejarse con programacion horaria y temporizacion?
            De verdad,me habeis abierto un mundo nuevo, muy entretenido y economico.

            Salu2 y gracias!

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

            Muchas gracias por comentar.

          • ya avancé bastante en el proyecto, para leer el estado de los gpio basta con usar
            exec ( “gpio read 29”, $status21 );
            Os ($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, a “cysgu” 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!

          • Hola Pablo, 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.

          • Hola!
            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!

  4. Buenas peatones, llevo tiempo leyendo las 3 partes de tutoriales sobre domotica, pero en la parte programación vais muy rápido para mi, el tema me parece super interesante pero creo que nos falta un detalle para poder realizar un sistema domotico completo y es poder recibir input del exterior, ( pulsadores, sensores lumínicos, ac ati). Me gustaría colaborar y creo que en la parte eléctrica os puedo ayudar y a cambio os pido ayuda para comprender toda la parte programación. Mi correo es tecnico.antono.raya@gmail.com

    Un saludo y felicidades por la web

Gadael Ymateb