#Machine

In questo breve tutorial spiegherò come accendere un led mandando un tweet con un hashtag predefinito.

Per cominciare abbiamo bisogno di:

  • Raspberry pi
  • Dongle WIFI (opzionale)
  • 1 Breadboard
  • 1 Led
  • 2 Jumper MF

Cominciamo con la registrazione dell’ applicazione di twitter su  https://dev.twitter.com/ , se non si ha un account serve registrarsi cliccando su “JOIN” altrimenti se si ha già un account basta accedere cliccando su “MY APP”. Dopo aver fatto l’accesso creiamo una nuova app cliccando su “CREATE NEW APP”. Nel campo “Website” scriviamo http://github.com. Alla fine del processo twitter ci darà delle credenziali della nostra applicazione.

Apriamo il terminale e cominciamo a installare le librerie necessarie per il funzionamento :

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

Adesso creiamo un nuovo file con il comando

nano TweetDemo.py

Nel nuovo file inseriamo questo codice

#Scritto da Giovanni Trapella www.giovannitrapella.it
import time
import RPi.GPIO as GPIO
from twython import TwythonStreamer

# hashtag da cercare 
TERMS = '#demo'

# GPIO a cui è collegato il led
LED = 22

# Credenziali dell'applicazione di Twitter 
APP_KEY = 'YOUR_APP_KEY'
APP_SECRET = 'YOUR_APP_SECRET'
OAUTH_TOKEN = 'YOUR_OAUTH_TOKEN'
OAUTH_TOKEN_SECRET = 'YOUR_OAUTH_TOKEN_SECRET'

# Impostiamo le callbacks da Twython Streamer
class BlinkyStreamer(TwythonStreamer):
        def on_success(self, data):
                if 'text' in data:
                        print data['text'].encode('utf-8')
                        print
                        GPIO.output(LED, GPIO.HIGH)
                        time.sleep(0.5)
                        GPIO.output(LED, GPIO.LOW)

# Inizzializiamo i GPIO come output 
GPIO.setmode(GPIO.BOARD)
GPIO.setup(LED, GPIO.OUT)
GPIO.output(LED, GPIO.LOW)

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

IMPORTANTE: sostituisci con le tue credenziali la parola tra virgolette

APP_KEY = 'YOUR_APP_KEY'
APP_SECRET = 'YOUR_APP_SECRET'
OAUTH_TOKEN = 'YOUR_OAUTH_TOKEN'
OAUTH_TOKEN_SECRET = 'YOUR_OAUTH_TOKEN_SECRET'

Per lanciare il programma andiamo del terminale e digitiamo

sudo python TweetDemo.py

Adesso metti un post su Twitter con l’ hashtag #demo e guarda cosa succede