Framboesa Pi – Uso de relé, X10 y detector de movimiento
Neste documento vamos a pôr em marcha uma Raspberry Pi com algumas funções muito práticas que podemos fazer pensar em implementar um sistema de domótica em casa, super fácil y barato. Conectaremos por um lado um relé que nos permitirá conmutar circuitos como las luces de casa, e por outro, um sensor de movimento que nos permitirá realizar a função que nos interesse, como por exemplo acender essas mesmas luzes e, portanto, nunca mais ter de acender as luzes da casa =)
Controlar um relé com uma Raspberry Pi,
Neste documento, por um lado, veremos como ligar um relé a uma raspberry para poder controlar circuitos. Podendo usá-lo como interruptor para controlar certas luzes da casa, o termostato do aquecimento… Em eBay podemos encontrar relés de 5V para abrir ou fechar circuitos de 220V, por 2€ cada módulo, podemos ter até 8 módulos num relé para controlar 8 circuitos!
Deixo-vos alguns screenshots com permissão do blog de RSPPI onde também se explica de forma excelente como configurá-lo. Esta imagem mostra-nos na parte direita os conectores com a Raspberry, o GND vamos ligar à terra, com o IN1 controlamos o canal do K1 (IN2 para o K2…) los conectaremos a un GPIO; El VCC lo conectamos a los 5V de la Raspberry. . Em parte à esquerda controlaremos o circuito onde conectaremos os cabos, si cerramos el circuito entre 1 e 2, el circuito normalmente estará 'abierto', si lo cerramos entre el 2 e o 3, el circuito normalmente estará 'cerrado'.
Y en esta imagem vemos um circuito de ejemplo de 220V que estará normalmente cerrado, mediante el GPIO 18 de la Pi lo conmutaremos =)
Agora, instalaremos WiringPi en la Raspbeyry:
[Código-fonte]WGET HTTP://project-downloads.drogon.net/files/wiringPi.tgz
tar xfzv wiringPi-xxx.tar.gz
cd wiringPi-xxx
./construir[/Código-fonte]
Podemos utilizar los siguientes comandos de ejemplo:
[Código-fonte]gpio readall –> Nos saca el status de todos los GPIO.
gpio -g mode 24 out –> Enciende GPIO24.
gpio -g mode 24 in –> Apaga el GPIO24.
GPIO -g read 24 –> Saca el status, encendido 0, desligar 1.[/Código-fonte]
Conectar un sensor de movimiento en una Raspberry Pi,
Por algo más de 1€ podremos comprar en eBay detectores de movimiento pasivo o PIR que podremos usar para o que queramos quando detecten un movimiento, sea poner una cámara a grabar o mismamente decirle al relé anterior que encienda una luz.
En esta imagem veremos el conexionado entre los pines del detector PIR y los GPIO de la Raspberry, conectamos o VCC a los 5V de la Pi, GND a tierra y el OUT a un GPIO de control para leer mediante un script de Python su estado. Una vez que se detecte un movimiento, podemos decidir que queremos que pase =)
Primeiro, bajamos el script de Python y lo probamos:
[Código-fonte]WGET HTTP://www.raspberrypi-spy.co.uk/archive/python/pir_1.py[/Código-fonte]
Modificaremos no fichero 'GPIO_PIR = ‘ por el número del GPIO correcto donde hayamos conectado el OUT del sensor PIR.
[Código-fonte]sudo python pir_1.py[/Código-fonte]
Podremos modificar el script a nuestro gusto con el código que nos interese, por ejemplo el siguiente ejecutaría ‘entrada_enciende.sh’ al detectar un movimiento y encendería la luz durante 5 Segundos, donde volverá a comprobar si sigue habiendo movimiento para dejar la luz encendida o apagarla:
[Código-fonte]…
if Current_State==1 and Previous_State==0:
# PIR is triggered
imprimir " Movimiento en la entrada! encendemos luz y esperamos 5seg"
# Record previous state
Previous_State=1
import subprocess
cmd=’/home/pi/entrada_enciende.sh’
subprocess.call(cmd, shell=True)
# Espera 5 Segundos
time.sleep(5)
elif Current_State==0 and Previous_State==1:
# PIR has returned to ready state
Previous_State=0
imprimir " Listo de nuevo, no hay movimiento"
import subprocess
cmd=’/home/pi/entrada_apaga.sh’
subprocess.call(cmd, shell=True)
# Wait for 10 milissegundos
…[/Código-fonte]
Para arrancar este script, por exemplo, todos os dias às 19h e que fique 12h à espera de detetar um movimento (para acender uma luz) podemos usar o nosso cron, com 'crontab -e'’ adicionaremos a seguinte linha:
[Código-fonte]00 19 * * * sudo timeout 12h python /home/pi/detector_entrada_enciende.py[/Código-fonte]
Protocolo X10,

Se estão a pensar que usar um relé possa ser talvez muito incómodo por causa da fiação, o mais simples seria usar um sistema sem fios baseado em X10, um pouco menos económico também. Podemos adquirir um controlador-receptor, por exemplo o CM15PRO (ou o CM15A ou CM19A) da Marmitek por cerca de 75€ que nos servirá para gerir os interruptores sem fios como o AW12 (interruptor on/off) que sale cada uno a 45€ o un dimmer regulable como el LW12 por unos 49€ ainda que também podremos usar outros interruptores o dispositivos, claro!
El conexionado del receptor a la raspberry seria mediante USB y la instalación del demonio modchad, los interruptores deberemos configurarlos com um código cada um além de conectarlos a la red eléctrica como indica en el manual de forma muy sencilla.
Instalamos y compilamos mochad:
[Código-fonte]sudo apt-get install libusb-1.0-0-dev
wget -O mochad.tgz http://sourceforge.net/projects/mochad/files/latest/download
tar xf mochad.tgz
cd mochad*
./Pôr
Fazer
sudo make install[/Código-fonte]
Podemos criar um script para apagar o encender un interruptor, pero primero probaremos a encenderlo!
[Código-fonte]echo "pl a1 on" | nc localhost 1099[/Código-fonte]
No documento seguinte, veremos como controlar um relé através de uma interface web simples para os nossos telemóveis ou tablets!!!












































