Tabla de contenido:

Sistema de seguridad para el hogar DSC habilitado para Internet: 22 pasos
Sistema de seguridad para el hogar DSC habilitado para Internet: 22 pasos

Video: Sistema de seguridad para el hogar DSC habilitado para Internet: 22 pasos

Video: Sistema de seguridad para el hogar DSC habilitado para Internet: 22 pasos
Video: Conexión y configuración local DSC 2024, Mes de julio
Anonim

Modificar un sistema de seguridad para el hogar DSC existente para que esté habilitado para Internet y se autocontrole.

Este instructivo asume que tienes una Raspberry Pi en funcionamiento.

Tenga en cuenta que esta implementación tiene las siguientes deficiencias:

  • Si un ladrón corta el cable DSL entrante o se pierde el servicio de Internet, la supervisión desde Internet se desactiva

    Futuro: la solución para este problema es utilizar un servicio de solo respaldo LTE de bajo costo

  • Los sensores DSC no indican si las puertas o ventanas están bloqueadas, solo que están cerradas

    Futuro: agregue un botón pulsador que se activa con el cerrojo de la cerradura de la puerta. Esto requerirá un trabajo significativo para ejecutar el cableado sin destruir la jamba de la puerta

  • DSC admite la integración de la alarma contra incendios. Sin embargo, la alarma contra incendios de mi casa no está integrada

    Futuro: integrar la alarma contra incendios en el panel de control DSC

  • El sistema DSC instalado no tiene un sensor para la puerta del garaje superior

    Anteriormente, creé un Instructable Abridor de puerta de garaje y puedo leer que la puerta está abierta o cerrada

Los objetivos de este proyecto son:

  • Enviar alertas del sistema de seguridad a mi teléfono móvil
  • Verifique o configure el estado del sistema de seguridad desde una página web segura
  • Ejecute la solución en un raspberry pi seguro (https y certs)
  • Utilice el sistema DSC existente para autocontrolarse
  • Agregue EnvisaLink 3 para agregar soporte Ethernet al sistema DSC
  • Escribir software de autocontrol
  • Crea un instructable para este esfuerzo

Tenga en cuenta: En este documento, el texto encerrado entre [corchetes] debe reemplazarse con un valor real

A mi familia nunca le han robado la casa y vivimos en un área de baja criminalidad. No hay ninguna razón de peso para hacer este proyecto, excepto que fue interesante y divertido.

Tenga en cuenta que hay un excelente atajo a este instructivo. Una vez que el Envisalink 3 esté en funcionamiento, puede utilizar la solución lista para usar proporcionada por Eyes-On llamada EnvisAlerts y EnvisAlarm, que envía alertas y monitorea su hogar y / o una aplicación móvil muy interesante llamada DSC Security Server por Mike P. Me inscribí en EnvisAlerts y compré el servidor de seguridad DSC de Mike P. Estaba muy satisfecho con ambos, pero quería mi propia versión.

Paso 1: solución de problemas y datos únicos

Hay ciertos datos a los que me refiero a menudo y me gusta incluirlos al principio.

Alarma: activar y desactivar

Asegúrese de que todas las puertas y ventanas estén cerradas. En el panel de control, ingrese el código maestro:

[código maestro] = [su código maestro]

Desactivar línea telefónica

Mi casa tiene línea telefónica fija, pero no tengo servicio de línea fija. Alrededor de las 11 pm todas las noches, el sistema emite un pitido. Si el sistema pierde energía, debe volver a ingresar. Para desactivar este pitido, en el teclado ingrese lo siguiente:

  • Desactive la línea telefónica: * 8 5555015 7 ##
  • Apague las transmisiones de prueba de la línea telefónica * 8 5555371 9999 ##
  • Apague el marcador telefónico: * 8 5555380 1 ##

Servidor de alertas Envisalink

Iniciar sesión en Envisaiink

Obtenga el servidor Envisalerts: 184.106.215.218

Abra el enrutador U-verse: 192.168.1.254

Vaya a Configuración, Cortafuegos

Inicio de sesión de Envisalink

Navegador abierto

Ingrese la dirección IP de Envisalink:

[envisalink username] = usuario

[envislink contraseña] = [ingrese su contraseña]

Dirección IP de Envisalink

[Dirección IP de Envisalink] = 192.168.1.92

Nombre de usuario y contraseña de Eyes-on

[eyes-on username] = [su nombre de usuario de envisalink]

[eyes-on password] = [su contraseña de envisalink]

Código del instalador

[Código de instalador] = [Ingrese su código de instalador]

5555 es el código predeterminado. Puede pedirle el código a su instalador, o puede hacer un restablecimiento de fábrica, que lo vuelve a colocar en 5555. No recomiendo hacer un restablecimiento de fábrica porque existe una gran posibilidad de dañar el sistema.

codigo maestro

[MasterCode] = [ingrese su código maestro]

IP de Raspberry Pi

[IP de Raspberry Pi] = [ingrese su dirección IP de Raspberry Pi, algo así como 192.168.1.57]

Inicio de sesión de Raspberry Pi desde Mac Book

En Mac Book, abra la terminal

ssh pi @ [IP de Raspberry Pi]

[Contraseña]

Contraseña de Raspberry Pi

Contraseña = [su contraseña de Raspberry Pi]

Enrutador

Dirección IP del enrutador = [ingrese la dirección IP de su enrutador]

Establecer hora y fecha DSC

* 611301hhmmMMDDYY #

hh están en horario militar, para pm agregue 12. Entonces, 4pm es 16

Programación de zona

Tipo de alarma de zona

01 - Alarma después de proporcionar un retraso (predeterminado de 60 segundos) en modo Presente o Ausente

03 - Alarma instantáneamente si se viola cuando está en modo Presente o Ausente

05 - Sensor de movimiento interior. Alarma instantáneamente si se viola solo cuando el modo Ausente (se omite cuando está en Presente)

En el teclado, ingrese:

* 8 [Código de instalador] 001 01 03 05 05 87 # #

Explicación de la secuencia de código anterior:

  • * 8 [Código del instalador]
  • 001: esto lo lleva a la programación de zonas para zonas
  • 01 03 05 05 87 - Esta es mi secuencia de tipos de alarma de zona, en orden de zona de 1 a 5.
  • Todas las zonas deben configurarse correctamente.
  • # # - Esto guarda lo que ha hecho y lo saca del modo de programación.

Paso 2: Encuentre los números de modelo de su teclado y panel de control

Encuentre los números de modelo de su teclado y panel de control
Encuentre los números de modelo de su teclado y panel de control
Encuentre los números de modelo de su teclado y panel de control
Encuentre los números de modelo de su teclado y panel de control
Encuentre los números de modelo de su teclado y panel de control
Encuentre los números de modelo de su teclado y panel de control
Encuentre los números de modelo de su teclado y panel de control
Encuentre los números de modelo de su teclado y panel de control

Busque el número de modelo del teclado. El teclado DSC está cerca de una puerta (imágenes 1 y 2). En mi casa, hay un teclado junto a la puerta del garaje y otro junto a la puerta principal.

Busque el número de modelo del panel de control. El teclado tiene una pegatina en la parte superior y el número de modelo está en el medio. El mío es un PK5501 (imagen 3 y 4).

Otra forma de hacer esto es:

  • En una computadora, abre un navegador
  • Vaya a

Mi panel de control está ubicado en una caja metálica en un armario (imagen 3). Abra la caja de metal y en el centro del panel de control hay una pegatina con el número de modelo. El número de modelo de mi panel de control es PC1616 (imagen 4).

Paso 3: compruebe si EnvisaLink 3 es compatible con su sistema de seguridad

Haga clic en el enlace eyeson.com.

Desplácese hacia abajo hasta la compatibilidad del panel y vea si el suyo está en la lista. Si no, consulte con EyesOn.

Paso 4: Obtenga la documentación de DSC

DSC ofrece un manual de usuario, pero la mayoría de los demás documentos requieren que sea un instalador

  • Para el panel de control, busque el Manual del instalador, el Manual del usuario, el Manual de referencia y la Hoja de trabajo de programación.
  • Para el teclado, busque el Manual de instalación. Los manuales que encontré eran todos archivos PDF.

Varias fuentes de manuales de DSC que no son DSC están disponibles en línea. Los manuales de DSC no son necesarios para este instructable. Estas son simplemente referencias si desea extender el instructable o si su sistema usa partes diferentes.

LiveWatch.com es la mejor fuente de manuales de DSC. LiveWatch también fue muy útil para responder preguntas y despejarme. No podría haber completado este instructivo sin la ayuda de LiveWatch.

Paso 5: Compre o reúna piezas y herramientas

A) Sistema de seguridad DSC con teclados PK5501, panel de control PC1616 y múltiples sensores (ventanas, puertas y movimiento). El sistema de seguridad vino con la casa.

B) Ordene EnvisaLink 3 - $ 119 + S&H. www.eyezon.com

C) Proveedor de Internet de AT&T U-verse, DSL Gateway

D) Switch administrado NetGear de 24 puertos

E) Alambre de termostato o valla invisible para perros

F) Cable Ethernet CAT5E

G) Cuatro cables AWG de calibre 18-22 de aproximadamente 6 pulgadas de largo (rojo, negro, amarillo, verde)

H) Alicates de punta fina

I) Taladro y broca para metal de 3/16”y broca muy pequeña

J) Cinta de electricista negra

K) Destornillador de punta plana muy pequeño (tengo uno para arreglar mis anteojos cuando se cae el tornillo)

L) Mini interruptor pulsador momentáneo SPST, normalmente cerrado

M) Estuche de plástico pequeño (hilo dental)

N) Cuchillo Exacto

Paso 6: Instalación de EnvisaLink 3

Instalación de EnvisaLink 3
Instalación de EnvisaLink 3
Instalación de EnvisaLink 3
Instalación de EnvisaLink 3

No debería haber seguido las instrucciones que vienen con EnvisLink 3.

El primer paso en las instrucciones es desconectar la energía del PC1616. Asumí que esto se refería tanto a la energía de CA como a la energía de respaldo de la batería. Desconecté ambos, y luego tuve que hacer una llamada a un técnico para que los teclados volvieran a estar en línea. La llamada de servicio fue de $ 135.

  1. Mi PC1616 está encerrado en una caja de metal. Localice la placa del sistema de seguridad PC1616.
  2. Utilice el EV3 para crear una plantilla de papel para los orificios de compensación. La plantilla se utiliza para marcar agujeros en la caja de metal. Debido a que era más fácil atornillar desde el exterior de la caja hacia el interior, tuve que invertir la plantilla.
  3. Pegue la plantilla con cinta adhesiva en el exterior de la caja de metal que contiene el PC1616. Elija un lugar que tenga suficiente espacio para acomodar el Envisalink 3.
  4. Muy lentamente, usando una broca para metal de 3/16 "y la plantilla, taladre 3 agujeros en el costado de la caja de metal.
  5. Desde el interior de la caja de metal, inserte las compensaciones de plástico en los orificios
  6. Instale la placa EV3 en la caja de metal en las compensaciones de plástico.
  7. Pele 1/4 "de ambos extremos de los cables rojo, negro, verde y amarillo (o puede cortar un cable RJ11 y usar los cables en el interior). Si bien cualquiera de los dos funcionará, el cable sólido del termostato es mejor que el cable trenzado porque el Los conectores de la placa sujetan el cable sólido con más firmeza. Si utiliza un cable trenzado, gire los extremos con fuerza, lo que facilitará la instalación.
  8. Desconecte el cable negro de alimentación de CA del controlador DSC. Este es el segundo cable (s) desde la izquierda. Tenga cuidado de no dejar que el extremo expuesto de los cables negros toque nada. Envolví el extremo con cinta aislante hasta que terminé los siguientes pasos. Si los cables negros tocan algo, el transformador se cortocircuitará y tendrá que llamar a una empresa de servicio para reemplazarlo.
  9. Con un destornillador de cabeza plana muy pequeño, instale los cables de colores en las ranuras correspondientes de EV3.
  10. Uno por uno, afloje los tornillos rojo, verde, amarillo y negro del controlador DSC, pero SOLO lo suficiente para introducir cables nuevos. Inserte el cable del color apropiado y apriete.
  11. Vuelva a insertar la alimentación de CA (eliminada en G) al controlador DSC.
  12. Con un cable CAT5e o CAT6, conecte EnvisaLink 3 al enrutador.

Paso 7: Instale la palanca del botón de encendido momentáneo

Instale la palanca del botón de encendido momentáneo
Instale la palanca del botón de encendido momentáneo

Tuve muchos problemas para programar Envisalink y DSC Controller. Descubrí que alternar el apagado y encendido devolvió el sistema a un buen estado conocido. Más tarde, agregué un botón pulsador momentáneo. Hay muchos tipos de alternancia. El normalmente cerrado es el que se necesita.

A) Consiga una pequeña caja de plástico. Usé un estuche de hilo dental, que es del tipo que le puede dar un dentista después de una cita. Retire el hilo dental y los clips metálicos.

B) Taladre dos pequeños orificios para el cable de CA

C) Taladre o corte un agujero para la palanca momentánea. Descubrí que era más fácil usar un cuchillo exacto que perforar un agujero. Abra la caja y corte la mitad del agujero en un lado de la abertura y la otra mitad en el lado adyacente. Por lo tanto, cuando la palanca momentánea se desliza hacia un lado y cuando la carcasa está cerrada, la palanca momentánea se fija firmemente.

D) Quite la alimentación de CA de Envisalink. Pase el cable de alimentación de CA a través de uno de los orificios pequeños y conéctelo al cable del interruptor de encendido momentáneo. Envuelva en cinta de electricista.

E) Pele los extremos de un trozo de alambre de 3-4 pulgadas. Pase un extremo por el otro orificio pequeño de la carcasa y conéctelo al otro cable del interruptor momentáneo. Envuelva en cinta aislante.

F) Conecte el segundo cable del interruptor momentáneo a la ranura de alimentación de CA de Envisalink

G) Use cinta adhesiva para sellar la caja

H) Compruebe si la palanca funciona. Normalmente, el sistema debería estar encendido. Cuando se presiona la palanca, las luces del Envisalink se apagarán.

Paso 8: Registre EnvisaLink 3

Una vez registrado, no puede cancelar el registro. EyesOn recopila sus datos y puede actualizar el software de su tablero en cualquier momento, sin ninguna notificación. Si volviera a hacer esto, no haría este paso.

A) Abra un navegador y vaya a www.eyezon.com, el menú desplegable Soporte y seleccione EnvisaLink 3 Primer Guide

B) Siga las instrucciones del Manual (Registrarse, Iniciar sesión, Agregar nuevo dispositivo, etc.)

C) Nombre de usuario = [nombre de usuario visual]

D) Contraseña = [contraseña visual]

Paso 9: Verifique la instalación de EnvisaLink 3

Abra un navegador y vaya a la página de inicio de su enrutador.

  1. Abrir un navegador
  2. Ingrese [Dirección IP del enrutador]
  3. En la pestaña Inicio, desplácese hacia abajo hasta Dispositivos de red doméstica

Mi puerta de enlace residencial de U-verse (o enrutador) muestra algo como la Imagen 1.

Desplácese hacia abajo hasta el dispositivo y debería verse como la imagen 2.

Un estado activo significa que la placa está instalada y en funcionamiento.

Haga clic en Detalles para obtener la dirección IP de EnvisaLink. La dirección IP puede cambiar de vez en cuando.

Abra un navegador e ingrese

[Dirección IP de Envisalink]

Ingrese el nombre de usuario y la contraseña:

[nombre de usuario de envisalink]

[contraseña de envislink]

Ingrese el nombre de usuario y la contraseña de la guía de instalación. El navegador debería mostrar algo parecido a la imagen 3.

Paso 10: cambie la contraseña predeterminada en Envisalink 3

A) Navegador abierto

B) Vaya a [Dirección IP de Envisalink] /: 80

Un ejemplo es 192.168.1.34/:80. El /: 80 es el puerto.

C) En Cambiar contraseña de usuario”cambie la contraseña. Nota: el nombre de usuario y la contraseña predeterminados son usuario

D) Grabar [contraseña de envisalink]

Paso 11: (atajo) Generar enlace móvil [opcional]

No es necesario que hagas este paso ni el siguiente, pero si quieres terminar, esta es una buena opción.

Eyez-On ofrece un servicio de monitorización completo. Es fácil de usar y funciona bien. Si desea utilizar este servicio, siga las instrucciones del paso 10 y 11. De lo contrario, vaya al paso 12. Tenga en cuenta que hice tanto el 10 como el 11 y luego tuve que desactivarlos. Ambos servicios funcionaron bien y no tuve problemas, solo quería hacerlo yo mismo.

A) Abra el navegador y vaya a Eyez-On

B) Iniciar sesión (en un paso anterior debería haber creado una cuenta)

C) Seleccione el enlace del portal móvil

D) Haga clic en generar enlace móvil

www.eyez-on.com/EZMOBILE/index.php?mid=13b7d2f4e95b7d62dbcfb801a835064ee4406c79

E) El enlace es largo. Envíelo por correo electrónico a su dispositivo móvil.

F) Abra el enlace en su dispositivo móvil

G) Abra otra ventana o pestaña del navegador y vaya a Eyez-On, seleccione soporte y seleccione EnvisAlarms Monitoring Primer del menú desplegable

H) Siga las instrucciones para descargar el software de autocontrol EV3

I) Siga las instrucciones para configurar cómo desea monitorear

Paso 12: Instale la aplicación DSC Server en su teléfono inteligente [opcional]

No es necesario que hagas este paso ni el anterior, pero si quieres terminar, esta es una buena opción.

A) Vaya a la tienda de Android o Apple y compre la aplicación DSC Security Server de Mike P.

Si siguió los dos pasos anteriores, ¡ya está! Debería poder monitorear y controlar su sistema de seguridad de forma remota.

Paso 13: Notas importantes sobre Envisalink 3 y PC1616

La comunicación de Envisalink 3 a EnvisAlerts utiliza UDP. La comunicación de Envisalink 3 al script utiliza TCP / IP.

El puerto Ethernet Envisalink 3 solo se comunica a 10 Mbps. La mayoría de los enrutadores y conmutadores Ethernet de 1 Gb o 100 Mb negociarán automáticamente hasta 10 Mbps.

En la sección 022 del PC1616, la opción 1 no se puede habilitar. Esta opción requiere un código de acceso de usuario para acceder a funciones de usuario como anular zonas, etc. La opción está desactivada de forma predeterminada.

El Teclado en Blanco y la Anulación de Zona deben estar apagados para que Envisalink funcione.

Paso 14: deshaga el trabajo de los dos pasos anteriores

Inicialmente, me inscribí en Envisalerts y en la aplicación de Mike P.

Como no quiero enviar mi información de seguridad a Internet, y no quiero que el software Envisalink 3 se actualice sin mi autorización, necesitaba bloquear el acceso de Envisalink 3 a Internet.

A) Navegador abierto

B) Vaya a la puerta de enlace AT&T U-verse 3801HGV. Ingrese en el cuadro de URL del navegador: 192.168.1.254

C) Inicie sesión en la puerta de enlace

D) Ir a casa

E) Desplácese hacia abajo hasta Envisalink

F) Haga clic en los detalles

  • Guardar dirección MAC (también conocida como dirección de hardware) = [dirección MAC de Envisalink]
  • [Dirección MAC de Envisalink] = 00: 1c: 2a: 00: 9d: 07

G) Vaya a Configuración >> LAN >> Inalámbrico

H) Desplácese hacia abajo para habilitar el filtrado MAC

I) Haga clic en filtrado MAC

  • Haga clic en Editar lista de dispositivos bloqueados / permitidos
  • Haga clic en Habilitar filtrado MAC
  • Desplácese hacia abajo para ingresar la dirección MAC

J) Pegar la dirección MAC de Envisalink

K) Haga clic en agregar a la lista

L) Haga clic en >> para pasar a Dispositivos bloqueados

M) Desplácese hacia arriba y asegúrese de que la casilla de verificación Filtrado MAC esté marcada

N) Y Envisalink debería estar bloqueado

Paso 15: Reúna la documentación necesaria y comprenda cómo está configurado su sistema

Quería entender cómo controlar el sistema de seguridad. Las mejores fuentes son:

Cómo programar un sistema DSC - Un tutorial - requerido para que yo entienda el documento TPI

EnvisaLink TM TPI Programmer's Document, versión 1.04: describe el conjunto de comandos TPI

Hoja de trabajo de programación: un documento horrible y con un nombre deficiente que describe la configuración de su sistema de seguridad.

El propietario anterior no dejó una hoja de trabajo de programación completa. Tuve que llenar esto yo mismo. Básicamente, usé el teclado para ingresar comandos hasta que tuve todo resuelto. La hoja de trabajo es un lugar para registrar la configuración de su sistema. Está bien, mentí. Utilice la hoja de trabajo como guía, pero registre la configuración de su sistema en un documento de tamaño normal.

Paso 16: Documento del programador de la interfaz de terceros (TPI)

La Interfaz de terceros (TPI) es un conjunto de comandos, respuestas y códigos de error que permiten que las aplicaciones de terceros interactúen con EnvisaLink 3 a través de una conexión TCP / IP. Encontré este documento muy confuso. Espero que esta explicación ayude a explicar un poco mejor el documento.

En general, todos los comandos, respuestas y códigos de error de TPI son de tres dígitos:

  • Los comandos son mayores o iguales a 500
  • Las respuestas son menores o iguales a 200
  • Los códigos de error están entre 000 y 027, pero las respuestas también están en este rango

Los datos se agregan al final de un comando o respuesta. Por ejemplo, un comando de inicio de sesión podría ser:

005pswdCS / n / r

dónde,

pswd = son datos, en este caso, su contraseña

Se requiere lo siguiente:

  • CS = suma de comprobación
  • n = carácter de nueva línea
  • r = carácter de retorno de carro

En la web, encontré muchas implementaciones para calcular la suma de comprobación. Se requiere la suma de comprobación y muchas implementaciones no funcionaron. No estoy seguro de por qué tantos no funcionaron para mí. Puede ser un código incorrecto o pueden ser diferentes versiones de la placa o versiones de firmware que se ejecutan en la placa. Mi código de suma de comprobación funciona para mi placa y firmware.

EnvisaLink actúa como servidor para una conexión TCP a una aplicación Cliente. El Cliente solo debe ejecutarse en un servidor seguro que pueda comunicarse con EnvisaLink 3. El servidor del Cliente debe estar en su red doméstica, pero no debe estar abierto a Internet. Se requiere un certificado autofirmado (consulte mis otras instrucciones para un abre-puertas de garaje).

EnvisaLink escucha en el puerto 4025 y solo aceptará una conexión de cliente. Se denegarán las conexiones posteriores. EnvisaLink cerrará la conexión si el cliente cierra su lado.

Para iniciar una conexión:

  • El cliente inicia una sesión TCP estableciendo un socket TCP.
  • El cliente envía un comando de inicio de sesión [005]
  • EnvisaLink responde con uno o más [505]
  • Si los datos del comando [505] son un 3, en 10 segundos responda con un comando de inicio de sesión [005]
  • Si [505] datos contienen un 1, entonces el inicio de sesión es exitoso.

Los datos del comando de inicio de sesión son una contraseña de hasta seis caracteres de longitud, que es la misma contraseña para iniciar sesión en la página web local de EnvisaLink.

Consulte la descripción del comando 505 en el manual de TPI para obtener una descripción de todos los datos.

Una vez que se acepta la contraseña, se crea la sesión y continuará hasta que se interrumpa la conexión TCP.

Paso 17: Script de control de línea de comandos

Usé documentos del paso anterior para desarrollar un script de Python interactivo que podría ejecutarse desde una línea de comando en una ventana de Terminal de Mac Book. Aquí hay algunos comentarios aclaratorios:

  • Puede que me haya excedido un poco, pero creo que todos los comandos están en el script.
  • La secuencia de comandos de Python de la línea de comandos, ev3.py, se puede descargar desde este enlace: GitHub. Descarga ev3.py.
  • Copie el script en un directorio [directorio].
  • Abra una ventana de terminal (haga clic en el disco de MacBook, Aplicaciones, Utilidades, Terminal).
  • Utilizo una ventana de terminal a menudo. Entonces, tengo la aplicación de terminal anclada al muelle.
  • Si se ejecuta desde una computadora, cambie self.file_log = sys.stderr, como se indica en el script.
  • En la ventana de terminal, cambie al directorio y ejecute el script:

$ cd [directorio]

$ python envisalink.py

  • Escriba [retorno] para ver los comandos válidos.
  • Escriba [ctrl-c] para salir del programa.

Paso 18: Breve explicación

Quiero configurar o monitorear el sistema de seguridad desde un teléfono inteligente, tableta o PC. Una solución simple es desarrollar un sitio web.

La secuencia de comandos de Python de la línea de comandos monitorea el sistema de seguridad y puede cambiar el estado del sistema. Sin embargo, no ofrece una buena capacidad de visualización remota.

Un sitio web proporciona una interfaz excelente para monitorear y cambiar el sistema de seguridad. Sin embargo, el sitio web solo se "ejecuta" cuando se está visualizando. Considerando que, la secuencia de comandos de la línea de comandos debería estar ejecutándose todo el tiempo. Cuando se ejecuta el script, es posible que nadie esté mirando el sitio web. Por lo tanto, los datos recopilados por el script deben almacenarse en una base de datos hasta que alguien quiera verlos.

Además, un usuario debería poder cambiar el estado del sistema de seguridad (armar, desarmar). Cuando ocurren cambios de estado, los cambios deben realizarse rápidamente.

Tanto el script como la base de datos son puntos potenciales de falla, se necesita otro script que compruebe periódicamente si todo está funcionando y reinicia el script si es necesario.

Pasos omitidos

Deberá seguir estos pasos (consulte las instrucciones del abre-puertas de garaje para conocer algunos de estos pasos)

A) Configure Raspberry Pi: en realidad, puede ejecutar esto en cualquier servidor

B) Instalar Python

C) Cree un certificado autofirmado e instálelo en la Raspberry Pi y en cualquier dispositivo que desee para acceder al sitio web

D) Bloquear el acceso a su sistema de seguridad a personas sin su certificado autofirmado

Paso 19: Instale SQLite

Las opciones habituales de base de datos son MySQL o postgres. Esta aplicación necesita algo simple como un archivo. Sabía que SQLite era la elección correcta cuando leí,

  • https://sqlite.org/ es más pequeño que MySQL o postgres
  • SQLite compite con fopen. y
  • SQLite no es directamente comparable a MySQL o postgres porque está tratando de resolver un problema diferente.

Aquí hay una gran fuente para configurar SQLite: Instale SQLite en una Raspberry Pi

Inicie sesión en la frambuesa y ejecute el comando:

$ sudo apt-get install sqlite3

$ sudo apt-get install php5-sqlite

Crea la base de datos:

$ sqlite3 security.db

Crea una tabla

sqlite> BEGIN;

sqlite> CREATE TABLE status (tdate DATE, ttime TIME, nombre TEXT, valor TEXT);

sqlite> COMMIT;

Verifique que la tabla se haya creado correctamente:

sqlite> estado.schema

El estado de la tabla contendrá:

sistema: armado, desarmado

alarma: ninguna, fuego, pánico, alerta

zonas [1-6]: abierta, cerrada

script: conectado, iniciado sesión, en ejecución

Inserta algunos datos en la tabla

sqlite> BEGIN;

sqlite> INSERT INTO valores de estado (fecha ('ahora'), hora ('ahora'), "sistema", "desarmado");

sqlite> INSERT INTO valores de estado (fecha ('ahora'), hora ('ahora'), "alarma", "ninguna");

sqlite> INSERT INTO valores de estado (fecha ('ahora'), hora ('ahora'), "zona", "cerrado");

sqlite> INSERT INTO valores de estado (fecha ('ahora'), hora ('ahora'), "script", "en ejecución");

sqlite> INSERT INTO valores de estado (fecha ('ahora'), hora ('ahora'), "comando", "");

sqlite> COMMIT;

Verifique los valores donde se ingresaron correctamente

sqlite> SELECT * FROM status DONDE nombre = "zona";

2015-06-06 | 17: 39: 52 | zone1 | cerrado

Salir de SQLite

sqlite>.quit

Mueva la base de datos y cambie el acceso:

$ mv security.db /var/www/db/security.db

$ chmod og + rw / var / www /

$ chmod og + rw /var/www/db/security.db

Paso 20: Instale SQLite en MacBook [opcional]

Me gusta desarrollar en Mac y luego mover los resultados a la Raspberry Pi.

Vaya a la página de descargas en sqlite.org y descargue sqlite-autoconf - *. Tar.gz de la sección de código fuente

En MacBook, abra descargas desde su cuenta

Haga clic en el archivo tar.gx descargado

Ventana de terminal abierta

$ cd Descargas

$ cd sqlite-autoconf- [número de versión más reciente]

$./configure --prefix = / usr / local

$ hacer

La toma lleva unos minutos, ten paciencia.

$ sudo make install

[Contraseña de MacBook]

Confirma que funciona:

$ sqlite3

sqlite>

O tratar

$ que sqlite3

Vuelva a realizar los pasos del paso anterior para configurar la base de datos, la tabla e ingresar datos en MacBook (o use el script. Si db no existe, se creará y completará).

Paso 21: Para comunicarse entre EnvisaLink 3 y Raspberry Pi Load Mod_wsgi

Necesita mod_wsgi para que funcione en Raspberry Pi.

Inicie sesión en Raspberry Pi:

$ ssh pi @ [Dirección IP de Raspberry Pi]

introducir la contraseña

luego obtén mod-wsgi

$ sudo apt-get install libapache2-mod-wsgi

Para ejecutar ev3pi.py en la línea de comandos de Raspberry Pi:

$ sudo python ev3pi.py

Paso 22: Descarga el software desde GitHub

Modifique la secuencia de comandos de la línea de comandos para escribir en la base de datos.

Estas son buenas explicaciones para conectar un script de Python a SQLite:

  • SQLite de python.org
  • SQLite de Python

Modifiqué el código para hablar con SQLite. Puede descargar el código aquí: GitHub. Descarga ev3pi.py.

Abra una ventana de terminal y copie el script de python de la línea de comando en raspberry pi

$ scp ev3pi.py pi @: / home / pi

Iniciar sesión en pi

$ ssh pi @

introducir la contraseña

Mueva el script a / usr / local / bin y cambie los privilegios

$ ssh pi @

$ sudo mv ev3pi.py / usr / local / bin

$ sudo chmod ug + x /usr/local/bin/ev3pi.py

o

$ sudo chmod 0755 / usr / local / bin / ev3pi.py

Cambie el script para que se ejecute en Raspberry Pi. Ver comentarios en el código. Asegúrese de usar la base de datos en /var/www/db/security.db

Actualizar el sitio web para escribir comandos en la base de datos

Al hacer clic en un comando de seguridad en el sitio web, se escribe el comando en la base de datos.

En la siguiente pasada por el bucle principal, el comando debe leerse y ejecutarse.

Descarga el código security.php aquí: GitHub. Descarga security.php.

script bash que comprueba si ev3pi.py se está ejecutando o no

Si ev3pi.py deja de ejecutarse por algún motivo, debería comenzar a ejecutarse automáticamente. Esta secuencia de comandos intenta reiniciar la secuencia de comandos.

Descargue el código ev3chk.sh aquí: GitHub. Descarga ev3chk.sh.

Script de Python que arma y desarma automáticamente el sistema de seguridad usando un horario

Este script usa un horario para armar y desarmar el sistema de seguridad según la hora del día y el día de la semana ingresados por el usuario. Si se establece el campo de vacaciones, se ignorará el armado y desarmado.

Descargue el código ev3auto.py aquí: GitHub. Descarga ev3auto.py.

Página web para mostrar el estado y armar y desarmar el sistema

Esta es una página web bastante simple, conectada a un sistema de automatización del hogar más grande. Cambie el nombre de este script para indexar y colóquelo en / var / www en su Raspberry Pi.

Descarga el código security.php aquí: GitHub. Descarga security.php.

crontab para comprobar si el script se está ejecutando

Edite Crontab para asegurarse de que los scripts se estén ejecutando.

Iniciar sesión en Raspberry Pi

$ sudo crontab -e

#

# verifique cada 5 minutos si el sistema de seguridad está funcionando

* / 5 * * * * /usr/local/bin/ev3chk.sh> / dev / null 2> & 1

#

# Verifique cada 15 minutos si el sistema de seguridad está en buen estado

* / 15 * * * * /usr/local/bin/ev3auto.chk> / dev / null 2> & 1

Puede descargar el crontab aquí: GitHub. Descarga crontab.

Recomendado: