lunes, 11 de febrero de 2013

Proyectos relacionados existentes

Alarma esfera


Es un despertador con radio que se cuelga encima de la cama y se eleva por la mañana, obligando a levantarse rápidamente  Cuando se activa la alarma, la brillante la esfera gradualmente se oscurece y la música se desvanece suavemente mientras comienzas a dormir.


El funcionamiento es este, suena la alarma a la hora indicada y si decides dormir otros 10 minutos entonces la esfera se eleva un poco más, y así cada que no te despiertes, hasta que se llega un punto que la esfera se elevo tanto que no es posible apagarla fácilmente entonces te obliga a levantarte y jalarla, esto indica que ya te paraste de la cama lo que hace que se desactive.

Relación con nuestro proyecto: Es la misma idea, es una alarma que te obliga a levantarte a la hora deseada y no se apaga hasta que se cumplió el objetivo, es probable que apliquemos algo muy parecido pero en vez de algo que se sube en el techo usaremos sensores que detecten el movimiento.

Intelligent Bed - Dynasleep

DynaSleep es un sistema modular de sueño que mide los parámetros relacionados con la postura y comodidad durante el sueño y ajusta la interfaz mecánica entre el sistema de descanso y el sueño. Las mediciones realizadas por el sistema puede dividirse en 4 grupos:
  • Orientación perpendicular a la superficie del colchón
  • Temperatura en diferentes capas
  • Humedad en capas diferentes
  • Movimiento de la superficie del colchón (en desarrollo)
La parte activa del sistema DynaSleep consisten en un conjunto de módulos que son capaces de ajustar la rigidez mecánica de zonas predefinidas en el sistema de dormir. Los módulos son completamente silenciosos y los ajustes de la postura se realizan a una velocidad de 0,1 mm por segundo.

http://www.custom8.com/products/intelligent-bed-dynasleep
Relación con el proyecto: La cama es interactiva, reacciona a lo que sucede con el usuario y es lo mismo que queremos desarrollar nosotros, aunque hasta ahora nuestro único propósito que tenemos pensado sera que se despierten y no dar comodidad durante el sueño al usuario. 

Cama inteligente diseñado para prevenir las úlceras

Las úlceras de decúbito, son un problema común y potencialmente grave para los pacientes postrados en cama de hospital. El personal a menudo tienen que girar regularmente los pacientes mayores en sus camas, ya que las lesiones se producen por una presión demasiado prolongada en piel, causadas por estar en un lugar por mucho tiempo. En cuanto a los pacientes más grandes puede ser un trabajo físicamente difícil, sin embargo, además de algunas instalaciones no siempre disponen de personal suficiente a la mano para hacer el giro tan a menudo como sea necesario. El empresario suizo Michael Sauter pensaba que la situación era necesaria de abordar, por lo que inventó una cama que mueve a los pacientes cada cierto tiempo.

http://www.gizmag.com/intelligent-bed-prevents-bedsores/19229/

Conocido por el momento simplemente como una cama inteligente, el dispositivo se dice que imita los movimientos de una persona saludable durante el sueño. Esto se logra mediante el registro de movimientos del paciente mientras duermen. Si han quedado en una posición durante mucho tiempo, se mueve suavemente a través de un colchón especial. Esta cama esta constituida por "materiales inteligentes", y sus propiedades se pueden ajustar según sea necesario.

Relación con nuestro proyecto: Se usan un mecanismo que permite mover la cama, que es lo primero que pensamos cuando se nos ocurrió una cama despertador, además usa sensores de peso y de hacer que el despertador este en la cama, nosotros también usaríamos eso.


Cama inteligente con aire acondicionado


Las camas Mat Soyo refrigeran la superficie en la que se duerme, ya que tiene un sistema inteligente de extracción de aire. Es una especie de colcha de medidas de 96x92x7cm, uno de sus costados tiene aberturas por las cuales se absorbe el aire caliente de la habitación y también absorbe el calor corporal del usuario y es extraído hacia el otro extremo de la colcha con un sistema de ventiladores silenciosos.
De esta manera es posible tener una superficie siempre fresca, consume 2 voltios, y por el momento ya se vende en Japón.

Relación con el proyecto: Tiene mecanismos de funcionamiento inteligente que podríamos usar en nuestro proyecto como el adaptar la temperatura, etc. 

Aportaciones a otros equipos

Referencias

Cama inteligente con aire acondicionado
Cama inteligente para enfermos
Esfera alarma
Dynasleep

Proyectos relacionados emergentes

Alarma inteligente Oz

Oz puede ser utilizado como una especie de "entrenador sueño". Es capaz de decir cuando es hora de ir a la cama y cuando es el momento de levantarse, dando el tiempo adecuado de descanso. Se basa en indicar una hora que sea adecuada para así poder levantarse, aunque también es posible configurarlo para levantarse a una hora exacta ya que puede cambiar de color bruscamente obligando al usuario a levantarse.

Fuente: http://www.projet-oz.net/front/docs/dossier_conception_Oz_CRMA2009.pdf


Oz, es un dispositivo que consta de dos partes: un portátil de 7 pulgadas con pantalla táctil, con una carcasa de plástico sólida y una base para recargar las baterías. Una computadora pequeña integrada proporciona una capacidad gráfica superior y le permite conectar el dispositivo a su casa WIFI. Además de reaccionar con el movimiento, sino que también detecta el brillo de una habitación y responde en consecuencia, adaptando su propia fuente de luz.

El dispositivo se puede personalizar al máximo ya que permite elegir la forma en que desea dormirse o se despierta: a través de la música con sus propias listas de reproducción, favoritos de radio por medio de una alarma normal, a través de un atenuador de luz que simula el amanecer y la puesta del sol con los colores de su elección, a través de otros complementos descargables.
También tiene una aplicación de notas, en donde es posible escribir recordatorios sin tener que salir de la cama. De esta manera, se puede mantener un seguimiento a algún sueño que se quiera recordar o alguna idea que haya surgido que haya pasado durante la noche.
Esta alarma también sugiere aplicaciones de relajación, tales como juegos calmantes que eviten despertar el cerebro y así permitir un descenso gradual en el sueño.

Aplicaciones para dormir
http://www.projet-oz.net/front/demo.php

Oz, es un proyecto desarrollado por cinco estudiantes de diseño digital de La escuela de imagen en París. Se tomó 9 meses para completar el proyecto, desde el concepto a prototipo.
En estos momentos están en busca de socios comerciales e industriales interesados ​​en el desarrollo y la industrialización del producto.

Relación con nuestro proyecto: Tiene algunas ideas interesantes que podríamos tomar en cuenta a la hora de hacer nuestro producto, como por ejemplo la adaptación a la luz, o las aplicaciones que pueden ayudarte a recuperar el sueño, entre otras cosas.

The singNshock alarm clock

Su funcionalidad principal es hacer que el usuario se levante a la hora establecida.
El "sing" del nombre proviene del hecho que el dispositivo permite despertarse con sus canciones favoritas jugados en tan alto volumen que no habrá manera no no despertarse por la mañana.

La reproducción de música, junto con la mayoría de las demás funciones del reloj, se controlan a través de su interfaz de pantalla táctil - con una excepción importante. El botón usado para apagar la alarma emite un impulso eléctrico - de ahí el "shock" parte del nombre del dispositivo.

http://www.thereviewportal.net/2013/01/the-singnshock-alarm-clock-shocks-you-from-your-slumber/
La función de descarga eléctrica puede ser apagado y el pulso es tan sólo de unos pocos milivoltios, que diseñador Sankalp Sinha cree es suficiente para activar las funciones neurológicas sin causar ningún daño. El singNshock actualmente es sólo un concepto.

Relación con nuestro proyecto: Tiene el mismo propósito que nuestro proyecto de levantar al usuario a la hora indicada pero usa una técnica diferente, podríamos tomar de idea que nuestro despertador tampoco deje desactivarlo cuando se oprima algún botón.

Cama inteligente

Esta cama cuenta con tecnología de monitorización ambiental, que se basa en la captación e interpretación de la progresión temporal de impacto de carga sobre las cuatro patas de una cama por medio de sensores de carga. Este sistema puede ser usado para medir:
  • Si la cama o no esté ocupado (presencia o ausencia de una carga perpendicular superior a la carga creada por el propio peso de la cama)
  • Cuando la cama estaba ocupada o desocupada, respectivamente (secuencia temporal de la carga que se añade o elimina)
  • Cómo una persona se mueve en la cama (transferencia de la desviación perpendicular a la distribución de la carga en la zona).
Los experimentos se llevan a cabo actualmente en el laboratorio de la AAL IESE Fraunhofer.



La tecnología de hardware para sensores de carga adecuados es madura y se utiliza en numerosos productos en el mercado. Este prototipo de cama inteligente utiliza la iLoad Pro Kit USB de los sensores de la empresa Loadstar. Se compone de cuatro sensores de carga capacitivas con un rango de medición de 500lb/2000N y un nodo de interfaz (hub), que se utiliza para activar los sensores de carga y leer sus resultados de medición. Para ello, los sensores de carga están conectados con el centro a través de un puerto USB; el mismo cubo está conectado a un ordenador a través de otro puerto USB. Experimentando este sistema se ha ido mejorando el software de evaluación, que se utiliza para controlar la forma en que los sensores detectan la carga de trabajo y para empaquetar los valores de medida en las tablas de Excel para su posterior procesamiento.


Actualmente no es comercializable pero se espera que en algunos meses se pueda tener el primer prototipo totalmente funcional, ya que actualmente se cuenta con prototipos que funcionan por separado.

Relación con el proyecto: Es una cama interactiva que tiene sensores capaces de saber cuando la persona se acuesta o levanta, nosotros también queremos hacer eso, y podemos tomar algunas ideas como darnos cuenta del ciclo de sueño por los movimientos, etc.

Contribuciones con links a otros proyectos:



Fuentes

Cama inteligente
singNshock
Oz project

miércoles, 6 de febrero de 2013

Filtros básicos

La tarea para esta entrada es modificar una imagen aplicándole filtros o efectos básicos como:

  • escala de grises
  • umbral (binarización)
  • negativo (invierte los colores)
  • difuminado (promedio)
  • espejo (cambia el sentido de la imagen)
Utilizando Python y sus librerías PIL y Tkinter.

Además de hacer una interfaz gráfica para poder modificar la imagen y poder verla fácilmente. Esta es la foto de ejemplo con la que trabajé:


La interfaz se ve de la siguiente manera:


Aplicando el filtro de escala de grises:


Así se ve al aplicar varias veces el filtro de promedio, que toma los píxeles de arriba, abajo, izquierda, derecha y el mismo para sacar un promedio y obtener el valor del pixel nuevo:

Promedio primera vez:

Promedio sexta vez:



Promedio 12va vez:


El umbral se ve de la siguiente manera, aplicado a la imagen original:



y en la siguiente primero apliqué varias veces el promedio y después el umbral, podemos apreciar la imagen menos detallada pero se pueden distinguir los elementos principales:



El de invertir colores, lo que hace es tomar 255 y restarle el color del pixel:


Efecto de invertido combinado con otros:


Y por último el de espejo, es solo un efecto que parece estar viendo la imagen como en un reflejo, yo lo apliqué solamente en un sentido, pero es muy  fácil hacerlo en los 4, lo hice solo con el propósito de jugar un poco más con los píxeles:



En la aplicación es posible regresar a la imagen original, y/o guardar la imagen además de poderse aplicar filtros encima de otros. Si se aplica un efecto antes de aplicar el de escala de grises, automáticamente se hace manda a llamar al método de escala de grises ya que el propósito es trabajar siempre con imágenes en escala de grises.

El código se encuentra con el nombre de archivo practica_1.py:

lunes, 4 de febrero de 2013

Mecanismo de notificación: mailto

Sieve Notification Mechanism: mailto RFC 5436

Se usa para permitir que las notificaciones se envíen por correo electrónico. Define como se usan URIs(Identificador Uniforme de Recursos), los URI son cadenas de caracteres que identifican a un recurso sin equivocarse,  para generar notificaciones por correo electrónico.
Al enviar un correo electrónico se manda una notificación al destinatario para indicar un mensaje entrante.

Sieve es un lenguaje de programación que se puede utilizar para crear filtros de correo electrónico. Debe su creación al Proyecto CMU Cyrus, creadores de Ciro servidor IMAP.
El lenguaje no está ligado a ningún sistema operativo o arquitectura electrónica. Se requiere el uso de RFC 2822 compatibles con los mensajes. La versión actual de la especificación se describe en el RFC 5228, publicado en enero de 2008.

Sieve difiere de los lenguajes de programación tradicionales ya que es altamente limitado. A pesar de las extensiones que se han ideado para extender el lenguaje para incluir variables y, hasta cierto punto, los bucles, el lenguaje sigue siendo muy limitado, y por lo tanto no apto para el funcionamiento de los programas ideados por el usuario como parte del sistema de correo.

