Recibir una alerta cuando se abre la puerta de casa – paso a paso

Estándar

POST A MEDIO ESCRIBIR

Este proyecto consiste en recibir una alarma cuando alguien abre la puerta de nuestra casa. Tiene un coste muy reducido, sólo necessitas: una Raspberry, una targeta SD 4GB (minimo), un dongle Wifi (adaptador wifi, usb) y un sensor de puesta.

Constiste en que cada vez que el sensor/interruptor se habra, envie un mail (debemos tener dos cuentas de mail, preferiblemente la que haga de emisor que sea gmail), y casi instantaneamente recibiremos la notificación (email), de que alguien ha abierto la puesta.

Hemos puesto el dongle wifi para hacer la instalación más fácil.

– Si queréis os podéis descargar la imagen ya configurada del todo y con el programa, sólo tendréis que configurar vuestro wifi y email, haciendo los puntos: 1, 2 (con esta imagen), 3, 4, 5, 6, 7, 8, 11A, 11B, 12 y 13.

Empezamos:

1. Formatear la SD, lo hago con sdFormatter

2. Extraer la imagen (descomprimida) de Raspbian OS en la SD, con Win32 Disk Imager

3. Insertar la SD en la RPi, conectarla con el cable de ethernet y de corriente, no hace falta ni pantalla ni teclado.

3A. Y esperar hasta que el led de actividad “ACT” esté apagado sin parpadear (más o menos medio minuto)

???????????????????????????????

4. Explorar los IP’s de nuestra red local, con Advanced IP Scanner. Con esto sabremos la IP de la RPi, buscando en la columna del fabricante “Raspberry Pi Foundation”.Advanced IP Scanner

5. Usaremos la IP (en el campo “Hostname (or IP address)”) para conectarnos (le damos al botón “Open”) a la RPi mediante SSH, con PuTTY
Captura putty - copia

6. Ya en la pantalla negra: Aceptamos la conexión, y ponemos usuario (“pi”) y contraseña (“raspberry”)

7. comando: “sudo raspi-config”, seleccionamos la opción “Internationalisation Options”, “Change Timezone”, y seleccionamos nuestro continente y capital del país. Volvemos al inició, y con el botón de la derecha, le damos a “Finish”, y que reinicie “Yes”.

8. Se perderá la conexión, volvemos ha hacer los pasos 3A, 5 y 6.

9. Cambiamos la contraseña del usuario Root, con el comando: “sudo passwd root”, y la contraseña “raspberry” (la mia).

10. Para hacer que no tengamos que logearnos cada vez que encendemos la RPi hacemos lo siguiente: comando “sudo nano /etc/inittab”, buscamos la linea “1:2345:respawn:/sbin/getty –noclear 38400 tty1” y la convertimos en comentario poniendole al inicio # quedando de esta manera “#1:2345:respawn:/sbin/getty –noclear 38400 tty1”. Y debajo de esta linea escribimos “1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1”. Guardamos y salimos: Control+X, Y, intro.

11A. Para configurar el wlan0: comando: “sudo nano /etc/network/interfaces”. Donde pone “iface wlan0 inet manual”, sustituimos “manual” por “dhcp”. En la siguiente linea “wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf” sustituimos “wpa-roam” por “wpa-conf”. Guardamos y salimos: Control+X, Y, intro.

11B. comando: “sudo nano /etc/wpa_supplicant/wpa_supplicant.conf”, y debajo añadimos lo siguiente:

network={
             ssid="NombreDelWifi"
             key_mgmt=NONE
             auth_alg=OPEN
             wep_key0="ContraseñaWifi"
}

Guardamos y salimos: Control+X, Y, intro.

12. Para probarlo, apagamos la RPi, comando: “sudo shutdown -h now”. Cuando no parpadeen los leds, le quitamos la corriente.

13. Le ponemos el dongle wifi, y volvemos ha conectar la corriente para encenderlo.

14. Volvemos ha hacer los puntos 3A y 4. Al explorar la IPs de nuestra red local, con Advanced IP Scanner, tendrá que salir otra IP, con un fabricante diferente (el del dongle wifi) a “Raspberry Pi Foundation” (que también estará, sino hemos desconectado el ethernet). En mi caso el fabricante es “Datawire Communication Nerworks Inc.”

15. Hacer el paso 5 con la nueva IP (del wifi). Sino funciona con ninguna IP, volver ha conectar el cable de ethernet y comprobar el paso 11A y 11B y a muy malas, haceis el paso 15B.

15B. Saltar si tienes conexión wifi. Deshacemos lo que hemos hecho en los pasos 11A y 11B. Activamos modo gráfico, comando: “sudo raspi-config” y seleccionar “3 Enable Boot to Desktop/Scratch” y “Enable“. Abrimos el “Escritorio Remoto” de Windows, “Mostrar opciones”, en “Equipo” ponemos la IP de “Raspberry Pi Foundation” y en “Usuario” “pi” y le damos al botón “Conectar”.
escritorio remoto opciones - copiaen *****************************************************

16. Al hacer el paso 5, veréis que os vuelve a pedir el usuario y contraseña, eso es porque el programa PuTTY os lo pide, pero la RPi ya esta logeado con el usuario “pi”. Podéis comprobar las IP con el comando “ifconfig”.

17. Cómo programamos en C#/mono, instalamos el siguiente paquete, comando “sudo apt-get install mono-complete”, le decimos que si “y” (esto tarda un rato).

18. Para trabajar con el GPIO usamos la libreria RaspberryPiDotNet, que a la vez usa la libreria bcm2835, vamos a instalar las dos, con los siguientes comandos:

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.38.tar.gz
tar zxvf bcm2835-1.38.tar.gz
cd bcm2835-1.38
./configure
make
sudo make check
sudo make install
cd /src/
make libbcm2835.a
cc -shared bcm2835.o -o libbcm2835.so
sudo cp libbcm2835.so /usr/lib/

19. paso 12, conectamos el sensor de puesta (interruptor), junto con una resistencia, y volvemos a encender la RPi y a conectarnos con el PuTTY.
************************************************

xx. Antes de ejecutar el programa.exe, debemos configurarlo con nuestro correo.

******************************************************

20. Perfecto, ahora nos conectaremos a la RPi mediante FTP, para transferir el programa que he creado. Abrimos el programa FileZilla, introducimos los datos del “Servidor” “sftp://192.168.1.127” (con nuestra ip), el “Nombre de usuario” “root” y “Contraseña” “raspberry” (la mia) y le damos a “Conexión rápida”.
filezilla - copia

21. Arrastraremos nuestro archivo “enviarPortaOberta.exe” y “RaspberryPiDotNet.dll”  a la RPi, por ejemplo a la carpeta “/home/pi”.

22. Vamos a la carpeta “pi”, con el comando: “cd /home/pi”, y ejecutamos el archivo .exe, con el comando: “sudo mono enviarPortaOverta.exe”. Abriamos y cerramos la puerta (interruptor) y vemos que nos envia un email, con la hora que se ha abierto la puerta.

23. Vamos a hacer que el programa se ejecute directamente cuando encendamos la RPi. comando: “sudo nano /etc/profile.d/start.sh” y encribimos lo siguiente:

#!/bin/bash
sudo mono /home/pi/enviarPortaOberta.exe

(poniendo la dirección donde esta nuestro programa .exe), guardamos y salimos: Control+X, Y, intro.

24. Reiniciamos y.. bualà, ya lo  tenemos!

Captura_enviaPortaOberta1

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s