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.
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:
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:
Na tela seguinte, preencha os dados referentes à descrição da aplicação (os 3 primeiros campos são obrigatórios):
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:
No parte inferior da tela, clique em Create my 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:
- Consumer Key (API Key)
- Consumer Secret (API Secret)
- Access Token
- Access Token Secret
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:
Gostou? Deixe seu comentário logo abaixo.
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.
Como ficaria a programação para inserir outros comando, como ligar ou desligar o led.