Tabla de contenido:

Sistema de alarma de detección de movimiento: 11 pasos (con imágenes)
Sistema de alarma de detección de movimiento: 11 pasos (con imágenes)

Video: Sistema de alarma de detección de movimiento: 11 pasos (con imágenes)

Video: Sistema de alarma de detección de movimiento: 11 pasos (con imágenes)
Video: Cámaras con Sensor de Movimiento y Alarma 2024, Mes de julio
Anonim
Sistema de alarma de detección de movimiento
Sistema de alarma de detección de movimiento

¡Nota! Reactive Blocks ya no está disponible para descargar. Se puede usar una cámara USB básica para detectar movimiento en una habitación. En los siguientes pasos, le mostraremos cómo puede usar Reactive Blocks para programar una aplicación Java lista para ejecutar que envía SMS o correo electrónico cuando se detecta movimiento. Con Reative Blocks crea aplicaciones Java SE para que la aplicación de alarma se pueda implementar en cualquier máquina con Java SE y una cámara conectada o integrada. La aplicación se implementa fácilmente en Pi ya que la versión de Raspbian tiene Oracle Java preinstalado..

Esto es lo que necesitas:

  1. Raspberry Pi modelo B + con sistema operativo Raspbian
  2. Cámara USB estándar
  3. Cable de ethernet
  4. Pantalla y teclado para Pi
  5. Computadora Windows o MAC con JDK
  6. ¡Nota! Reactive Blocks ya no está disponible para descargar. Necesitará Reactive Blocks, un complemento de Eclipse, para programar la aplicación.

Esta aplicación de alarma es uno de varios sistemas de ejemplo modificables a los que se puede acceder después de instalar Reactive Blocks. La aplicación está lista para ejecutarse y no necesitará conocimientos de programación Java para completar el tutorial. Para crear sus propias aplicaciones y bloques de construcción de Reactive Blocks, debe ser un programador experto en Java. Al crear aplicaciones más complejas con varios sensores y actuadores, Reactive Blocks facilita la correcta lógica y el flujo de datos. Reactive Blocks es gratuito para proyectos de código abierto.

Paso 1: instalar bloques reactivos

Reactive Blocks ha sido descontinuado

Paso 2: descargue la aplicación de las bibliotecas

Descargue la aplicación de las bibliotecas
Descargue la aplicación de las bibliotecas

Asegúrese de haber abierto la perspectiva de Bloques reactivos y de que se encuentra en la vista Bloques. Desde la vista Bloques, seleccione el botón Importar y elija Aplicaciones de referencia. Seleccione el proyecto de detección de movimiento. En este punto, se le pedirá que se registre con un ID de Google. Esto le dará acceso inmediato a las bibliotecas de bloques de construcción y a los sistemas y tutoriales modificables.

El proyecto de detección de movimiento que descargó incluye tres aplicaciones, el SMS del sistema de alarma, el correo electrónico del sistema de alarma y una aplicación de prueba, la detección de movimiento de prueba. En este tutorial lo guiamos a través del SMS del sistema de alarma. Si prefiere enviar un correo electrónico, puede realizar los mismos pasos con el correo electrónico del sistema de alarma.

Paso 3: la aplicación en el nivel superior

La aplicación en el nivel superior
La aplicación en el nivel superior

Este paso da una explicación de la aplicación. La primera imagen muestra el diagrama de cómo se ve la aplicación completa en el nivel superior. Está compuesto por 7 bloques de construcción; 5 bloques de construcción estándar de las bibliotecas y 2 bloques personalizados que se crearon para esta aplicación.

Los bloques estándar de la biblioteca de IoT son:

  • Grabber, captura imágenes de la cámara USB
  • Detección de movimiento, realiza la detección de imagen real.
  • Temporizador periódico, comienza con marcas de tiempo precisas y envía una señal en el pin de marca cada período.
  • Buffer Eager, empuja el primer elemento de la cola automáticamente. El búfer garantiza que solo se envíe un mensaje al bloque de envío de SMS, ya que solo puede procesar un mensaje a la vez.
  • SMS Send Buffered, envía SMS a través del servicio Twilio. Los elementos que se enviarán se almacenan en búfer para garantizar que solo se envíe un mensaje a la vez.
  • Limitador, para evitar demasiados SMS cuando se detecta un intruso.
  • Lee el archivo de propiedades de Java, lee los datos de configuración del archivo de entrada
  • Ver, visualiza una imagen en la pantalla.

El bloque Temporizador periódico funciona como un motor del sistema. Periódicamente emitirá un tic que envía una señal al bloque Grabber a través del pin de agarre. El bloque Grabber utiliza el Open Intelligent Multimedia Analysis para Java, OpenIMAJ. Cuando se inicializa el bloque, se inicia un subproceso separado para leer datos de la cámara. El hilo escucha una cola de comandos. Cuando el bloque recibe un comando a través del pin de agarre, tomará una foto y la entregará en el pin de imagen.

Luego, la imagen se pasa al bloque de detección de movimiento que realiza la detección de imagen real. El bloque de detección de movimiento también usa OpenIMAJ. Un método dentro de este bloque compara dos imágenes y marcará los cambios en la imagen cuando se detecte movimiento. El método consume mucha CPU y debe ejecutarse en un hilo separado. Cuando se detecta una imagen, se indica en el pin motionDetected que activará la generación de un mensaje SMS.

Los recuadros de color azul claro son todos los métodos de Java creados específicamente para esta aplicación. Al hacer clic en un bloque de método, se abre el editor de Java.

Cuando hace clic en un bloque de construcción, puede ver los detalles de la lógica dentro del bloque. Si, por ejemplo, mira dentro del bloque ReadConfig, verá que se hace combinando uno de los bloques de construcción existentes y 4 métodos Java.

El Limitador pone un límite a la cantidad de mensajes generados. Observe la P en la esquina derecha del bloque de construcción. Indica que puede establecer el miniterval de cuánto tiempo debe esperar la aplicación antes de enviar un nuevo SMS. La configuración predeterminada es 300000 ms, es decir, 5 minutos. Para cambiar el valor. Haga clic derecho en el bloque y elija parámetros y genéricos.

Paso 4: habilita SMS

Habilitar SMS
Habilitar SMS

Esta aplicación de alarma utiliza Twilio como servicio de SMS. Para habilitar SMS debe editar el archivo config / alarm-system.properties. Puede encontrarlo en la vista del explorador de paquetes en br.ref.motiondetection, vea la imagen.

Este archivo es el mismo archivo que se utiliza en el correo electrónico del sistema de alarma. Si prefiere recibir notificaciones por correo electrónico, utilizará esta aplicación y editará el archivo con sus credenciales de correo electrónico.

Si no dispone del servicio Twilio puede modificar la aplicación para utilizar su propio servicio de SMS. También tenemos un bloque de construcción listo para usar para el servicio Clickatell. O puede adjuntar un módem para enviar SMS.

Puede encontrar componentes básicos para correo electrónico SMTP, AirVantage Cloud, IBM Bluemix y Xively, por nombrar algunos.

Tenga en cuenta que para realizar cambios, primero debe crear su propio proyecto. Luego copie / duplique la aplicación en su proyecto recién creado. Puedes ver cómo se hace aquí:

No dudes en contactarme si necesitas ayuda.

Paso 5: compile y ejecute la aplicación en su computadora portátil

Cree y ejecute la aplicación en su computadora portátil
Cree y ejecute la aplicación en su computadora portátil

Debe compilar la aplicación antes de ejecutarla e implementarla en la Raspberry Pi. Esto se hace usando el generador de código de Reactive Blocks que crea un proyecto Java completo a partir de la estructura de los bloques de construcción. El código que representa los diagramas es el código de sincronización que maneja los eventos en el orden correcto y en el momento correcto, y generalmente representa más del 60% de las líneas del código en su programa. Dado que los bloques de construcción son estructuras matemáticas precisas, el generador puede transformar esta lógica en un código muy eficiente. Esta es una característica muy buena de Reactive Blocks porque escribir dicho código manualmente es tedioso y difícil. Para generar el código, esto es todo lo que necesita hacer:

Haga clic con el botón derecho en el SMS del sistema de alarma del proyecto en la pestaña Proyectos y seleccione la edición estándar de Java. Asegúrese de que la información de registro sea INFO. El proyecto generado se abrirá automáticamente en la pestaña Explorador de paquetes. Consulte la figura para obtener más detalles.

Paso 6: Ejecute la aplicación en su computadora

Ejecute la aplicación en su computadora
Ejecute la aplicación en su computadora
Ejecute la aplicación en su computadora
Ejecute la aplicación en su computadora

Ahora puede ejecutar el proyecto generado. En la vista Explorador de paquetes bajo el proyecto _exe generado, haga clic con el botón derecho en AlarmSystemSMS.launch y seleccione RunAs y luego elija AlarmSystemSMS.

Observe la ventana en la pantalla y la vista de la consola. Debería parecerse a la segunda imagen.

Termine la aplicación cerrando la ventana de la cámara.

Para la aplicación de envío de correo electrónico: si obtiene un error de autenticación, asegúrese de que el envío SMTP esté permitido para su correo electrónico. Consulte la resolución de problemas en la parte inferior del tutorial por correo electrónico:

Paso 7: Exportar como archivo JAR ejecutable

Exportar como archivo JAR ejecutable
Exportar como archivo JAR ejecutable

Si desea ejecutar la aplicación en una Raspberry Pi, el siguiente paso es exportar el proyecto generado a un archivo JAR ejecutable. Para hacer esto, haga clic con el botón derecho en el proyecto ejecutable en la vista del explorador de paquetes y elija exportar. Luego seleccione la opción de archivo JAR ejecutable y presione Siguiente. En la siguiente ventana, seleccione la configuración de inicio adecuada y el destino de exportación. En el destino de exportación, use el botón de exploración para que pueda colocar el archivo.jar en un lugar donde pueda encontrarlo.

Paso 8: prepara tu Raspberry Pi

  • Prepare la tarjeta SD con Raspbian (hemos probado con NOOBS)
  • Inserta la tarjeta SD en la Raspberry pi
  • Conecta la camara
  • Conecta la red
  • Conecta una pantalla y un teclado al Pi
  • Inicie la Raspberry pi conectando el micro USB para la fuente de alimentación.
  • Descubra la dirección IP de su Raspberry Pi. Cuando se inicia, su Raspberry Pi informará algo como "Mi dirección IP es 10.10. 15.107"
  • Lo hemos probado con Raspbian (inicio de sesión predeterminado: pi, contraseña: raspberry), que incluye Java por defecto.

Paso 9: Implemente la aplicación en su Raspberry Pi

Para copiar el archivo jar ejecutable desde su computadora a Rapsberry Pi, siga estos pasos:

  • Abra una terminal en su máquina
  • Vaya al directorio donde se encuentra el archivo JAR generado
  • Escriba scp alarmsystem.jar [email protected]: ~ /
  • Se le pedirá la combinación de contraseña. "pi" es el nombre de usuario predeterminado y "frambuesa" la contraseña predeterminada
  • Vaya al directorio donde se encuentra el archivo de configuración alarm_system.properties. Lo más fácil para mí es copiar manualmente el archivo desde el editor de Eclipse al mismo directorio que el archivo jar.
  • Escriba scp motiondetection.ini [email protected]: ~ /

10.10.15.107 es la dirección IP, reemplácela por la dirección IP de su Raspberry Pi.

- Por supuesto, también puede usar una tarjeta de memoria para copiarlo al Pi

Paso 10: Ejecute la aplicación en su Raspberry Pi

Ahora está listo para ejecutar la aplicación.

  • Inicie sesión en Raspberry Pi directamente o de forma remota a través de ssh.
  • Cree un nuevo directorio de configuración: mkdir config
  • Compruebe si el archivo JAR ejecutable y.ini se han copiado a la Raspberry Pi
  • Mueva el archivo.ini al directorio de configuración: mv alarm_system.properties config /
  • Escriba sudo java -jar alarmsystem.jar
  • Mira la salida en la consola
  • Terminar con ^ C

Paso 11: Modifique su aplicación

Ahora puede modificar y ampliar su aplicación a su gusto. Si desea ampliar un sistema importado como este sistema de alarma, primero debe crear su propio proyecto y duplicar el sistema de alarma en su propio proyecto.

Tenga en cuenta que para realizar cambios, primero debe crear su propio proyecto. Luego copie / duplique la aplicación en su proyecto recién creado. Puede ver cómo se hace esto aquí:

Siga la ruta de IoT Tuturial para obtener descripciones paso a paso sobre cómo crear o modificar aplicaciones específicas de bloques reactivos.

Recomendado: