Cómo construir un Espejo inteligente


Microsoft está apoyando  el proyecto Magic Mirror , un espejo  según la compañía o de bajo coste que cualquier persona puede realizar, con idea de mejorarlo  a toda la gran comunidad maker para crear un espejo conectado capaz de correr aplicaciones y mostrar información en tiempo real mientras nos miramos en él cada mañana
La idea no es nueva ,pero  quizás el uso  intensivo de la  nube de Microsoft  tal vez si pues al concepto de espejo mágico , transciende un paso más allá al permitir el reconocimiento del usuario  pues  el espejo puede reconocer a los usuarios registrados y personalizar la experiencia en consecuencia.

 

El espejo mágico que vamos a ver es  un proyecto de IO   pensado  para mostrar el poder de la plataforma de Windows universal (UWP) alojando aplicaciones web .

El lado del cliente se codificó con las tecnologías web estándar (CSS, HTML, JS) :es decir el corazón . El back-end aprovecha la potencia de NodeJS y Mongo alojados en Azure. El lado del cliente implementa la API de Windows ( mediaCapture ) para detectar las caras de la cámara dispositivos, y usa servicios cognitivos de la cara de la API de Microsoft para que coincida con las caras de los perfiles.

Puesto que un dispositivo de espejo no debería contar de la típica entrada desde un teclado y un ratón, la aplicación web proporciona una visión que permite a los usuarios personalizar la experiencia,pero como añadido, podemos agregar una cámara para reconocimiento facial que permitirá configurar diferentes perfiles para cada miembro de la familia, incluso Microsoft está liberando la API a través de «Microsoft Cognitive Services» para que cualquiera la pueda implementar.

 

Proceso de ensamblaje
El proceso de montaje requiere bastante trabajo manual así que recomiendan  tomar las medidas de seguridad apropiadas.

Usted necesitará los siguientes materiales para montar el espejo mágico:

  • Lamina acrílico de  espejo de 2 vias (2-Way Mirrored Acrylic Sheets)
  • Un armario con espejo o cristal
  • Monitor con tecnología LED de la pantalla
  • Microsoft LifeCam HD-3000 – Webcam (micrófono integrado, USB 2.0), negro ( opcional pero aconsejable)
  • Raspberry Pi 3 Modelo B (1,2 GHz Quad-core ARM Cortex-A53, 1GB RAM, USB 2.0)
  • Tarjeta micro SD
  • Cable micro USB y adaptador de corriente USB
  • Cable de HDMI

 

 

camara

 

Así mismo  también necesitará algunas  herramientas :

  • Pegamento gorila
  • Cinta negra
  • Tijeras
  • Destornillador de múltiples bits
  • Alicates de corte
  • Taladradora eléctrica

 

Los pasos a seguir para la construcción del espejo resumidamente son los siguientes:

Desmontaje del espejo y taladros

En el  proyecto se utiliza un pequeño armario con espejo (los típicos usados para  las medicinas)  que sea  lo suficiente ancho para albergar un monitor  . El bastidor del gabinete médico donde va el espejo normalmente se mantiene unido por  grapas  que se pueden quitar  utilizar un simple  destornillador  La idea es que necesitará quitar el espejo para reemplazarlo  por la  Lamina acrílica de  espejo de 2 vías  .Tenga cuidado con cortarse al quitar el espejo. Una vez que las grapas se hayan ido, se puede quitar el espejo unidireccional y sustituirlo por el espejo de dos vías. Luego tendrá que volver a ensamblar el conjunto con grapas o pegamento .

espejonew

Ahora  tendrá que perforar dos  agujeros : uno  en la parte superior del armario que sea lo suficientemente grande para pasar el extremo USB de la cámara  y otro al fondo  para que pueda pasar a través de los cables de alimentación.

Montaje del monitor

El siguiente paso , es retirar la carcasa exterior del monitor, sin dañar el sensor táctil donde van los controles )como se ve en la imagen siguiente pues necesitará este sensor para controlar la configuración de energía del monitor. Se pueden utilizar los alicates para cortar el panel del sensor de la carcasa exterior. Debe quedar como la imagen de abajo.

tv

El borde de la pantalla es de color gris por lo que puede  cubrir los bordes  con cinta negra.

Una vez preparado el monitor tenga en cuenta   que debe colocar el  monitor  tan cerca del espejo como sea posible. Desde la pagina de github puede encontrar el modelo en 3D de los soportes para que  puede 3d imprimir usted mismo. Si no desea imprimir los topes , puede utilizar rollos de papel higiénico como un reemplazo  piezas de poliestierreno cortadas  para que encajen en el armario