También hay un número significativo de las restricciones a la gramática de la lengua, con el fin de reducir la complejidad de analizar el lenguaje, pero el lenguaje también es compatible con el uso de múltiples métodos de comparación de cadenas localizadas, y es totalmente compatible con Unicode.

Los scripts Sieve pueden ser generados por un editor de interfaz gráfica de usuario basada en reglas o se pueden introducir directamente utilizando un editor de texto.
El protocolo ManageSieve (definido en el RFC 5804) permite a los usuarios gestionar sus scripts Sieve en un servidor remoto. Los servidores de correo con los usuarios locales pueden permitir que los scripts se almacenan en, por ejemplo un archivo.

Parámetros de notificación

El mecanismo de notificación usa el estándar mailto URI como se especifica en [mailto], contiene campos de cabecera que son llamados encabezados URI para poderlos distinguir de los "encabezados de los mensajes".

Prueba "notify_method_capability"

Esta prueba notify_method_capability online puede devolver "sí" o "no" sólo si el procesador Sieve puede determinar con certeza si o no los destinatarios del mensaje de notificación en línea se han autentificado de lo contrario, la prueba devuelve "tal vez" para este método.

Tag de notificación ":from"

El tag ":from" anula el remitente por defecto de la notificación del mensaje. El remitente aquí significa "from" header que se usa en el RFC5322 que dice el campo "from:" especifica el autor del mensaje, es decir, el buzón de correo de la persona o sistema responsable para la escritura del mensaje. El campo "Sender:" especifica el buzón del agente responsable de la transmisión real del mensaje. Por ejemplo, si una secretaria fuera a enviar un mensaje para otra persona, el buzón de correo del secretario aparecería en el "Sender:" y el buzón de correo del autor real aparecería en el campo "De:".

Tag de importancia ":importance"

El tag ": importance" no tiene un significado especial para este mecanismo de notificación, y no hay ninguna restricción en su uso.
Se usa el valor de ":importance" para establecer una prioridad o importancia en el mensaje de notificación (quizás un indicación visual, o tal vez haciendo uso de no estándares pero comúnmente utilizado en los encabezados de los mensajes).



Tag de mensaje ": message"

El valor de esta etiqueta, si está presente, se utiliza como el sujeto de el mensaje de notificación, y anula todos los demás mecanismos de la determinación del sujeto, su valor no debe ser vacío, pero también debe ser razonable para no tener un valor muy largo.

Debido a que este método de notificación utiliza un sistema de almacenamiento para la entrega del mensaje de notificación, el procesador Sieve no debe tener la necesidad de notificaciones de reintento. Por lo tanto, para las implementaciones de este método es conveniente utilizar los mecanismos normales para la presentación de los mensajes SMTP y para volver a intentar la comunicación inicial. Una vez que la notificación del mensaje se envía, las implementaciones NO DEBEN volver a enviarlo, ya que es probable que resulte en múltiples notificaciones, y aumenta la peligro de bucles de mensajes.

Consideraciones de seguridad

El envío de una notificación es comparable con reenviando de correos al destinatario de la notificación. Se debe tener cuidado al enviar correo de forma automática, para asegurar que la información confidencial no se envía en un entorno inseguro.

El envío automatizado de mensajes de correo electrónico expone el sistema de correo a bucles, a que puedan causar problemas de funcionamiento. Las implementaciones de esta especificación deberá protegerse contra bucles de correo. Otras mitigaciones de bucles de correo involucra algunos tipos de limitaciones.

En mi opinión personal creo que el número de notificaciones generado por un único usuario podría estar limitado a no más de, digamos, 30 en un período de 60 minutos. Por supuesto, esta técnica presenta sus propios problemas, en que la tasa real de límite debe ser seleccionado cuidadosamente, para permitir situaciones más legítimos en el ambiente dado.
La intervención humana podría ser necesaria para volver a habilitar notificaciones que se han deshabilitado debido a que un bucle se ha detectado, o poner fin a un ciclo muy lento. Deben estar disponibles mecanismos administrativos para manejar este tipo de situaciones. Podría ser mejor que se abarcara en este tema también los aspectos de las respuestas automáticas y que así no hubiera otro separado que es el RFC 3834.

Referencias

RFC 5436
RFC 3834
mailto