Enviar y recibir mensajes de WhatsApp con Raspberry Pi

By Tutoriales Raspberry Pi, With 29 comments

En otro artículo de este blog vimos como montar una cámara de seguridad con Raspberry Pi. La cámara tomaba fotografías y las podíamos consultar desde cualquier punto del planeta siempre y cuando contemos con una conexión a internet, pero imaginar que además nos pudiese avisar por WhatsApp de que ha detectado un intruso…   seria genial, verdad?.

Yowsup es una libreria que permite interactuar con los servidores de WhatsApp para enviar y recibir mensajes con nuestra Raspberry Pi. Veamos a continuación como instalar y utilizar esta librería.

Instalación de Yowsup

El primer paso será actualizar el sistema de la Raspberry Pi con estos comandos:

Tardará un buen rato así que os podeis ir a tomar una cañita mientras, :D… Cuando acabe instalamos Python Dateutil con este comando:

Ahora debemos descargar la librería Yowsup desde GitHub, podemos hacerlo descargando el paquete desde AQUI y subiéndolo a nuestra Raspberry o con este comando en la consola:

Si optais por descargar el fichero y subirlo manualmente teneis que descomprimir el ZIP y subir la carpeta “yowsup-master” a vuestra Raspberry Pi.

Registrando el número de teléfono

Como ya sabeis el uso de WhatsApp requiere de un número de teléfono, podeis usar cualquier número de móvil o conseguir uno virtual en FonYou. Recordad que hay que validarlo con un mensaje o una llamada asi que no vale inventárselo. Una vez tengas un número válido donde puedas recibir llamadas o SMS introducimos este comando en consola para ir a la siguiente ruta:

Tenemos que editar el archivo “config.example” para colocar nuestro número de móvil asi que introducimos este comando:

En la cabecera del archivo viene explicado donde irá cada dato, pero nos debería quedar asi:

CC” es el prefijo telefónico del pais donde vives, en el caso de España es 34, Francia 33,…
PHONE” es el prefijo CC + el número de teléfono, de ejemplo he puesto 645777888.
ID” lo dejamos vacío.
PASSWORD” lo dejamos vacío también (de momento).

Una vez editado guardamos el archivo. Ahora vamos a la consola y registramos nuestro número en WhatsApp con cualquiera de estos comandos, el que os guste más:

Nota: Si aparece un error por tener una versión vieja, tendremos que abrir este archivo src/Yowsup/Common/constants.py y editar esto.

Tenemos que esperar a que nos llegue el código de registro que tendra un formato numérico XXX-XXX. Cuando nos llegue procedemos a ejecutar este comando para que nos llegue nuestro password:

La consola nos devolverá algunos valores entre los cuales está PW. Apuntamos este valor y lo copiamos al archivo “config.example” en el apartado password y listo, ahora ya podemos enviar y recibir mensajes de WhatsApp con Raspberry Pi.

Enviando y recibiendo mensajes

Yowsup-cli es una pequeña aplicación en Python que nos ofrece la posibilidad de mandar y recibir mensajes de WhatsApp desde la consola, además es muy fácil de usar, veamos unos ejemplos:

Mandar un mensaje a un número:

Usamos -w para esperar a que el mensaje se envíe antes de salir y -s para indicar que lo que queremos es enviar un mensaje. Al ejecutar este comando la consola nos devuelve:

Recibir todos los mensajes pendientes:

Usamos -k para mantener la conexión con el servidor y -a para marcar como leidos los mensajes, asi no nos volverán a llegar. Podeis ver un listado completo de las funciones de la aplicación AQUI.

Charla interactiva con un número :

Envío de mensajes con Python

Este es un pequeño script para el envío de mensajes con Python:

Nuestro script debe ubicarse en  “/yowsup-master/src/”. Una vez creado nuestro archivo en esta ubicación copiamos el código anterior.

Te ha gustado este artículo?, déjame un +1 o un like!! :O