Menú

Controla tu Wemo con la voz desde Android

12 de julio de 2014

Wemo

Hace un par de meses me regalaron un enchufe Wemo. Para quien no los conozca, Wemo es una gama de dispositivos de Belkin que vienen con una tarjeta de red y la capacidad de conectarlos al router de tu casa, de forma que puedes controlarlos (activarlos o desactivarlos) de forma remota y, por ende, controlar lo que conectes a ellos.

Aunque la idea inicial es bastante alentadora, lo cierto es que la aplicación para Android de Wemo deja mucho que desear, entre otras cosas porque tarda unos 10 segundos en abrirse y carece de cualquier tipo de widget para tener tu interruptor a mano, por lo que tardas menos en levantarte y activarlo a través del botón físico del dispositivo que hacerlo a través del móvil.

Sin embargo, estos gadgets también han generado una comunidad alrededor que llevan un tiempo desarrollando librerías y aplicaciones no oficiales que permiten sacarle todo el partido que tienen. Con la ayuda de algunas aplicaciones me he montado un pequeño sistema para controlar mi dispositivo Wemo con la voz (en realidad mi idea es tener al menos 4 para controlar todas las lámparas de mi salón). Por si a alguien le sirviera en el futuro, detallo a continuación cómo hacerlo.

Móntate un servidor en tu casa con Ouimeaux

Aunque hay otras soluciones mucho más sencillas (como la que proponen aquí usando la app ITTT), es cierto que hacer uso de aplicaciones web externas enlentece un proceso que, si de verdad queremos que sea cómodo de usar, debería ser casi inmediato.
Por eso he decidido instalarme la aplicación Ouimeaux en mi ordenador local para hacer uso del servidor que trae de serie con el que podrás controlar tus dispositivos Wemo. Ouimeaux está escrito en Python y en teoría es tan fácil de instalar como hacer un

$ pip install ouimeaux

o un

$ easy_install ouimeaux

Sin embargo Ouimeaux hace uso de algunos módulos (gevent y greenlet) que en mi caso tuve que compilar porque no encontraba binarios para Mac OS (en estos momentos es cuando más se echa de menos una buena Debian con sus buenos repositorios).
Una vez instalado, Ouimeaux te ofrece, entre muchas otras cosas, un servidor web que puedes ejecutar desde consola con

$ wemo server

Ouimeaux web
Ouimeaux desde un iPhone

Este servidor web puede ser accedido desde cualquier navegador web de cualquier dispositivo conectado a tu router, tan solo escribiendo en la barra de direcciones la dirección interna y puerto de tu servidor. Una vez accedes, una web muestra un interruptor por cada dispositivo wemo conectado a tu red y la posibilidad de activar o desactivar cualquiera de ellos con tan sólo una pulsación.
Sin embargo, la característica más atractiva de Ouimeaux para mi propósito es que su servidor web incluye una API REST que nos permitirá activar o desactivar un dispositivo con una sóla petición POST, de manera que escribiendo en consola

$ curl -X POST http://IP:PUERTO/api/device/LAMPARA?state=on

podrías encender el dispositivo llamado LAMPARA realizando la petición a tu servidor IP a través del puerto PUERTO. Ya sólo tenemos que configurar nuestro móvil Android para hacer esta llamada de una manera cómoda.

Tasker, Xposed y Sl4a para Android, tus mejores amigos

Tasker Logo

Para conseguir activar y desactivar el dispositivo Wemo de forma fácil y rápida con el móvil, he echado mano de un buen puñado de herramientas.

La principal de ellas se llama Tasker, que es una app para Android para automatizar la ejecución de listas de tareas (tasks) cuando se den una serie de condiciones. Por ejemplo, podrías configurar la app para que cuando tu móvil se conecte al bluetooth del coche, se encienda el gps, se apague el wifi, se ejecute Spotify, etc etc.

Tasker
Profiles en Tasker

Las posibilidades de Tasker son infinitas, pues además admite multitud de plugins. No voy a entrar mucho más en detalles, entre otras cosas porque el mundo de Tasker da para otro artículo completo. Si quieres más información, échale un vistazo a la comunidad de Google + de Tasker y te sorprenderás de lo que esta app puede llegar a hacer.

