Raspberry Pi y Google Hangouts

Escrito por Ulises Gascón

Jan 26, 20155 min read

Como muchos ya sabéis estas pasadas vacaciones de navidad... Papa Noel y los Reyes Magos me regalaron una Raspberry Pi B+.

Una breve introduccion a Raspberry Pi.

Aunque tengo pensado hablar más en profundidad de la Raspberry Pi en próximas entradas, por el momento me gustaría añadir que frente a un ordenador convencional Raspberry Pi proporciona GPIOs accesibles y fácilmente programables. Lo que nos permite adentrarnos fácilmente en el mundo de la computación fisica o physical computing. Así que por fin nuestro código tendrá un impacto real y directo en el mundo a través de leds, sensores, motores, etc...

Si acabas de comprarte una Raspberry Pi o has decidido sacarla de la caja y ponerla a funcionar mientras lees esta interesante guía.. lo primero es ponerla a funcionar. Es decir, seguir estas fáciles instrucciones que se resumen en preparar tu tarjeta SD con Raspbian e instalarlo en tu Raspberry Pi

Si aun no te has comprado la Raspberry Pi te recomiendo que te compres un pack de los que ya incluye la raspberry Pi B+, breadboard, cables, leds, etc... ideal para empezar a hacer pruebas y ver tus resultados como programador fuera de la pantalla :-)

Qué puedo esperar de este Script?

Como una imagen video vale más que mil palabras, nadie mejor que Michael Mitchell para mostrarnos el potencial de su script.

Este Script originalmente diseñado por Demiao Lin y modificado posteriormente por Michael Mitchell, nos permite comunicarnos de manera fluida con nuestra Raspberry Pi a través de Google Hangouts. Es decir, nuestra Raspberry Pi estará conectada a hangout y estará esperando a que le demos ordenes a través del chat. Estas órdenes como vimos en el video son muy interesantes ya que nos permiten controlar nuestras raspberry pi desde cualquier dispositivo conectado a internet.

Mostrando la misma conversación desde varios clientes de mensajería

Como podéis ver en la imagen no solo desde cualquier ordenador, sino también desde un dispositivo android o Apple.

Veamos un poco más en detalle que nos ofrece:

  • Respuesta por defecto. En caso de mandar una orden que no comprende nos devolverá la hora y fecha.
  • Control de los pines. Puedes encender y apagar pines de varios modos.
  • Leer los pines. Puedes leer el estado de cualquier Pin.
  • Cambiar el estado en Gtalk. Puedes cambiar el estado e incluir un mensaje.
  • Comandos en consola. Si! como lo oyes.. puedes ejecutar comandos en la consola de la Raspberry Pi.

Puedes ver más detalles en el readme.md de github

Cómo lo instalo?

Todo irá a través de la terminal. Bienvenido al mundo de los programadores que se dejan barbas largas y hablan en idiomas raros, si es tu primera vez, no te asustes... aquí tienes mucha información gracias a DIY Makers.

1 Paso. Instalaremos Python 2.7

sudo apt-get install python-pip git-core python2.7-dev

2. Paso. Actualizaremos el indice de easy_install

sudo easy_install -U distribute
``

**3. Paso.** 
Instalaremos todos los módulos dependientes ( <a title="RPI.GPIO sitio oficial" href="http://sourceforge.net/projects/raspberry-gpio-python/" target="_blank">GPIO</a>, <a title="xmpppy sitio oficial" href="http://xmpppy.sourceforge.net/" target="_blank">xmpppy</a> y <a title="PyDns sitio oficial" href="http://pydns.sourceforge.net/" target="_blank">pydns</a>)
<blockquote><em>sudo pip install RPi.GPIO xmpppy pydns</em></blockquote>

**4 Paso.**
Clonaremos mi repositorio de GitHub. Ya están corregidos los errores con [TLS](https://github.com/UlisesGascon/raspi_gtalk_robot/commit/321309181ddd5adf421ad1d9a47cb6e2524938eb) y el [soporte para Hangout](href="https://github.com/UlisesGascon/raspi_gtalk_robot/commit/b49705311dcc6c86c9dfe9789db3507666707706) (gracias a Reinaldo Araújo.

```bash
git clone https://github.com/UlisesGascon/raspi_gtalk_robot.git

5 Paso. Entramos en la nueva carpeta

cd raspi_gtalk_robot

6 Paso. Editaremos nuestros detalles en el archivo de configuración. Si necesitas ayuda con el editor de la consola, te recomiendo este manual de PlanetUbuntu.

sudo nano raspiBot.py

7 Paso.Buscaremos (BOT_GTALK_USER, BOT_GTALK_PASS, y BOT_ADMIN) en las líneas 31-33. Una vez editadas con los datos adecuados, guardamos los cambios.

Captura de pantalla mostrando donde deben ir las variables globales

8 último paso. Ejecutaremos nuestro escript.

sudo python ./raspiBot.py

En solo 8 pasos ya estamos hablando con nuestra Raspberry Pi. Seguro que ya le estás viendo el potencial, pero si no es así... aquí te dejo algunas...

Algunas ideas

  • Información útil. Imaginate que con nuevos comandos podrías recibir información sobre el tiempo meteorológico o la diferencia horaria con algún país.

  • Monitorización Gracias a la consola podemos averiguar detalles sobre nuestra Raspberry Pi en tiempo real como temperatura, procesos abiertos,etc..

  • Asistente personal Podrías desarrollar funciones nuevas que incluyan la monitorización del calendario o el email, la posibilidad de crear nuevos contactos...

Como puedo contribuir?

Si llegados a este punto aun tienes ganas de más! Bienvenido seas... cuando hablamos de Raspberry Pi es necesario hablar de la una comunidad de desarrolladores y usuarios que a diario comparten sus códigos para el bien de todos. Si quIeres contribuir puedes hacer un fork del proyecto o contactarme via twitter y te añado como contributor en GitHub.

Este proyecto está desarrollado íntegramente en python, te animo a subirte a este carro tan maravilloso, si aun estas buscando un buen punto por dónde empezar te recomiendo Aprenda A Programar Con Python de Zed A. Shaw o Python para principiantes de Eugenia Bahit que además esta bajo una licencia Creative Commons.

Expertos Mencionados | Michael Mitchell, Eugenia Bahit, Zed A. Shaw

Referencias | Raspberry Pi Google Talk Robot by Michael Mitchell

Imágenes | Iconfinder, imgur y propias

Codigo fuente | Github