Tabla de contenido:

Alarma Inteligente De Humos: 7 Pasos
Alarma Inteligente De Humos: 7 Pasos

Video: Alarma Inteligente De Humos: 7 Pasos

Video: Alarma Inteligente De Humos: 7 Pasos
Video: Montaje y Configuración central detección y alarma de incendios 2024, Mes de julio
Anonim
Alarma Inteligente De Humos
Alarma Inteligente De Humos
Alarma Inteligente De Humos
Alarma Inteligente De Humos

Gracias al sw de Cayenne es posible construir equipos muy avanzados sin necesidad de programar nada con un aspecto gratamente muy profesional. Ademas, si sospesamos la gran potencia de cálculo de la Raspberrry Pi, junto sus grandes posibilidades de expansión y conectividad, obtenemos una gran combinación de hardware y software, las cual sin duda nos va a permitir realizar proyectos realmente interesantes.

Sabemos la gravedad que puede suponer un incendio, por lo que es sumamente importante disponer de medidas en los edificios para protegerlos contra la acción del fuego.

Detectando a tiempo un incendio conseguimos cuatro cosas:

  • Lo mas importante: salvar vidas humanas
  • Minimizar las pérdidas potencialmente económicas producidas por el fuego.
  • Conseguir que las actividades del edificio puedan reanudarse en el plazo de tiempo más corto posible.
  • Evitar generar más contaminación de todos tipo al medio ambiente producida por la combustión de todo tipo de materiales algunos altamente tóxicos

Es evidente que salvar vidas humanas es el fin principal y primero ante la detección de incendios, pero evitar perdidas económicas o reducir posible contaminación puede ser también buenas razones para poner un cuidado especial en los sistemas de detección contra incendios

En este proyecto vamos a intentar abordar el grave problema de los incendios desde una perspectiva completamente diferente usando para ello una Raspberry pi 2, un hardware especifico y el software de Cayenne

Tradicionalmente los detectores de incendios difieren en función de los principio de activación siendo los más habituales los de Tipo Óptico basado en células fotoeléctricas, las cuales, al oscurecerse por el humo o iluminarse por reflexión de luz en las partículas del humo, disparando una sirena o alarma.

Asimismo, existen detectores de calor, los cuales son los menos sensibles, puesto que detectan la última etapa del desarrollo del fuego, aunque generalmente tienen una mayor resistencia a las condiciones medioambientales.

Este tipo de detectores se clasifica en:

  • Detectores térmicos: disparan una alarma al alcanzarse una determinada temperatura fija en el ambiente.
  • Detectores termovelocimétricos: disparan una señal o alarma cuando detectan un incremento rápido de la temperatura ambiente, por lo este tipo de sensores son más adecuados cuando la temperatura ambiente es baja o varia lentamente en condiciones normales.
  • Detectores de llama: se basan en la detección de la radiación ultravioleta o infrarroja presente en la combustión en los incendios. Se usan en zonas exteriores de almacenamiento, o para zonas desde se puede propagar con gran rapidez un incendio con llamas (por la respuesta mas rápida). Dada su incapacidad para detectar incendios sin llama, esto hace que no se consideren estos detectores para uso general.

La solución que se propone se basa en detectores ter micos al ser los mas precisos, al que se ha añadido para aumentar la fiabilidad y mejorar la flexibilidad un doble sensor permitiendo de esta manera poder modificar los parámetros de disparo con una facilidad como vamos a ver aparte de poder transmitir las información en formatos múltiples y formas hasta nunca vistas.

COMPONENTES NECESARIOS

Para montar la solución propuesta necesitamos los siguientes elementos:

  • Zumbador de 5V
  • DS18B20
  • Resistencia de 4k7 1/4 w
  • Sensor de Co2 basado en MQ4
  • Raspberry Pi 2 o superior
  • Fuente 5V / 1A para la Rasberry Pi

Otros

  • Cable de rojo
  • Caja de plástico para contener el conjunto
  • Cable de cinta (se puede reusar un cable de cinta procedente de una interfaz ide de disco)

Paso 1: Instalación Raspbian

Instalación Raspbian
Instalación Raspbian

La solución propuesta se basa en usar una Raspberry Pi y un pequeño hardware de control que conectaremos a los puerto de la GPIO, pero, antes de empezar con el hardware adicional, deberemos, si aun no lo ha creado todavía, generar una imagen de Raspbian para proporcionar un sistema operativo a la Raspberry Pi.

