Construyase su propio despertador Android


Es increíble lo rápido que ha cambiado la tecnología en tan sólo unos años  permitiéndonos  hacer cosas  hoy en día que en otras épocas hubiera parecido utópicas .

Un  claro ejemplo  de cosas  que hoy podemos hacer es convertir  viejos smartphones desfasados  con  poca memoria o algún tipo de problema  (  batería sin autonomía , falta de cobertura,etc)  en potentes  despertadores digitales con funciones  años luz avanzadas respecto  a sus antiguos modelos convencionales como  por ejemplo  programar  los días que queremos despertarnos, el tono , la progresión ,la melodía , el modo , etc  o incluso funciones  simultaneas como  reproducción de podcast, mp3, spotify,etc.

En este sentido hemos visto  en este blog como sin soldaduras podemos convertir  un smartphone en un despertador  usando dos simples soportes usados para guiar cables.

2016-04-16_09h29_31 IMG_20160415_184245 IMG_20160415_184258 IMG_20160415_184339

 

Otra vía   de re-conversión de un smartphone  mucho  mas intrusiva pero quizás  mas espectacular  puede venir por capturar tanto los tres  cables de power, volumen  arriba y volumen abajo así como la salida de altavoz para meter todo el conjunto en un simple contenedor reciclado

Como ya muchos intuirán,en este caso, una vez que se realice la conversión será  más  difícil volverlos a su estado natural ,así que lo ideal seria  que el  teléfono con android a usar le fallase algo (pero que lógicamente que al menos la pantalla le funcione)pulsaores

 

En este caso la intervención pasa por desmontar el teléfono y capturar los cables de los botones power , vol+y vol-  los cuales en muchos casos van en una plaquita  aparte unidos a la placa madre con un cable de cinta

Como pretendemos montar los pulsadores en otro lugar, lo mejor es utilizar otra plaquita con al menos tres pulsadores que podamos recuperar de algún equipo antiguo   o bien usar una placa de puntos y soldar en esta tres pulsadores normales para montaje .

Una vez dispuesta la placa con los tres pulsadores ,lo siguiente es soldarle dos cables a cada pulsador que luego llevaremos a la placa de pulsadores del teléfono

pulsadores

En cuanto al altavoz que también nos interesaría extender, este afortunadamente  suele ser mas sencillo, pues son dos cablecillos sencillos que suelen ir en la parte superior del teléfono  claramente identificables . Capturados dichos  cables conectaremos a estos dos cables algo mas largos que soldaremos a  un altavoz externo de mas calidad de 4 ó 8 ohmios 0.5W o superior .

En cuanto a la colocación marcamos la circunferencia del altavoz en la parte trasera de la caja y a ese circulo practicamos orificios equidistantes  y pegaremos con la pistola  caliente el altavoz dentro de la caja, así como  la botonera para que los pulsadores salgan y puedan ser usados desde el exterior.

 

 

altavoz

Ahora toca el paso mas delicado,pues  debe tener mucha precaución al soldar todos los cables, sobre todo los de encendido y volumen porque el cobre esta sobre una delgada lamina de plástico que si se calienta en exceso se estropeara,así que lo mejor es  calentar el mínimo tiempo posible, colocar el cable e intentar enfriar rápidamente  para intentar bajarles la temperatura de inmediato.

solar

 

Ahora cerramos la caja  y comprobamos que todos los pulsadores reaccionan

reloj

Sofware 

En ambos modos descritos ,podemos usar el sw del propio teléfono pues Android por defecto en todas su versiones integra  reloj analógico o digital  y despertador , pero lo cierto es que también podemos usar  aplicaciones o mas elaborados: todo dependerá de la version de Android que el teléfono implemente

Si dispone de versiones modernas de Android puede  optar por Timely  para resultados muy elaborados .Timely es el hermoso Reloj Despertador para Android, con una impresionante experiencia de usuario y revolucionaria integración con la nube para copias de seguridad y sincronización de tus alarmas con múltiples dispositivos.

Configurar una alarma nunca ha sido tan fácil :sólo se desliza el dedo desde el borde de la pantalla y establezca la hora deseada arrastrando la barra. Presione para hacer ajustes de 5 minutos.

Incluye sonidos de alta calidad, hechos a mano . Tambien cuenta con la innovadora característica Smart Rise transforman el despertar por las mañanas en un exquisito deleite.

Otra opción es   usar desafíos con las alarmas para asegurarse de que se  ha levantado realmente cuando apags una alarma. ¿Cree que presionar botones no es suficiente lujo? De la vuelta a su teléfono para callarlo. Además, Timely reconoce cuando levanta el teléfono y reduce la intensidad de la alarma bajando el volumen.

 

glimmer

 

 

Otra app  muy interesante es Glimmer , el cual también  le despertará suavemente activando la pantalla 30 minutos antes de la alarma con la pantalla más oscura y aumentando poco a poco el brillo.

Durante el aumento del brillo puede sonar una alarma de canto de pájaros, y si no se despierta 1 minuto después de la hora de alarma, se reproduce un sonido alto para asegurar que no se duerme.

También deja que el teléfono compruebe los mensajes de correo electrónico durante la alarma activando internet y silenciando las notificaciones (así cuando se levantes no tendrá que esperar para saber qué hay de nuevo 🙂

Si duerme en una habitación oscura realmente se despertarás con la luz, y si el teléfono está orientado hacia usted, no despertará a su pareja

 

Es de destacar que en caso de que su terminal no soporte algunas de las dos  magnificas  app mencionadas aun así   hay  otras  opciones como por ejemplo Table Clock que visualiza  un  reloj con números grandes, totalmente con figurable en color tamaño y datos a mostrar en la pantalla.

Para terminar ,ademas de contar un app de reloj-despertador  existen otras  utilidades que nos facilitar la interación  con el dispositivo como son:

  • Screen rotation para que la pantalla principal la podamos ver en horizontal.
  • Floating Soft Keys para poder olvidarnos de los botones táctiles y así poder taparlos usandolos desde la misma aplicación directamente en la pantalla.
  • Ivoox  para  quien le encante la radio porque permite  descargar y escuchar programas ya emitidos siempre que quieran.
  • Spotify
  • Google Music
  • etc

 

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 sopesamos la gran potencia de calculo 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 de detección eficaces para protegerlos contra la acción del fuego.

 

En este post  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 consistente en un DS18B20 , un detector de  gas y un buzzer  junto con  la plataforma  Cayenne.

Tradicionalmente los detectores de incendios difieren en función de los principio de activación siendo los mas 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

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 un enorme facilidad como vamos a ver aparte de poder transmitir la información en múltiples formatos y formas hasta nunca vistas.

COMPONENTES NECESARIOS

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

  • Zumbador de 5V (cuesta menos de 1€ en Amazon)
  • DS18B20  (unos 3€)
  • Resistencia de 4k7 1/4 w
  • Sensor de Co2 basado en MQ4 (cuesta menos de 2€ en Amazon)
  • Raspberry Pi 2 o superior
  • Fuente 5V /1A para la Rasberry Pi

Otros

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

La solución propuesta se basa en usar una Raspberry Pi y un pequeño hardware de control que conectaremos a los puertos 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 descargando la imagen del SO desde la url oficial. y copiando a la SD con el Win32DiskImager desde la página del proyecto en SourceForge

Prueba de acceso y creacion de cuenta

Creada la imagen 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 conectar 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 http://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

Instalación del agente

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 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 smartphone a la wifi de su hogar ( no funcionara si esta conectada por 3G o 4G) .

Una vez instalada la app , cuando hayamos introducido nuestras credenciales , si está la Raspberry en la misma red y no tiene instalado el agente, se instalara éste 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 siguientes comandos :

NOTA:la instalación del agente en su Raspberry Pi por comando, no es necesaria .Solo se cita aquí en caso de problemas en el despliegue automático desde la aplicacion movil.

Instalación del sensor temperatura

Para poder hacer de nuestra Raspberry Pi un detector eficaz de incendios necesitamos añadir sensores que nos permitan 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 le debe dar al sensor para que realice esta acción.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.

CONEXIÓN DEL DS18B20

El DS18B20 envía  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.

Instalación de sensor de Co2

Para complementar nuestro detector se ha añadido un detector de gases basado en el circuito MQ4 .Este detector se puede montar un circuito con el sensor , o bien se puede adquirir con el sensor y el modulo de disparo con un led ya soldado, lo cual por su bajo coste  (menos de 2€ en Amazon  )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 .Son ademas muy versátiles , pudiendo usarse para múltiples fines ,detectando con facilidad lo 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  detector de gases 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 Raspberry (pines 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 Raspberry conectando este al pin1 del detector ( marcado como GND)

Respecto a Cayenne deberemos configurarlo como una entrada genérica como vamos a ver mas 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 sólo 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

 

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 usar un simple zumbador de 5Vque 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 antiguos 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 buzzer
  • pin 12(GPIO18)–> pin2 MQ4
  • pin11(GPIO17) –> cable negro buzzer

 

 

 

Configuración 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 ningún acción más.

CONFIGURACION SENSOR GAS

Dado que no existe un sensor de estas características en la consola de Cayenne, lo mas 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ía configurar son los siguientes

  • Widget Name: Digital Input
  • Widget: Graph
  • Numero de decimals:0

En el apartado «Device Settings» pondremos:

  • Select GPIO: Integrated GPIO
  • Select Channel: Channel 18
  • Invert logic :check activado

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

CONFIGURACION ZUMBADOR
Dado 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ía configurar son los siguientes

  • Widget Name: Buzzer
  • Choose Widget: Button
  • Choose Icon: Light
  • Number de decimals:0

En el apartado «Device Settings» pondremos:

  • Select GPIO: Integrated GPIO
  • Select Channel: Channel 17
  • Invert logic :check deactivado

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

TRIGGERS
Si 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 triggers en Cayenne podemos hacerlo tantodesencadenado 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:

  • IF ; aqui arrastraemos el desecadenante, lo cual necesariamene siempre sera la lectura de un sensor ( en uestro caso el termometro o el detector de gas)
  • THEN: 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 lo siguientes triggers:

  • IF DS1820 <42º THEN RELE(channel17) =OFF
  • IF Channel18=ON THEN RELE(channel17) =ON
  • IF Channel18=ON THEN Send e-mail to…
  • IF DS2820>90º THEN Send e-mail to..
  • 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.¿Se anima a replicarlo?

 

 

Más información aqui