A continuación se muestra una imagen que muestra cómo el monitor debe descansar sobre los topes.

espejo

Añadir el resto de electrónica

Ahora  toca dotar del cerebro al espejo por lo que lo siguiente es fijar la Raspberry Pi 3 junto con sus conexiones. Conectaremos la alimentación  a la Raspberry Pi 3 de 5v  mediante un alimentador (mínimo 1500mA) a la toma micro-usb. También conectaremos por hdmi   al monitor a través de la conexión HDMI del  monitor a la toma correspondiente de su Raspberry Pi 3.

Por ultimo conectaremos la  cámara, para lo cual la fijaremos con cinta a la parte superior de la caja y la conectaremos a la Pi3 a través del USB.

rp3

 

La instalación de la aplicación

Una vez que el espejo este montada y cableada, puede instalar la aplicación en su espejo mágico Frambuesa Pi (RP). Los chicos de Microsoft han hecho un gran esfuerzo pues  aunque por el momento solo es posible desplegar el sw necesario  para la Raspbery pi desde un PC, muy pronto aseguran sus creadores que también sera posible hacerlo desde un Mac.

En caso del despliegue en un PC los requisitos previos son :

  • Visual Studio (2013+)
  • Windows 10 SDK instalado en Visual Studio
  • Raspberry pi 3 ejecutando el núcleo de Windows IO

 

Los pasos a seguir son los siguientes:

  1. En Visual Studio, haga clic en ile > New Project > JavaScript Templates > Windows > Hosted Web Apps ( Archivo> Nuevo> Proyecto JavaScript plantillas> Windows> Aplicaciones Web alojados)
  2. Ir al explorador de soluciones, haga clic en package.appxmanifest> Aplicación y establecer http://webreflections.azurewebsites.net/mirror  como la página de inicio
  3. Dentro de la vista package.appxmanifest, haga clic en la pestaña URI contenido e insertar  http://webreflections.azurewebsites.net/ con WinRT de todos los accesos
  4. Haga clic en la pestaña Capacidades y seleccione a Webcam
  5. En la cinta, cambiar la arquitectura taget de cualquiera de las CPU a ARM
  6. Haga clic en play,que debería decir la máquina remota(Remote Machine)
  7. Un mensaje debería aparecer que le pide el nombre de la máquina. Ajuste el IPv4 de la RP como el nombre de la máquina y seleccione universal para la autenticación
  8. !Ya está listo!: Ha instalado con éxito la aplicación web alojada de Espejo Mágico  en su Raspberrypi que ejecuta el núcleo de Windows IO .

 

El espejo será capaz de mostrarnos información como la hora, fecha, el tiempo, datos financieros y la situación del tráfico, y en la parte superior aparecerán las notificaciones con prioridad y en la parte inferior tendremos las cosas menos urgentes

Obviamente en el centro permanecerá totalmente limpio, salvo un mensaje de bienvenida, ya que hay que recordar que principalmente es un espejo aunque con extra de tecnología de nuestro siglo.

Toda los detalles e instrucciones ya están disponibles en el GitHub oficial de Microsoft; y si todo esto les suena familiar, es porque este proyecto se basa en una creación de Michael Teeuw  del que ya hablamos en este blog , quien en 2014 presentó dentro de la comunidad Raspberry su desarrollo de Magic Mirror, que ahora ha sido potenciado por los servicios Cloud de Microsoft.

Construyase su propio espejo inteligente


Ha sido famoso la noticia  de un ingeniero de software de Google(Max Braun,)  que ha construido su propio espejo  casero  inteligente para su cuarto de baño ,mientras está esperando que llegue algo similar en  el mercado ,de modo que decidió hacerlo el mismo  en su tiempo libre registrando  todos los detalles de construcción sobre la plataforma Medium.com.
Es posible que haya visto un espejo inteligente casero antes, pero el diseño de Braun ha resultado ser un elegante espejo  con  Android con un acabado final que nos  recuerda directamente a la ciencia ficción. Se utiliza un espejo de dos vías, un panel de visualización, una tarjeta controladora, además de un montón de componentes y suministros de arte y manualidades. Usando una combinación de Android y las API de pronóstico del tiempo, así como una alimentación por  RSS , creó este panel de información de vidrio,siendo sólo un milímetro de espesor  y colocando la pantalla en una capa entre el cristal del espejo de dos vías y la puerta del gabinete de la medicina.

 

mirror

El panel de la pantalla es bastante impresionante. Se puede ver la fecha y la hora a la derecha donde su cara sería. A la izquierda, se puede ver el tiempo actual y un pronóstico de 24 horas con algunos titulares de las noticias recientes de abajo. En su mayor parte, los iconos y el texto son en blanco y negro para evitar ser  sea demasiado distraído.
Otros conceptos que esta barajando son el tráfico , recordatorios y básicamente cualquier cosa que tenga una tarjeta de Google Now pues la idea es que no sea necesario para interactuar con esta interfaz de usuario:en su lugar, se actualiza automáticamente y hay una interfaz de búsqueda por voz abierto para cualquier cosa que se nos ocurra.

espejonew

A pesar de su apariencia Impresionante, Braun todavía lo llama  prototipo. Si nos fijamos en el interior del espejo,esta construido en base a un Amazon Fire TV Stick corriendo Android APK ,el cual gobierna el UI(Interfaz de Usuario).
Precisamente en este punto es donde encontramos más problemas, ya que no es lo mismo la información condensada en un smartphone o incluso una tablet, que información dividida y bien presentada  para poder leerse desde lejos: ahí es donde la FireTV y su interfaz para televisores encaja a la perfección

Además de eso dispone de cables para conectar los dispositivos, LED para mostrar avisos y un HDMI para la imagen. Los resultados son muy llamativos pues podemos ver todos los datos, el tiempo, las notificaciones… e incluso interactuar desde la distancia con nuestro móvil ya que podemos enviar información a la Fire TV.
El autor escribió la Interfaz de Usuario mediante unos pocos cientos de líneas de código y ademas  esta experimentando con diferentes dispositivos como Chromecast, reproductor Nexus, y recientemente Amazon TV Stick.

El espejo puede incluso escuchar sus preguntas con la función de búsqueda por voz en la Aplicación Móvil de Google.

Este es un proyecto increíble y esperamos ver más de estos  ya industrializados  en el próximo CES, pero mientras  haya productos  similares  en el mercado  se puede obtener un resultado muy  parecido al espejo de Braun  con los siguientes componentes:

  • Un smartphone o por dimensiones mejor una tableta Android  que ya no usemos ( por ejemplo porque se le haya roto el digitalizador)
  • Un espejo de dos direcciones
  • Papel negro,bolígrafo, tijeras, pegamento,adhesivos de doblecara, clavos,etc

 

HannahMitt en su proyecto de Github, y   EvanCohen     han obtenido resultados parecidos que resumimos ahora: ambos se basan en el  uso de  la aplicación de Mirror Home que deberemos instalar  en nuestro dispositivo Android.

Tras instalarla ,deberemos ajustar el brillo al máximo para que se vea claramente, eliminar el ahorro de energía  y  desinstalar  el resto de aplicaciones pues lo ideal es  mantener el dispositivo lo más ligero posible para consumir el mínimo.
pantala1
Esta app  le puede decir las  noticias, comprueba su estado de ánimo, y le muestra los cómics: todas esta información esta disponible mientras  usted comprueba su cabello o se afeita.Esta aplicación es inusual pues como hemos dicho esta pensada  para usarla  detrás de un espejo de acrílico de dos vías.

La información que muestra esta app :

  • Día, hora y pantalla de tiempo
  • Recomendaciones Ciclismo
  • Oscilaciones bursátiles
  • Mensajes edificantes sobre la base de sonrisas cara
  • XKCD de hoy
  • Siguiente evento del calendario
  • Top titular de la noticia

Atención ,muchas de las funciones están escritos para mostrar sólo hasta cuando son más relevantes.Si encuentra errores puede reportarlos  aqui ( el repositorio Github del proyecto)

pantala2  pantal3

Instalada esta app, debemos medir la tableta y en el papel negro recortamos para cubrir todo el tamaño del espejo excepto donde vaya el móvil o la tablet.  Enganche  ahora  el papel negro con el espejo, ajústelo y deje un tiempo para que se seque.

Coloque con pegamento un trozo de papel tres veces más gordo que la tableta en cada una de las esquinas del espejo. Ahora  puede colocar los adhesivos en la parte superior e inferior y presione para que quede compacto.

Introduzca la tableta Android justo en el hueco que queda y conéctelo para que no se apague rápidamente(con más cinta adhesiva podemos ocultar los cables.

Ya puede fijarlo a la  pared, vigilando no dañar el propio espejo.

Si tiene dudas en el siguiente vídeo podemos ver todo el proceso:

Por cierto para terminar , esta idea no es sólo válida  para el espejo del baño, también podría servir para los espejos de los ascensores, los espejos de los retrovisores ,etc ,

 

Fuente aqui