Raspbian trae pre-instalado software muy diverso para la educación, programación y uso general, contando además con Python, Scratch, Sonic Pi y Java

Para instalar Raspbian se puede instalar con NOOBS o descargar la imagen del SO desde la url oficial

Vemos que hay dos versiones:

  • RASPBIAN JESSIE: Imagen de escritorio completo basado en Debian Jessie de mayo de 2016, publicada el 2016-05-27 y versión del kernel: 4.4
  • RASPBIAN JESSIE LITE: versión mínima de la imagen basada en Debian Jessie de mayo de 2016, publicada el 2016-05-27 y versión del kernel: 4.4

Obviamente si la SD es suficiente grande, lo interesante es descargar la primera opción, en lugar de usar la versión mínima (Lite)

Una vez descargada la imagen correspondiente en su ordenador siga los siguientes pasos:

  1. Puede utilizar la ranura para tarjetas SD si usted tiene soporte en su PC (normalmente habrá que instalar un adaptador de SD a micro-usb) o bien usar un adaptador usb a SD. Inserte la tarjeta SD en el lector de tarjetas SD de su ordenador comprobando cual es la letra de unidad asignada. Se puede ver fácilmente la letra de la unidad, mirando en la columna izquierda del Explorador de Windows.
  2. Descargar la utilidad Win32DiskImager desde la página del proyecto en SourceForge como un archivo zip.
  3. Extraer el ejecutable desde el archivo zip y ejecutar la utilidad Win32DiskImager (puede que tenga que ejecutar esto como administrador, para lo cual tendrá que hacer clic derecho en el archivo y seleccionar Ejecutar como administrador).
  4. Seleccione el archivo de imagen que ha extraído anteriormente de Raspbian.
  5. Seleccione con mucho cuidado letra de la unidad de la tarjeta SD (tenga cuidado al seleccionar la unidad correcta pues si usted selecciona otra unidad por error, esto puede destruir los datos en el disco duro de su ordenador)
  6. Haga clic en Escribir y espere a que la escritura se complete.
  7. Salga del administrador de archivos y expulse la tarjeta SD.
  8. ! A terminado de instalar el SO en su Raspberry Pi!

Paso 2: Prueba De Acceso Y Creación De Cuenta

Prueba De Acceso Y Creacion De Cuenta
Prueba De Acceso Y Creacion De Cuenta

Creada la iamgen del SO, ahora debemos insertar la micro-SD recién creada en su Raspberry Pi en el adaptador de micro-sd que tiene en un lateral. También deberá conectar un monitor por el conector hdmi, un teclado y ratón en los conectores USB, un cable ethernet al router y finalmente connect la alimentación de 5V DC para comprobar que la Raspberry Pi arranca con la nueva imagen

Para comenzar la configuración de su Raspberry, lo primero es crear una cuenta gratuita en el portal cayenne-mydevices.com que servirá tanto para entrar en la consola web como para validarnos en la aplicación móvil. Para ello, vaya a la siguiente url https://www.cayenne-mydevices.com/ e introduzca lo siguintes datos:

  • Nombre,
  • Dirección de correo elctronica
  • Una clave de acceso que utilizara para validarse.

NOTA: las credenciales que escriba en este apartado le servirán tanto para acceder via web como por vía de la aplicación móvil

Paso 3: Instalacion Agente

Agente de instalación
Agente de instalación
Agente de instalación
Agente de instalación
Agente de instalación
Agente de instalación
Agente de instalación
Agente de instalación

Una vez registrado, solamente tenemos que elegir la plataforma para avanzar en el asistente. Obviamente seleccionamos en nuestro caso Raspberry Pi pues no se distingue entre ninguna de las versiones (ya que en todo caso en todas deben tener instalado Raspbian).

Para avanzar en el asistente deberemos tener instalado Raspbian en nuestra Raspberry Pi que instalamos en pasos anteriores.

Concluido el asistente, lo siguiente es instalar la aplicación móvil, que esta disponible tanto para IOS como Android.

En caso de Android este es el enlace para su descarga en Google Play.

Es muy interesante destacar que desde la aplicación para el smartphone se puede automáticamente localizar e instalar el software myDevices Cayenne en su Raspberry Pi, para lo cual cual ambos (smarphone y Raspberry Pi) han de estar conectados a la misma red, por ejemplo la Raspberry Pi al router con un cable ethernet y su samartphone a la wifi de su hogar (no funcionara si esta conectada por 3G o 4G).

Una vez instalada la aplicación, cuando hayamos introducido nuestras credenciales, si está la frambuesa en la misma red y no instalado el agente, se instala automáticamente.

Hay otra opción de instalar myDevices Cayenne en su Raspberry Pi, usando el Terminal en su Pi o bien por SSH.

Tan sólo hay que ejecutar los dos comandos siguientes:

  • wget
  • sudo bash rpi_f0p65dl4fs.sh -v

NOTA: la instalación del agente en su Raspberry Pi por comando, no es necesario.

Paso 4: Instalación Del Sensor Temperatura

Instalación Del Sensor Temperatura
Instalación Del Sensor Temperatura
Instalación Del Sensor Temperatura
Instalación Del Sensor Temperatura

Para poder hacer de nuestra Raspberry Pi un detector eficaz de incendios necesitamos añadir sensores que medir variables físicas del exterior, para en consecuencia actuar posteriormente

En primer lugar se ha optado por utilizar el sensor DS18B20 creado por Dallas Semiconductor. Se trata de un termómetro digital, con una precisión que varía según el modelo pero que en todo caso es un componente muy usado en muchos proyectos de registro de datos y control de temperatura.

Existen tres modelos, el DS1820, el DS18S20 y el DS18B20 pero sus principales diferencias se observan en la exactitud de lectura, en la temperatura, y el tiempo de conversión que se debe dar al sensor para que realizar esta acción.

Cada sensor tiene un número de serie único de 64 bits grabado en él lo cual permite un gran número de sensores que se utilizarán en un bus de datos.

La temperatura se obtiene en un formato de módulo y signo de nueve bits. El bit más significativo (MSB) corresponde al signo y el bit menos significativo tiene un peso de 0.5 ° C, el subsiguiente en creciente 1 ° C, el bit 2 estará asociado a 2 ° C, hasta el bit 7 cuyo peso será de 64 ° C. Para la comparación con los valores de máxima y mínima se toman sólo los 8 bits más significativos (incluyendo al signo), descartando el 0.5 ° C.

El DS1820, tiene, además del número de serie y de la interfaz de un conductor, un circuito medidor de temperatura y dos registros que pueden emplearse como alarmas de máxima y de mínima temperatura.

Internamente cuenta con un microprocesador, un par de osciladores de frecuencia proporcional a la temperatura (uno de ellos de frecuencia proporcional a la alta temperatura actúa como habilitación (gate) del conteo del oscilador de frecuencia proporcional a la baja temperatura) y un circuito (Slope Accumulator) encargado de compensar las alinealidades de la variación de frecuencia de los osciladores con la temperatura.

A los comandos tradicionales de los botones como: lectura de ROM, búsqueda de ROM, coincidencia de ROM, salteo de ROM, se agregan nuevos comandos por el bus de un conductor, como convertir temperatura, leer, copiar o escribir la memoria temporaria (scratchpad) y buscar alarmas.

CONEXIÓN DEL DS18B20

El DS18B20 envia al bus I2C la información de la temperatura exterior en grados C con precisión 9-12 bits, -55C a 125C (+/- 0.5C).a.

Para aprovechar las ventajas de la detección automática de Cayenne de sensores 1-wire, conectaremos este al puerto 4 GPIO (PIN 7) dado que el DS1820 transmite vía protocolo serie 1-Wire

Asimismo, es importante conectar una resistencia de 4k7 de pull-up en la línea de datos (es decir entre los pines 2 y 3 del DS18B20).

La alimentación del sensor la tomaremos desde cualquiera de las dos conexiones de + 5V de nuestra Raspberry (pines 2 o 4) y la conexión de masa por comodidad podemos tomarla del pin 9 de las Raspberry

¡Listo! Encienda su Raspeberry Pi y Cayenne automáticamente detectará el sensor DS18B20 y añadirá este a su panel de control

NOTA: Es importante reseñar que los dispositivos 1-Wire se identifican mediante un número (ID) único, razón por la que podríamos conectar varios en cascada, viajando la señal de todos ellos por la misma línea de datos necesitando una única resistencia de pull up para todo el montaje conectándose todos ellos en paralelo (respetando los pines obviamente). El software se encargará de "interrogar" al sensor / dispositivo adecuado.

Paso 5: Instalación De Sensor De Co2

Instalación De Sensor De Co2
Instalación De Sensor De Co2
Instalación De Sensor De Co2
Instalación De Sensor De Co2
Instalación De Sensor De Co2
Instalación De Sensor De Co2
Instalación De Sensor De Co2
Instalación De Sensor De Co2

