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:

Sobre la nueva versión de Spotify

8 de mayo de 2014

Spotify Logo

Hace algunas semanas la compañía sueca lanzó una nueva versión de mi reproductor de música favorito, Spotify, que se ha convertido en una de las aplicaciones que más uso, tanto en escritorio como en el móvil.
Han sido prácticamente todos los blogs de tecnología los que comentaron las novedades que traía esta nueva versión. Sin embargo, más allá del nuevo diseño y del nuevo color negro, que están muy bien, hay algunos detalles relevantes de los que no todos se percataron, así que voy a comentarlos por aquí porque me parecen bastante interesantes.

Tu música sustituye a la biblioteca

Your Music Spotify
Sección Tu música en Android

Una de las novedades del nuevo Spotify es la inclusión de una nueva sección llamada Tu música. Sustituye a la antigua biblioteca pero funciona de un modo un tanto diferente, ya que en lugar de contener todas las canciones que estén en alguna de tus listas de reproducción o en tus archivos locales, contendrá solamente lo que agregues de forma manual.

De esta forma, si hay algún disco que te ha gustado podrás “conservarlo” añadiéndolo a Tu música. Me parece una buena idea para aquellos que, como yo, tenían más de 200 listas de reproducción, la mayoría de las cuales eran listas que contenían solamente un álbum de un artista determinado. Me parece una buena manera de seguir promoviendo el concepto de álbum. A mí también me gustan las listas de reproducción con canciones sueltas, pero sigo queriendo disfrutar de los discos como conjunto.

Sin duda, la mejor manera de sacar provecho de esta nueva funcionalidad es tener, por un lado, los álbumes que quieras volver a escuchar en la sección Tu música, y por otro, listas de reproducción con recopilaciones de música, de manera que la sección Tu música no se ensucie con artistas que contienen una sola canción o dos.

El nuevo Spotify margina la sección de canciones favoritas

Spotify Agregar Biblioteca
Todas estas canciones están en Tu música, qué util…

Y esta es la gran pega. Aunque la sección Destacadas (o Starred) continúa estando en las cuentas de los usuarios de Spotify, alguien en la compañía pensó que había que darle uso a la nueva sección Tu música y sustituyó el botón con forma de estrella por un botón para agregar las canciones a Tú música, convirtiendo la lista de favoritas, a afectos prácticos, en una lista de reproducción como cualquier otra donde para añadir nuevas canciones tienes que arrastrarlas a la lista o, en el caso de la versión móvil, navegar a través de los menús contextuales para añadirla a tu lista de favoritas.

Y yo me pregunto: ¿qué sentido tiene añadir canciones sueltas a la sección Tu música? Se convertirían en canciones perdidas entre todos los temas de todos los álbumes que tengas ahí. Lo más razonable sería mantener el botón estrella a lado de las canciones. De hecho, ya hay un hilo en el foro de Spotify con quejas de esto que comento.

Spotify se aleja de Facebook

Spotify Following
Ahora puedes seguir a tus artistas favoritos

Hace algunos años se anunció una alianza entre Spotify y Facebook que se materializó con sucesivas versiones de Spotify en las que la aplicación iba integrándose más y más con la red social de Zuckerberg.
Era un poco molesto, pues todo el componente social iba a través de Facebook e incluso hubo un momento en que las canciones que enviabas a tus amigos de Spotify a través del reproductor llegaban a la sección Mensajes de sus cuentas de Facebook.
Esta nueva versión de Spotify da un paso en lo social, permitiendo no solamente publicar comentarios sobre la música que escuchas en las noticias del reproductor (barra lateral derecha del reproductor), sino que también vuelve a tener una sección Mensajes independiente de Facebook con la que puedes compartir canciones, álbumes y listas con tus amigos, además de conversar con ellos. Puede que sea solamente una impresión mía, pero parece que Spotify aspira a tener su propia red social independiente. De hecho, desde hace tiempo puedes seguir las novedades no solamente de tus contactos, sino también de tus artistas favoritos al estilo de Twitter, con listas de seguidores.
Este punto es muy importante, al menos para mí, pues lo que diferencia Spotify del resto de servicios de música en streaming es precisamente la base de usuarios que adquirió en sus primeros momentos y la posibilidad de enviar y recibir recomendaciones a y de estos usuarios. Por muy avanzados que estén los sistemas de recomendación automática (que no lo están), no hay nada como un amigo que te envía una canción o un disco nuevo.

Mucho camino por recorrer

En resumidas cuentas, Spotify sigue creciendo tanto en catálogo musical (artistas como Led Zeppelin o Pink Floyd, que eran reacios a entrar en este nuevo modelo de negocio, terminaron por incorporarse después) como en comunidad, así como mejorando sus aplicaciones y las posibilidades que ofrece a sus clientes. También, y quizás presionada por la creciente competencia, la compañía ha empezado a dar acceso gratuito a su versión móvil, aunque con algunas limitaciones.
No obstante, todavía tiene mucho margen de mejora. Como usuario intensivo del servicio, espero que sigan sorprendiéndonos.

Descarga automática de contenidos: SickBeard y CouchPotato

10 de enero de 2014

Hace algunos meses escribía una anotación sobre Usenet, un sistema antiguo de intercambio de mensajes que se había reciclado permitiendo el intercambio de ficheros y cuyo funcionamiento tenía algunas ventajas frente a BitTorrent, con el cifrado de las transferencias como la más destacada de ellas.
Hoy os traigo un par de aplicaciones que van más allá. Sus nombres son SickBeard, para series de televisión, y CouchPotato, para películas. Ambas sirven para permitirte descargar nuevos contenidos de una manera automática y son capaces de rastrear tus comunidades Usenet en busca de ellos, pero también son compatibles con BitTorrent.

SickBeard

Sickbeard Logo

Si eres de los que sigues varias series de televisión al ritmo de emisión de Estados Unidos o Inglaterra, bien porque no quieres esperar o bien porque prefieres la versión original, SickBeard te ayudará. Una vez instalada, puedes acceder a la aplicación a través del navegador, que mostrará una interfaz web para gestionar las series a las que estás suscrito. Simplemente añade la serie que quieras, la calidad e idioma del fichero y dónde quieres guardarla, y Sickbeard se encargará del resto, buscando nuevos episodios a través de tus comunidades Usenet o torrent. Una vez encontrados, utilizará tu cliente de Usenet o Bitorrent de tu sistema para de descargarlos automáticamente, y finalmente los renombrará y colocará en la carpeta indicada.

Sickbeard Screen
Interfaz de SickBeard

CouchPotato

Couchpotato

CouchPotato es muy similar a SickBeard, pero para películas. ¿Te ha gustado el trailer de alguna película y quieres descargarla cuando esté disponible? Sólo tienes que agregarla a tu WantedList de CouchPotato, y el programa se encargará de comprobar periódicamente si la película ha sido ya lanzada en la calidad que le indicaste, para a continuación lanzar la orden a tu cliente de descargas.
Además, CouchPotato viene de la mano de una extensión para el navegador que incrustará un botón en webs como IMDB para agregar películas a tu lista de una manera más cómoda y fácil.

Couchpotato Screenshot
Interfaz de CouchPotato

Extra: Couch Forwarder, aplicación en Android para controlar estos programas de manera remota.

Usando Usenet para descargar contenidos

18 de marzo de 2013

Esta semana pasada se dio a conocer el borrador de la llamada Ley Lassalle, que pretende ser aprobada en España como respuesta a la inserción del país en la lista de países piratas, lista elaborada por la MPAA estadounidense y usada por este lobby para presionar a los correspondientes gobiernos. De hecho, la última vez que España estuvo en esta lista se acabó aprobando la Ley Sinde.

Home Taping
Los cassetes piratas están matando la música…

