En el post de vamos a tratar un interesante sistema de monitoreo de alarma para el hogar de código abierto ,que como peculiaridad usa tres plataformas completamente diferentes como son una Raspbery Pi , Netduino Plus , ATtiny 85 para mejorar un típico sistema de alarma para el hogar basada en los controles PC5010 Digital Security Controls (DSC) PowerSeries Security System control panel y sensores.
Concretando un poco el hardware empleado el creador ha usado un Netduino Plus 1 ejecutando .NET Micro Framework 4.2 (o QFE1 qfe2) y una Raspbery Pi Modelo A con Debian GNU / Linux 7.0 (wheezy).
El autor Gilberto Garcia empezó el proyecto HomeAlarmPlus en febrero de 2012 con la intención de tener un simple sistema de monitorización de alarma para el hogar y aprender más acerca de los microcontroladores usando como base una placa Netduino. A medida que fue mejorando sus conocimientos, también lo hizo la complejidad de los circuitos, el sistema y los requisitos.Entonces apareció la idea de usar una placa Raspbery Pi para complementar el proyecto existente mediante el uso de la capacidad total del servidor Web Apache. Esto implicó cambios masivos en el código del proyecto original como lo refleja incluso el nombre final: HomeAlarmPlusPi.
El Objetivo por tanto del proyecto fue utilizar las capacidades completas de Raspbery Pi y Netduino Plus para controlar el sistema de alarma de una casa y reportar cualquier actividad de sensor o detector de movimiento a través de correo electrónico (mediante simple de transferencia de correo (SMTP)), un servidor web local, notificaciones (usando PushingBox ) y Pachube (despues Cosm y ahora xively) .
Dada la diversidad de plataformas empleadas , también lo fueron los lenguajes de Programación empleados para este proyecto, los cuales fueron los siguientes:
En Netduino Plus
- C # para Netduino Plus
- HTML para Web Server con hojas de estilo en cascada (CSS)
- JavaScript para Web Server
En Raspbery Pi
- HTML5
- PHP
- Java script
- JSON
- jQuery
- El tiempo en API
- Python (en desarrollo: uso de GPIO)
En ATtiny85
- C / C ++ para programar el ATtiny85. Programado gracias a un escudo ArduinoISP, que construyo siguiendo las instrucciones del MIT High-Low Tech Group.
Arduino “programador en-sistema” (ISP) escudo ATtiny programador.
El hardware necesario
- Raspbery Pi Modelo A o B
- Netduino Plus
- ATtiny85 (ATTINY85-20PU).
- Tarjeta de memoria SD de 4 GB o superior (clase 10 preferido).
- 5V 1A (1000mA) puerto USB fuente de alimentación .
- Tarjeta Micro SD de 2 GB
- Wi-Fi (802.11b / g / n) Módulo USB [1] , [2] o [3]
- Adaptador de tarjetas SD
- 3mm verde diodo emisor de luz (LED) por zona de alarma y detector de movimiento.
- 330 ohmios para cada LED.
- Transistor NPN
- 10k ohmios resistencia variable
- Resistencia de 1k ohmios para la base del transistor.
- 5600 ohmios por resistencia de la zona de alarma y detector de movimiento.
- Diodo Schottky por zona de alarma. Diodo Schottky debe tener baja caída de tensión como el SBR10U40CT .
- ScrewShield (Proto-Screwshield (Wingshield) Kit de [1] o [2] ).
- Conexión WiFi a Internet utilizando cualquier adaptador Wi-Fi. Probado en NetgearWNCE3001 y IOGEAR GWU627 .
- 16×2 carácter básico LCD [1] u otros [2] .
- Interruptor DPDT [1] u otros [2] para la selección de voltaje LCD.
- Registro de desplazamiento 74HC595
Hardware opcional
- Montaje del panel LED ( LED verde con el sostenedor )
- Mini zumbador ( 3VDC )
- Robusto, USB / Panel de conectores a prueba de agua ( RR-211300-30 )
- Receptor RF Toggle Type para armar / desarmar [1] .
- Cable USB 2.0, tipo A macho a un varón (10 pies o más arriba). Se utiliza para acceder alNetduino Plus tabla en el panel de alarma.
- 200 vatios / 350 VA UPS ( APC Sistema UPS BE350G o similar ).
- Pulsador de rearme externo.
- Arduino Proto Escudo R3. Más espacio para componentes adicionales. [1] o de otros [2] ,[3] .
- Bajo perfil adaptador de tarjetas microSD para Raspberry Pi [1] .
- Caja Raspbery Pi [1] u otros [2]
- Interruptor de encendido en la línea de 2,1 mm jack barril [1] o [2] .
- Raspbery Pi conjunto de disipador de calor [1] .
- Ventilador de 12 V CC Micro se enfríe Raspbery Pi [1] .
Ajustes
Para HomeAlarmPlus y HomeAlarmPlus Pi el símbolo condicional ALARM_DEBUG permite depurar alarma en Visual Studio. Para habilitar la depuración en la correcta proyecto presione AlarmByZones, seleccione propiedades, seleccione la pestaña Build de Visual Studio y añadir ALARM_DEBUG en “símbolos de compilación condicional”.
configuración de depuración
Más capacidades de depuración se llevarán a cabo para Raspbery Pi y ATtiny85.
Circuitería
El siguiente Fritzing diagrama muestra cómo se conectan el Netduino además, los LED y las zonas de alarma (o detector de movimiento). En comparación de la aplicación anterior ( HomeAlarmPlus ) se ha añadido un ATtiny85 con el fin de reducir los hilos en el Netduino Plus 1. De esta manera se han salvado 2 KB de RAM y dando más espacio de código.
HomeAlarmPlus Pi diagrama de conexión I. Rev
circuitos HomeAlarmPlus Pi
HomeAlarmPlus Pi detalles de circuitos
Tenga en cuenta que una o más zonas consisten en lo siguiente:
a) 1 normalmente abierto de contacto y 1 Contacto normalmente cerrado con resistencia de fin de línea (EOL).
b) Doble circuito EOL, 1 contacto normalmente cerrado con una resistencia EOL 5.6kohm y el diodoSchottky. Esto hará que la protección necesaria para el Netduino o Arduino.
c) Cada zona de tierra debe ser conectado a la ProtoScrewShield GND.
Netduino / ProtoScrewShield Pin Descripción
A0 Zona # 1
A1 Zona # 2
A2 Zona # 3
A3 Zona # 4
A4 Sensor # 1 [detector de movimiento]
D0 XBee RX
D2 LED de zona # 1
D3 LED de zona # 2
D4 Zona LED # 3
D5 Zona LED # 4
D6 LED Sensor # 1 [detector de movimiento]
D7 RF pasador articulado (Receptor RF)
D8 ATtiny85 poder
D9 Alarma antirrobo o Mini zumbador
D10, D11 y D13 LCD registro de desplazamiento
Opciones de servidor Web en Netduino Plus
opciones Descripción
/ página raíz formato de escritorio.
/open Abrir último archivo en la tarjeta SD.
/ sdcard Lista los archivos en la tarjeta SD.
/ Do superusuario. Muestra opciones adicionales.
/ Pachube Muestra la actividad Pachube por zona / Datastream.
/about créditos de la aplicación y la versión. [Versión desktop]
/ about-mobile créditos de la aplicación y la versión. [Versión móvil]
/ delete-confirm Eliminar último archivo en la tarjeta SD [ventana de confirmar].
/ delete-last Eliminar último archivo en la tarjeta SD [ninguna ventana de confirmación].
/ diag Muestra la memoria disponible en Netduino y fuerzas para despejar el recolector de basura. [Versión de escritorio]
/ diag-mobile Muestra la memoria disponible en Netduino y fuerzas para despejar el recolector de basura. [Versión móvil]
/date Obtiene fecha y hora de Raspbery Pi.
/mobile página raíz formato móvil.
HomeAlarmPlus [Versión de escritorio]
HomeAlarmPlus [Versión móvil]
Opciones de servidor Web en Raspbery Pi
opciones Descripción
/ página raíz formato de escritorio.
/index.php página raíz formato de escritorio.
/weather.html los datos de tiempo en Wunderground. [Versión desktop]
/móvil página raíz formato móvil.
/mobile/index.php página raíz formato móvil.
/references.htm Proyecto enlaces de referencia.
/about créditos de la aplicación y la versión.
/NetduinoPlus/setNetduinoTimer.php Configuración / Actualización Netduino Plus hora / fecha.
servidor web HomeAlarmPlus Pi [Versión de escritorio]
HomeAlarmPlus Pi servidor web [Versión móvil]
HomeAlarmPlus Pi [pantalla móvil Apple]
Arquitectura de software
HomeAlarmPlus Arquitectura de Software Pi
Arquitectura de Software detallada
Producto final
Producto final mostrando el acceso móvil, Raspbery Pi, Netduino Plus 1, escudo personalizados para el panel de alarma Netduino y Home
En desarrollo
- Interfaz web para dispositivos basados en tabletas. [Pruebas, no publicado]
- Las cámaras con sensor de movimiento integrado y la visión nocturna. Cámara debe integrarse con Raspbery Pi GPIO.
- Más capacidades de depuración de Raspbery Pi y ATtiny85.
- Explora las opciones de notificación adicionales como IFTTT. [Hecho. Lanzamiento 17 de de julio de, 2013]
Referencias muy interesantes para profundizar:
- Simple Mail Transfer Protocol (SMTP) based on BanskySPOTMail by: Pavel Bánský.
- Netduino Web Server based on MFToolkit library by: Michael Schwarz.
- Pachube Embeddable Graph Generator (Beta) by: Cosm (formerly Pachube), adapted by Gilberto García.
- Extensions class based on a post/implementation by: Valkyrie-MT, expanded by Gilberto García.
- StopWatch class based on a post/implementation by: Chris Walker.
- LCD display using uLiquidCrystal library.
- TimeSpan reference [1].
- Raspberry Pi basic setup.
- Raspberry Pi initial setup.
- Setting up a VNC server on Raspberry Pi.
- How to setup a Raspberry Pi Windows NAS storage and web server [1], [2] and [3].
- ATtiny85 PWM tutorial.
- Wunderground API.
- Wunderground weather forecast Stack overflow solution.
- JSON, jQuery and jQuery Mobile tools and tutorials [1], [2] and [3].
- Mobile browser detection [1] and [2].
- PushingBox notifications.
- PHP DateTimeZone [1].
Repositorio de código y documentación
HomeAlarmPlusPi
Advertencia
El proyecto contiene información relacionada con un típico sistemas de alarma. Por favor, tenga en cuenta que este procedimiento puede anular la garantía. Cualquier sistema de alarma o cualquier tipo puede ser comprometido deliberadamente o puede fallar al operar como se espera por una variedad de razones.
El autor, Gilberto García, no se hace responsable de los fallos del sistema, tales como: instalación inadecuada, el conocimiento penal, el acceso de intrusos, fallo de alimentación, el fallo de las baterías reemplazables, el compromiso de la radiofrecuencia dispositivos (inalámbricos), los usuarios del sistema, detectores de humo, movimiento detectores, dispositivos de alarma (sirenas, campanas, cuernos), líneas telefónicas, tiempo insuficiente, fallo de un componente, pruebas insuficientes, de seguridad y de seguros (de propiedad o de seguros de vida).
Una última cosa:Desconecte la alimentación de c.a. y de teléfono antes de hacer cualquier cosa.
Fuente aqui