Para complementar nuestro detector se ha añadido un detector de gases basado en el circuito MQ4.

Se puede montar un circuito con el sensor, o bien se puede adquirir con el sensor y el módulo de disparo con un led y soldado, lo cual por su bajo costo es la opción más recomendada.

Estos módulos permiten Dual-modo de señal de salida, es decir cuentan con dos salidas diferenciadas:

  • Salida analógica
  • Salida con sensibilidad de nivel TTL (la salida es a nivel alto si se detecta GLP, el gas, el alcohol, el hidrógeno y mas)

Estos módulos son de rápida a respuesta y recuperación, cuentan con una buena estabilidad y larga vida siendo ideales para la detección de fugas de gas en casa o fabrica.

Estos detectores son muy versátiles, pudiendo usar para múltiples multas, detectando con facilidad los siguientes gases:

  • Gas combustible como el GLP
  • Butano
  • Metano
  • Alcohol
  • Propano
  • Hidrogeno
  • Humo
  • etc.

Algunas de las características del módulo:

  • Voltaje de funcionamiento: 5V DC
  • Rango de Detección: 300 a 10000 ppm
  • Salida TTL señal valida es baja
  • Tamaño: 32X22X27mm

CONEXIONES

Para conectar el módulo a nuestra Raspberry Pi, optaremos por usar el puerto GPIO18 (pin12) que conectaremos a la salida digital 2 del sensor (marcado como OUT).

La alimentación del sensor la tomaremos desde cualquiera de las dos conexiones de + 5V de nuestra Frambuesa (pinos 2 o 4) conectándo al pin 4 del sensor (marcado como + 5v) y la conexión de masa por comodidad podemos tomarla del pin 9 de las Frambuesa conectando este al pin1 del detector (marcado como GND)

Respecto a Cayenne deberemos configurarlo como una entrada genérica como vamos a ver más adelante.

PRUEBA DEL SENSOR

Para hacer una prueba rápida de que nuestro sensor es funcional: simplemente apuntar a unos cm del sensor con un bote de desodorante (no importa la marca), justo con un solo disparo hacia el cuerpo del sensor. En ese momento debería encenderse el pequeño led que integra el sensor durante unos minutos para luego apagarse marcando de esta forma que realmente ha detectado el gas.

Ademas simultáneamente si podemos medir con un polímetro, veremos que el pin Out pasa a nivel alto, es decir pasa de 0V a unos 5V, volviendo a cero en cuanto se haya diluido el gas

Paso 6: Zumbador Y Montaje Final

Zumbador Y Montaje Final
Zumbador Y Montaje Final
Zumbador Y Montaje Final
Zumbador Y Montaje Final
Zumbador Y Montaje Final
Zumbador Y Montaje Final
Zumbador Y Montaje Final
Zumbador Y Montaje Final

Ya tenemos los dos sensores, así que aunque podemos intereactuar ante variaciones de las lecturas de los sensores enviando correos o enviando SMS's (como vamos a ver en el siguiente paso), es muy interesante añadir también un aviso auditivo que podemos activar cuando decidamos.

Para los avisos acústicos, lo mas sencillo es use un simple zumbador de 5V que podemos conectar directamente a nuestra Raspberry Pi sin ningún circuito auxiliar.

La conexión del positivo del zumbador normalmente de color rojo, lo haremos al GPIO 17 (pin 11) de nuestra Raspberry y la conexión de masa por comodidad podemos tomarla del pin 9 de las Raspberry conectando este al pin de masa del buzzer (de color negro)

Respecto a Cayenne deberemos configurarlo como un actuador genérico como vamos a ver mas adelante en el siguiente paso.

En cuanto a las conexiones dado las poquísimas conexiones de los dos sensores y el zumbador, lo mas sencillo, a mi juicio, es usar un cable de cinta de 20 + 20, que por ejemplo puede obtener de un viejo cable IDE de los usados para conectar antiguas discos duros cortándolo en la longitud que interese y conectando los cables a los sensores y al zumbador (observe que es muy importante respetar el orden de los pines del cable siendo el rojo el pin 1 y cuenta correlativamente).

El siguiente resumen indica todas las conexiones realizadas:

