Paso 5: El Software Final
Ahora que todo está configurado correctamente, aquí está el código final
Import simplejson como json
importar que usan oauth2 como oauth
importación RPi.GPIO como GPIO
de importación sueño
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings(False)
CONSUMER_KEY = "LA CONSUMER_KEY"
CONSUMER_SECRET = "YOURCONSUMER_SECRET"
ACCESS_KEY = "YOURACCESS_KEY"
ACCESS_SECRET = "YOURACCESS_SECRET"
#Here ingrese su número GPIO para cada color
ROJO = 18
VERDE = 19
AMARILLO = 17
AZUL = 16
DEF main():
tweet_text = get_new_tweet()
new_color, BLINK_FLAG = color_from_tweet(tweet_text)
Si new_color:
Si BLINK_FLAG:
Blink (new_color, 999)
otra cosa:
change_color(new_color)
otra cosa:
no imprimir "Ningún nuevo color"
DEF get_new_tweet():
consumidor = oauth. Consumidor (clave = CONSUMER_KEY, secreto = CONSUMER_SECRET)
access_token = oauth. Token (clave = ACCESS_KEY, secreto = ACCESS_SECRET)
cliente = oauth. Cliente (consumidor, access_token)
timeline_endpoint = "https://api.twitter.com/1.1/statuses/mentions_timeline.json?count=1"
respuesta, datos = client.request(timeline_endpoint)
Tweets = json.loads(data)
para tweet en tweets:
imprimir tweet ['texto']
volver tweet ['texto']
DEF color_from_tweet(tweet):
Si "Parpadear" en el tweet:
BLINK_FLAG = True
otra cosa:
BLINK_FLAG = False
Si "Rojo" en el tweet:
volver rojo, BLINK_FLAG
Si es "Verde" en el tweet:
volver verde, BLINK_FLAG
Si es "Amarillo" en el tweet:
volver amarillo, BLINK_FLAG
Si el "Azul" en el tweet:
vuelta azul, BLINK_FLAG
volver a ninguno, ninguno
DEF change_color(color):
OFF()
GPIO.setup (color, GPIO. HACIA FUERA)
GPIO.output(color,True)
off() Def:
de colores [rojo, verde, amarillo, azul]:
GPIO.setup (colores, GPIO. HACIA FUERA)
GPIO.output(colors,False)
blink de DEF (color, tiempo):
GPIO.setup (color, GPIO. HACIA FUERA)
GPIO.output (color falso)
para x en range(time):
GPIO.output(color,True)
Sleep(.5)
GPIO.output(color,False)
Sleep(.5)
Imprimir ".",
Imprimir ""