No quiero expandirme demasiado con detalles, así que resumiré la ley como la eliminación del derecho de la copia privada. Así es, con esta nueva ley el concepto de copia privada se limita tanto que equivaldrá al concepto de copia de seguridad: Sólo podrás copiar algo si posees el original y si ese original que tienes lo has comprado.

Como los que están del otro lado apoyando la difusión libre de contenido siempre van varios pasos por delante de los que legislan estas leyes, hace tiempo que diferentes comunidades han venido desarrollando sistemas de distribución de ficheros enfocados a un mayor anonimato y seguridad, de forma que sea más difícil saber si un usuario conectado a la red está descargando un disco, una distribución GNU/Linux o simplemente está realizando una videoconferencia.
Por otro lado, los sistemas de intercambio distribuidos son mucho más difíciles de derribar. La historia nos dice que servicios como Napster, AudioGalaxy o Megaupload cayeron porque había un servidor o sistema central al que denunciar, acosar, amenazar… Sin embargo, sistemas descentralizados como la red eDonkey o bitorrent siguen aguantando después de muchos años.

Usenet servers and clients
Servidores y clientes Usenet

Hoy venía a hablarles de otro método que se sustenta en el concepto de sistema distribuido y que además añade una capa de seguridad extra. Sorprendentemente, la tecnología usada es tan vieja como lo son los antiguos grupos de noticias, los newsgroups aquellos que podíamos encontrar en clientes de correo antiguos y que ahora ya solamente usan grupos muy específicos de usuarios, normalmente desarrolladores. La red Usenet, formada por una red distribuida de servidores que replican la información de los grupos de noticias a nivel mundial, fue creada en su origen para transmitir texto (mensajes).
Sin embargo también es posible transmitir ficheros binarios, por lo se ha ido convirtiendo en un caldo de cultivo excelente para numerosas páginas web que indexan y ordenan estos contenidos, que vienen a ser algo parecido a los trackers de torrents pero en los que descargas ficheros con extensión .nzb que contienen las direcciones de todas las partes del fichero a descargar.

La diferencia fundamental entre este sistema y los sistemas p2p usados para descargar contenidos es que Usenet es distribuido en los servidores, no entre los clientes, por lo que se dan algunas diferencias con respecto al p2p clásico:

  • Necesitas conectar a uno de los servidores Usenet con tu cliente de Usenet para descargar estos contenidos.
  • Hay muchos servidores Usenet gratuitos por ahí, pero casi todos los servidores gratuitos tienen vetados los mensajes binarios, por lo que si quieres descargar binarios deberás elegir entre alguno de los servidores de pago. Puedes conseguir servidores desde 3 ó 4 euros mensuales, dependiendo de la velocidad que quieras contratar, que suelen ir desde los 2 Mb/s a conexiones de 100 Mb/s.
  • El estar conectado a un servidor en lugar de hacerlo a otros usuarios tiene también sus ventajas. La mayoría de estos servidores te permiten conectar a través de SSL, por lo que nadie sabrá lo que estás descargando. Por otro lado, la velocidad de bajada suele ser constante y no en función de la cantidad de gente que tenga el fichero. Si contratas 10 Mb/s tendrás 10 Mb/s de bajada (casi siempre).
  • Aunque antes un servidor Usenet podía replicar todo el contenido mundial hasta la fecha, con los binarios esto se hace imposible, así que cada servidor ofrece una retención, que suele ser lo publicado en los últimos 1000 días, depende del servidor.
Binreader
Uno de los clientes Usenet más famosos, Binreader

Podéis encontrar más información en UsenetReviewz, así como listas de los mejores proveedores de Usenet, de los mejores trackers para buscar ficheros y también también los mejores clientes para descargar de Usenet.

    Enlaces...

  • Esta tarde estaba viendo un episodio de The Big Bang Theory y durante los anuncios pusieron un anuncio de Google Chrome. Me ha parecido divertido. # (0)