CABLE DE CINTA UTILIZACIÓN

  • pin9 (Gnd) pin1 DS1820, pin1 MQ4,
  • pin 7 (GPIO4) pin 2 DS1820, resistencia 4k7
  • pin1 (+ 5V) pin 3 DS1820, resistencia 4k7, pin4 MQ4, cable rojo zumbador
  • pin 12 (GPIO18) pin2 MQ4
  • pin11 (GPIO17) cable negro zumbador

Paso 7: Configuracion Cayenne

Configuracion Cayenne
Configuracion Cayenne
Configuracion Cayenne
Configuracion Cayenne
Configuracion Cayenne
Configuracion Cayenne

Montado el circuito y nuestra Rasberry corriendo con Rasbian y el agente Cayenne, únicamente nos queda configurar el sensor de gas y el buzzzer así como las condiciones o eventos que harán que disparen los avisos

Del sensor DS1820 no hablamos precisamente porque al estar conectado al bus one wire, el agente Cayenne lo detectara automáticamente presentándolo directamente sobre el escritorio sin necesidad de ninguna acción más.

CONFIGURACION SENSOR GAS

Dado que no existe un sensor de estas características en la consola de Cayenne, lo más sencillo es configurarlo como entrada genérico del tipo Digital Input y subtipo SigitalSensor.

Si ha seguido el circuito propuesto, los valores propuestos que deberían configurar los siguientes

  • Nombre del widget: entrada digital
  • Widget: Gráfico
  • Numero de decimales: 0

En el apartado "Configuración del dispositivo" pondremos:

  • Seleccione GPIO: GPIO integrado
  • Seleccionar canal: Canal 18
  • Invertir lógica: comprobar activado

Obviamente añadiremos estos valores y pulsaremos sobre el boton "save" para hacer efectiva esta configuración

CONFIGURACION ZUMBADORDado que no existe un zumbador como tal en la consola de cayenne, lo mas sencillo es configurarlo como salida genérico del tipo RelaySwitch. Si ha seguido el circuito propuesto, los valores propuestos que deberían configurar son los siguientes

  • Nombre del widget: zumbador
  • Elija Widget: Botón
  • Elija Icono: Luz
  • Número de decimales: 0

En el apartado "Configuración del dispositivo" pondremos:

  • Seleccione GPIO: GPIO integrado
  • Seleccionar canal: Canal 17
  • Invertir lógica: comprobar desactivado

Obviamente añadiremos estos valores y pulsaremos sobre el boton "save" para hacer efectiva esta configuración

TRIGGERSSi ha seguido todos los pasos anteriores tendremos en la consola de Cayenne nuestra placa Rasberry Pi con la información en tiempo real de la temperatura o detección de gas e incluso un botón que nos permite activar o desactivar a voluntad el zumbador.

Ademas por si fuera poco gracias a la aplicación móvil, también podemos ver en esta en tiempo real lo que están captando los sensores que hemos instalado y por supuesto activar o desactivar si lo deseamos el zumbador..

Pero aunque el resultado es espectacular todavía nos queda una característica para que el dispositivo sea inteligente: el pode interaccionar ante los eventos de una forma lógica, lo cual lo haremos a través de lo triggers, los cuales nos permitirán desencadenar acciones ante cambios en las variables medidas por los sensores.

A la hora de definir desencadenadores en Cayenne podemos hacerlo tanto desencadenado acciones como pueden ser enviar corres de notificaciones o envio de SMS's a los destinatarios acordados o bien actuar sobre las salidas.

Para definir un disparador en myTriggers, pulsaremos "New Trigger" y nos presentara dos partes:

  • SI; aqui arrastraemos el desecadenante, lo cual necesariomene siempre sera la lectura de un sensor (en uestro caso el termometro o el detector de gas)
  • ENTONCES: aqui definiremos lo que queremos que se ejecute cuando se cumpla la condición del IF. Como comentábamos se pueden actuar por dos vías: se puede activar / desactivar nuestra actuador (el buzzer) o también enviar correos o SMS's

Como ejemplo se pueden definir los siguientes desencadenantes:

  • SI DS1820 <42º ENTONCES RELE (canal 17) = APAGADO
  • SI Canal 18 = ENTONCES RELE (canal 17) = ENCENDIDO
  • SI Channel18 = ON THEN Enviar correo electrónico a…
  • SI DS2820> 90º ENTONCES Enviar correo electrónico a..
  • etc

Es obvio que las posibilidades son infinitas (y las mejoras de este proyecto también), pero desde luego un circuito así es indudable la gran utilidad que puede tener.

Recomendado: