Revista 100% Verde

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

Por Soloelectronicos @soloelectronico

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.

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

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 )
    Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85
  • Mini zumbador ( 3VDC )
Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85
  • Robusto, USB / Panel de conectores a prueba de agua ( RR-211300-30 )
Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85
  • 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”.

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

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.

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

HomeAlarmPlus Pi diagrama de conexión I. Rev

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

circuitos HomeAlarmPlus Pi

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

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.

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

HomeAlarmPlus [Versión de escritorio]

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

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.

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

servidor web HomeAlarmPlus Pi [Versión de escritorio]

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

HomeAlarmPlus Pi servidor web [Versión móvil]

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

HomeAlarmPlus Pi [pantalla móvil Apple]

Arquitectura de software

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

HomeAlarmPlus Arquitectura de Software Pi

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

Arquitectura de Software detallada

Producto final

Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

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


Alarma casera usando Raspberry Pi, Netduino Plus y ATtiny85

Volver a la Portada de Logo Paperblog