Para lo que yo he utilizado Tasker es para crear un perfil (condición) consistente en un comando de voz, de forma que cuando se capture el comando “light“, se ejecute una tarea a la que he llamado Toggle Light. Como Tasker no tiene reconocimiento de voz de manera nativa, he hecho uso de Autovoice, otra app que sirve de plugin y que te permite personalizar el comando de voz que quieres que dispare el perfil. Además, para la integración con Google Now (y así poder usar el comando desde el propio Google Search) he instalado un módulo de Xposed Framework llamado Google Search API.
El siguiente videotutorial explica (mejor que yo) cómo hacer que se dispare la tarea que quieras con un comando de voz.

Para crear la tarea que Tasker debe ejecutar cuando se dispare la condición he tirado de otro par de herramientas:

  • Por un lado, necesitamos la habilidad de ejecutar shell scripts con Tasker. Sl4a (Script Layer for Android) es una app para Android que permite ejecutar scripts escritos en un puñado de lenguajes. Además, también incluye un plugin para Tasker.
  • Android no trae de serie el comando CURL. Sin embargo, hay una versión en binario para Android de CURL que puedes descargar desde la página oficial. Sólo tienes que colocarlo en /System/bin y darle permisos de ejecución con cualquier consola para Android.

Con estas dos herramientas, ya sólo tenemos que crear un fichero .sh y meterlo en la carpeta /sdcard/sl4a. El contenido de este script será la llamada al servidor web que configuramos anteriormente. Por ejemplo:

#!/bin/bash
curl -X POST http://192.168.1.2:9595/api/device/LAMPARA?state=toggle

El script a ejecutar podría incluso utilizar ssh para ejecutar el comando curl desde una sesión remota, una cosa así:

#!/bin/bash
ssh -i id_rsa_name usuario@192.168.1.2:9595
'curl -X POST http://localhost:9595/api/device/LAMPARA?state=toggle'

De esta forma podríamos hacer uso del cortafuegos de nuestra máquina y sólo permitir el acceso a través de ssh. Habría que crearse las claves privada y pública previamente, claro está.

Por último ya sólo tenemos que crearnos una tarea en Tasker, la llamada Toggle Light que ejecute el script. Aquí tenéis una grabación de pantalla de cómo crear una tarea que ejecute un script en Tasker.

Un pequeño ejemplo en acción

Aunque yo sólo he usado una lámpara como ejemplo, la potencia de Tasker combinada con Wemo y otras herramientas podría servir, por ejemplo, para “apagar las luces, encender el Home Cinema y la TV, poner el móvil en silencio, ejecutar XBMC y reproducir el último episodio de tu serie favorita” con tan sólo decir “Play the last episode of Game Of Thrones”. Como dije antes, las posibilidades son infinitas.

Mas información:

Mi primer Android con el Sony Ericsson Xperia X10

5 de diciembre de 2010

Sony Ericsson Xperia x10 White
Hace algunas semanas Sergio y yo ganamos el campeonato de futbolín que organizaba Sony Ericsson en su stand del Evento Blog 2010. Ya sabéis que siempre me ha encantado el futbolín, y aunque no soy profesional ni mucho menos, era más que posible que, en un congreso sobre redes sociales con 2000 personas que iban allí a otra cosa, pudiera al menos clasificarme hasta la final.
El caso es que a los ganadores nos regalaron un Sony Ericsson Xperia X10 y de esta manera he podido empezar a usar Android, el sistema operativo de Google para móviles que pretende desbancar al iPhone en el mercado de los Smartphones.

ImgresNunca tuve un Smartphone, pero sí que he toqueteado bastante algunos iTouchs y conozco el funcionamiento de iOS. Reconozco que el teléfono de Apple es un producto con mejores prestaciones que el mío (es normal, lleva más tiempo en el mercado), ya sea por el hardware, donde tanto la pantalla como la batería, por poner algunos ejemplos, son de mejor calidad; ya sea por el software, pues mi versión de Android 2.1 que viene con el teléfono aún no va tan fluida como debería.

Pero no quiero entrar en debates ni comparativas de Android con el iPhone, entre otras cosas porque estaríamos comparando un sistema operativo en sus diferentes versiones modificadas por fabricantes de muchos terminales distintos con un único sistema operativo instalado en un único terminal controlado por una misma empresa. En vez de eso, me he hecho una lista de observaciones sobre detalles que me han encantado de mi movil (o de Android en general) y una lista de defectos que le veo y me gustaría que fuesen mejorando en próximas actualizaciones.

Aspectos positivos

Terminales con tarjetas microSD
Con Android puedes tener una tarjeta SD en tu móvil donde guardar tus datos, por lo que la capacidad de tu terminal depende de la tarjeta que le pongas. El Sony Ericsson X10 permite tarjetas de hasta 32 GB, aunque la que trae es de 8GB.
La mejor consecuencia de esto es que puedes transmitir datos desde tu teléfono a cualquier ordenador (y al contrario) con tan sólo conectarlo por USB (incluso por Wifi con el software adecuado) y sin necesidad de ninguna aplicación: La tarjeta SD se monta en cualquier sistema operativo como una unidad externa y nada más. Por ejemplo, si quieres copiar un disco para escucharlo en tu móvil sólo tienes que arrastrarlo a la carpeta música de la tarjeta. Adios a iTunes y programas similares.

Market
Multitud de aplicaciones.
Hay tantas magníficas aplicaciones con tantas funcionalidades diferentes que seguramente dedique un artículo con mis favoritas. Con el Market, una tienda de aplicaciones para Android, puedes encontrar programas para casi cualquier necesidad. Es la principal diferencia entre un Smartphone y un Nokia con Symbian. Las posibilidades son ilimitadas.

Sincronización de contactos con Google
La comodidad que da tener tus contactos sincronizados con tu cuenta de Google es impagable. Antes, cuando cambiaba de móvil tenía que preocuparme de pasar los contactos de un teléfono a otro, de hacer copias a la tarjeta sim por si el teléfono cascaba o de agregar un email que había apuntado en el movil a mis contactos del correo. Ahora utilizo los mismos contactos con el teléfono o al mandar un email en el pc.

Batería aceptable
No puedo quejarme de la batería del Sony Ericsson X10. Dándole un uso intensivo me dura todo el día. Con un uso discreto dura varios. Que pueda despreocuparme de este aspecto es un punto a favor.

Graba video en 720p
El Sony Ericsson Xperia X10 es capaz de grabar vídeo en alta resolución. Aunque sea un extra, es algo a tener muy en cuenta si te gusta tener la posibilidad de conservar cualquier momento de tu vida.Barra Notificaciones

Barra de notificaciones
Brillante. La barra de notificaciones de Android es quizás su mejor funcionalidad. Es una manera ordenada de llevar el control sobre los cambios que ocurren en tus aplicaciones abiertas.

Aspectos a mejorar

Gestor de aplicaciones nativo
Hay muchas herramientas en el market para controlar las aplicaciones ejecutándose en el movil, pero a estas alturas Android debería tener un gestor nativo asociado a un botón o combinación de acciones para poder acceder o cerrar procesos rápidamente. De igual modo debería traer una forma de controlar qué servicios se ejecutan al encender el móvil.

Android 2.1
No sé si es un problema de los terminales que he probado, pero Android 2.1 no va todo lo fluido que debería. La pantalla táctil tarda en responder a los toques y gestos de arrastre. Tengo entendido que el rendimiento de Android 2.2 es bastante mayor y espero impaciente una actualización en el X10 (los rumores dicen que para el segundo trimestre de 2011).

Aplicaciones muy verdes. Market con fakes.
El Market tiene ventajas con respecto a la App Store de Apple, es mucho más permisiva para los desarrolladores, ponen menos pegas para publicar una aplicación. Pero eso ha hecho que la tienda se haya llenado de aplicaciones defectuosas y de fakes, y eso no es bueno para la plataforma.

Navigation necesita conexion de datos
Como me dijo Sergio, el mundo no es tan bonito como Google cree que es (de momento). El navegador GPS de Google es una pasada, pero al utilizar google maps, necesita ir descargando los mapas conforme los necesita. Con las conexiones de datos que se ofrecen en España no sé si es muy adecuado usarla.

Software de actualicacion del X10
Actualizando el X10 el programa de Sony Ericsson cascó. Y lo hizo una y otra vez durante toda una tarde. Sospecho que el programa de actualización utiliza la conexion a internet durante todo el proceso, y si la conexión falla, la actualización falla y tienes que restaurar el teléfono. Además, sólo puedes actualizar en Windows.

Dependencia del fabricante para actualizar SO
Hace meses que salió Android 2.2 y sin embargo Sony no sacará una actualización hasta el año que viene. El hecho de que cada marca modifique Android para sus propios terminales hace que al final de cuentas sigas dependiendo del fabricante de tu teléfono. No he probado Roms ni a rootear el teléfono, pero por lo que leo no es muy recomendado.

Falta de Ram
No sé en cuántos terminales Android pasa, pero cuando abro muchas aplicaciones el teléfono empieza a ralentizarse. Puede ser debido a la falta de Ram o puede ser debido a una mala gestión de la memoria.

