Twitteando desde el BeagleBone

En artículos anteriores hemos visto como conectar sensores a nuestras «cosas» y como enviar los datos que estamos sensando a un repositorio de datos central, que puede ser una base de datos o un simple archivo de texto. El fin último de nuestras cosas es que compartan información y se comuniquen entre si.

En este artículo veremos como enviar datos a la red social twitter, ¿por qué twitter? la red de microblogin nos permite enviar datos rápidamente a personas y esta información puede distribuirse por medio de la red en forma viral.

La gran restricción (o ventaja en este caso) es que nuestras cosas deben conversar vía «línea de comandos» ya que siempre ejecutan scripts en distintos lenguajes, la idea es usar una aplicación que se pueda utilizar mediante una «llamada a sistema» (en programación una llamada a sistema permite ejecutar aplicaciones que estan dentro del sistema operativo del equipo, estas llamadas siempre son mediante comandos).

Buscando en Internet encontramos la aplicación Twidge escrita por John Goerzen que cumple con todo lo que necesitamos, una aplicación que twittea desde la línea de comandos y es capaz de leer estados de tus followers, mandar mensajes directos y básicamente todo lo que puedes hacer con twitter desde las aplicaciones mas conocidas.

Materiales

  • 1 BeagleBone con Ubuntu 12.04 (aunque para estos efectos cualquier Linux debería servir)
  • 2 Conexión a Internet

Instalación y configuración de Twidge

Como ya hemos visto, utilizaremos apt-get para instalar, recordar que apt-get necesita permisos de super usuario, por lo cual pedirá la contraseña.

ubuntu@omap:~$ sudo apt-get install twidge
[sudo] password for ubuntu:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libgmp10
The following NEW packages will be installed:
  libgmp10 twidge
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,995 kB of archives.
After this operation, 13.4 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://ports.ubuntu.com/ubuntu-ports/ precise/main libgmp10 armhf 2:5.0.2+dfsg-2ubuntu1 [190 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports/ precise/universe twidge armhf 1.0.8.1+nmu1 [2,806 kB]
Fetched 2,995 kB in 11s (255 kB/s)
Selecting previously unselected package libgmp10.
(Reading database ... 15436 files and directories currently installed.)
Unpacking libgmp10 (from .../libgmp10_2%3a5.0.2+dfsg-2ubuntu1_armhf.deb) ...
Selecting previously unselected package twidge.
Unpacking twidge (from .../twidge_1.0.8.1+nmu1_armhf.deb) ...
Setting up libgmp10 (2:5.0.2+dfsg-2ubuntu1) ...
Setting up twidge (1.0.8.1+nmu1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
ubuntu@omap:~$

Una vez instalado debemos configurarlo, para esto se ejecuta twidge setup, cuando e ejecuta el setup, entrega una URL la cual debe ser copiada en un navegador, esta URL permite dar autorización de uso de la API de twitter a la aplicación Twidge instalada en tu equipo. Al ingresar a la URL debes «Autorizar» y se asignará un número que debes ingresar en la configuración de Twidge

ubuntu@omap:~$ twidge setup

Welcome to twidge.  We will now configure twidge for your
use with Twitter (or a similar service).  This will be quick and easy!

Please wait a moment while I query the server...

OK, next I need you to authorize Twidge to access your account.
Please cut and paste this URL and open it in a web browser:

https://api.twitter.com/oauth/authorize?oauth_token=8767765jgf657bfdsqw9jdsncksrwjewqskkfw2453j

Click Allow when prompted.  You will be given a numeric
key in your browser window.  Copy and paste it here.
(NOTE: some non-Twitter services supply no key; just leave this blank
if you don't get one.)

Authorization key: 34882345
Successfully authenticated!
Twidge has now been configured for you and is ready to use.
ubuntu@omap:~$

Con estos pasos ya está instalado!

Twitteando desde la línea de comandos

Para twittear simplemente debes ejecutar un comando

ubuntu@omap:~$ twidge update "Twitteando desde mi #beaglebone"

Una completa lista de los comandos que puedes ejecutar vía twidge la puedes obtener desde su manual oficial, pero puedes empezar con «twidge lscommands»

Es importante notar que por cada usuario Linux en el que desees utilizar twigde debes ejecuatr el setup, en mi caso, como son «demonios» que correrán bajo el usuario root tuve que copiar el archivo de configuración a la carpeta /root para que twigde funcionara (ya que lo había instalado en el usuario ubuntu), si no, vas a obtener el siguiente error.

root@omap:/home/ubuntu# twidge update "Twitteando con el usuario root"
twidge: user error (No config file found at /root/.twidgerc
Run twidge setup to configure twidge for use.)
root@omap:/home/ubuntu# exit

Y eso sería!

Author: José Zorrilla

Ingeniero Civil Informático, Universidad de Santiago de Chile. Master of Professional Engineering University of Sydney. En Chile trabajó empresas de servicios internet y telcos como IBM, VTR y Entel. Le gusta la fotografía y el armado de drones, tiene estudios de violín, guitarra eléctrica y sintetizadores que enciende cuando tiene algo de tiempo.

4 thoughts

  1. Hola, quería saber si se pueden enviar alertas por e-mail directamente desde Beaglebone a partir de los datos de algún sensor, ya que he tratado de hacerlas con un Arduino + un Ethernet Shield, por no es posible hacerlo de forma nativa. Ses posible podrían hacer un tutorial?, muchas gracias, excelente pagina!

    1. Si, se pueden enviar correos directamente desde el BeagleBone, pero probablemente lo tengas instalado en tu casa desde un IP dinamico, los servidores de correo bloquean todo el trafico que viene de ips dinamicos, es por eso que no es recomendable.

      Lo ideal es que uses una conexion a un servidor SMTP Autenticado con una cuenta valida (se puede hacer con smtp.gmail.com) y una libreria de python.

      Ya anotamos la sugerencia como futuro tutorial 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *