Tutorial Raspberry Pi - Calculadora con Twitter

Consigue gratis tu cuenta

Crea una API REST con Node.js y MongoDB

En este curso vas a aprender a crear una API REST con Node.js y MongoDB, además de crear un entorno de desarrollo con Docker y Docker Compose.

Comenzar ahora
calculadoratwitter

¡Hola! Hoy traigo un tutorial curioso. No es nada del otro mundo y se me ocurrió un día de estos que tienes una Raspberry Pi delante y quieres hacer algo, aunque sea muy simple. Pues este es el caso.

Os recomiendo ver tutorial de Twitter + Raspberry Pi antes de este porque estoy haciendo una continuación o aplicación de ese.

Voy a enseñaros a hacer una minicalculadora con Twitter y una Raspberry Pi. Su funcionamiento es muy básico: tengo una cuenta de Twitter asociada a la Raspberry Pi y cualquier otra cuenta de Twitter desde la que mandaré una operación. Esta operación llegará a la cuenta de la Raspberry Pi, la resolverá y te mencionará con el resultado:

Así de simple. Funciona con operaciones sencillas. He hecho uso de la función eval() de Python para resolver la operación. El código es sencillo, pero me ha dado problemas la API de Twitter por pasarme de llamadas. Por seguridad, tiene un límite de consultas en un determinado rango de tiempo. La verdad es que no se cuánto es. Lo he puesto a que lea cada minuto y parece que no da problemas, pero bueno, probadlo y me contáis.

Tenéis que mandar los Tweets con el siguiente formato: @RasPiCalc [operación]

Información: Esto se ejecuta en mi Raspberry Pi y no la tengo siempre encendida, así que si no funciona, es porque está apagada.

Para facilitar la tarea de buscar la operación propuesta en el tweet, he puesto que haya que meterla entre corchetes. Aquí tenéis el código:

#!/usr/bin/env python
import tweepy
import time

def find_between( s, first, last ):
        try:
                start = s.index( first ) + len( first )
                end = s.index( last, start )
                return s[start:end]
        except:
                return ""

#Coloca dentro de las comillas tus claves...
CONSUMER_KEY = 'Aquí coloca Consumer key' 
CONSUMER_SECRET = 'Aquí coloca Consumer secret'
ACCESS_KEY = 'Aquí coloca Access token'
ACCESS_SECRET = 'Aquí coloca Access token secret'

#En esta parte nos identifica para poder realizar operaciones
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)

api = tweepy.API(auth)

last_mention = api.mentions_timeline(count=1)
for last_men in last_mention:
        last = last_men

while True:
        time.sleep(60)
        mentions = api.mentions_timeline(count=1)
        for mention in mentions:
                cur = mention
        if not (cur.text==last.text and cur.user.screen_name==last.user.screen_name):
                last = cur
                res = find_between(cur.text, "[", "]")
                if not (res==""):
                        res = eval(res)
                        time.sleep(60)
                        api.update_status('@'+cur.user.screen_name+" Result: "+str(res)+" Visit geekytheory.com for more info :)")
Pues más simple imposible. Está prácticamente todo explicado en el tutorial de Twitter + Raspberry Pi. Si tenéis cualquier duda, pues dejad un comentario. ¡Un saludo!

¿Quieres seguir aprendiendo?