Como controlar o Raspberry Pi pelo Twitter 2

Neste tutorial vamos mostrar como executar comandos no Raspberry Pi pelo Twitter usando uma hashtag. O funcionamento é simples, todas vez que uma mensagem com a hashtag #MakerHero for detectada na timeline do Twitter da MakerHero, o Raspberry Pi irá piscar um LED.

Raspberry_Twitter_Led

Para esse circuito são utilizados alguns poucos componentes e a maioria das tarefas serão feitas no Twitter (para configurar a aplicação que vai se comunicar com o programa), e no programa em Python, que executa as ações necessárias quando detectar a hashtag (piscar o led, imprimir mensagem na tela, etc).

Circuito LED no Raspberry Pi 2

O circuito é bem simples e utiliza um led e um resistor para limitar a corrente. Conecte o led ao Raspberry Pi da seguinte maneira:

Circuito Raspberry Pi 2 - Led

O anodo (+) do led está ligado ao pino 12 (GPIO18), e o catodo (-) ao GND, pino 6. O valor do resistor utilizado no circuito é de 220 ohms.

Criando aplicação no Twitter

Vamos agora criar no Twitter uma aplicação que vai se comunicar com o Raspberry Pi 2. Abra um browser e faça o login no Twitter. Depois disso, acesse o link http://www.twitter.com/apps

Será apresentada a seguinte tela. Clique em Create New App:

Twitter - New app

Na tela seguinte, preencha os dados referentes à descrição da aplicação (os 3 primeiros campos são obrigatórios):

Twitter - Descrição Aplicação

Após o preenchimento, vá até a parte inferior da tela e clique em Create your Twitter application. Será apresentada uma tela com 4 abas. clique na aba Keys and Access Tokens:

Twitter - Aplicação criada

No parte inferior da tela, clique em Create my access token:

Twitter - Criar Access Token

Na próxima tela, após a criação do token, será apresentada uma tela com várias informações, das quais vamos utilizar:

  1. Consumer Key (API Key)
  2. Consumer Secret (API Secret)
  3. Access Token
  4. Access Token Secret

Twitter - Dados conexão

Essas informações serão inseridas no programa posteriormente.

Instalação módulo Twython

Antes de carregar o programa, efetue a instalação do módulo Twython, responsável por fazer a varredura no Twitter. Certifique-se de que o Raspberry esteja conectado à internet, entre no LX Terminal e digite os comandos:

sudo apt-get update
sudo apt-get install python-pip
sudo pip install twython

Após a instalação dos pacotes, digite ou copie o seguinte programa na IDLE:

#Programa: Controle LED Raspberry Pi pelo Twitter
#Alteracoes e adaptacoes: MakerHero

import time
import RPi.GPIO as GPIO
from twython import TwythonStreamer

#Hashtag a ser pesquisada
TERMS = '#MakerHero'

#Pino da GPIO conectado ao LED
LED = 12

#Autenticacao na aplicacao Twitter
APP_KEY = '<Consumer Key>'
APP_SECRET = '<Consumer Secret>'
OAUTH_TOKEN = '<Access Token>'
OAUTH_TOKEN_SECRET = '<Access Token Secret>'

class BlinkyStreamer(TwythonStreamer):
        def on_success(self, data):
                if 'text' in data:
                        print data['text'].encode('utf-8')
                        print
                        for x in range(0,5):
                                GPIO.output(LED, 1)
                                time.sleep(0.5)
                                GPIO.output(LED, 0)
                                time.sleep(0.5)

#Definicoes da GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LED, GPIO.OUT)
GPIO.output(LED, GPIO.LOW)

#Loop principal
try:
        stream = BlinkyStreamer(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
        stream.statuses.filter(track=TERMS)
except KeyboardInterrupt:
        GPIO.cleanup()

No programa definimos na linha 12 o pino da GPIO do Raspberry ligado ao anodo do led. Nas linhas 15, 16, 17 e 18, utilizamos as informações que foram geradas quando criamos a aplicação no Twitter (Consumer Key, Consumer Secret, Access Token e Access Token Secret).

Na linha 9, configuramos a hashtag a ser monitorada. No nosso exemplo, a hashtag é #MakerHero

Execute o programa e uma nova janela será aberta. Nesse momento, o programa se comunica com o Twitter e, caso seja recebida uma mensagem contendo a hashtag monitorada, o led irá piscar e a mensagem será reproduzida no Raspberry:

Raspberry - Tweets recebidos

 Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

2 Comentários

  1. Excelente o post. Apenas uma sugestão, no final do post colocar a lista dos itens que são necessários para fazer o projeto com o hiperlink para a loja do MakerHero. Agiliza e facilita a compra. Obrigada.

  2. Como ficaria a programação para inserir outros comando, como ligar ou desligar o led.