Antena Wi-fi con poca potencia
El gestor de conexiones no conecta a la primera muchas veces debido a que la antena no tiene demasiada potencia.

No tiene multitouch
Ya hay un comunicado oficial de Sony Ericsson que dice que en Marzo una actualización activará el multitouch. Pero por ahora toca usar los botones de zoom.

Aplicaciones de fábrica
No me gustan ni las aplicaciones Moxier, ni MediaScape y TimeScape, todas ellas aplicaciones que el Sony Ericsson X10 trae de fábrica y que no permite desinstalar, y todas ellas aplicaciones que de vez en cuando se autoejecutan y consumen Ram.

No trae flash
No al menos de manera oficial. El X10 carece de flash, aunque tampoco me importa demasiado. De hecho, aún no lo he necesitado.

Cámara de fotos
El X10 presume de tener una cámara de 8 megapíxeles, pero eso sólo significa que echa fotos grandes. Hay comparativas del X10 con el HTC Legend donde se puede ver que los megapíxeles es lo de menos.

El peligro de las patentes informáticas (Richard Stallman)

5 de marzo de 2009

Richard Stallman Posando

Y el gurú llegó a Imaginática. El hombre más relevante del mundo del software libre y creador del sistema GNU, que junto con el kernel Linux de Torvalds se publicó con el nombre de GNU/Linux también tuvo cabida en Imaginática. Y no dejó indiferente a nadie.
Aunque la conferencia en principio trataba sobre lo malotas que son las patentes del software, al final derivó en lo que debía, en su charla sobre lo que es el software libre a nivel técnico y ético, lo bueno que resultaría que el software fuera libre y lo pernicioso que es la existencia del software propietario (en ese punto yo guardé el mac).

Pero no me apetece hablar de las 4 libertades del software libre, que por cierto, que la primera regla sea la regla 0 dice mucho de cómo funciona el cerebro de este hombre. Creo que la mejor definición de software libre la escuché en el Documental Código Linux que os dejo a continuación. Mirad al menos el principio, porque en él Stallman desvela también los intereses ocultos de las patentes del software:

Sant GnunacioPero la conferencia no fue para nada aburrida porque venía con algunas sorpresas, como la de San IGNUcio (click en la foto para ampliar), personaje representativo de la iglesia de Emacs, un grupo de programadores que adoran y rezan por su dios-editor Emacs.
También hubo una subasta de un libro, pegatinas revolucionarias que él siempre lleva a sus charlas y una ronda de preguntas un poco peculiar. En definitiva, un personaje bastante radical pero con unas ideas muy claras y con la razón de su parte.

Nota: Gracias a Brero por las imágenes.

The IT Crowd – 3×06 – Calendar Geeks

31 de diciembre de 2008

Itcrowd 3x 06
¡Hola amigos! Perdonad mi retraso, pero estoy de vacaciones y no he tenido tiempo de coger el ordenador. Hoy es un día triste. The IT Crowd, nuestra serie geek favorita nos abandona, quién sabe si hasta el año que viene. La cuestión es que el último episodio de la tercera temporada, el sexto, se emitió el viernes pasado. Yo aún no lo he visto, pero lo haré en cuanto pueda. Y bueno, sólo me queda despedir esta temporada dando las gracias a todos los usuarios de Subtítulos.es que han colaborado traduciendo cada semana los subtítulos en inglés. Es una labor muy importante la que hace tanta gente de manera desinteresada para hacernos reir con cada episodio. ¡Gracias a ellos!

The IT Crowd – s03e06 – Calendar Geeks

Descargar Episodio The IT Crowd – 3×06 – Calendar Geeks
Descargar Subtítulos The IT Crowd – 3×06 – Calendar Geeks

The IT Crowd – 3×05 – Friendface

20 de diciembre de 2008

Itcrowd 3x 05
Como ya preveíamos muchos, la temporada tercera mejora capítulo a capítulo, y aunque ya se va terminando, otra vez han conseguido que nos riamos con nuestros informáticos favoritos. Esta semana, como ya es costumbre en toda esta temporada, hay que brindar por nuestros amigos de Subtítulos.es por traducir el episodio y a SeriesGringas.org por subir el vídeo.

The IT Crowd – s03e05 – Friendface

Descargar Episodio The IT Crowd – 3×05 – Friendface
Descargar Subtítulos The IT Crowd – 3×05 – Friendface