Stap 5: De laatste Software
Nu dat alles goed ingesteld is, is hier de definitieve code
import simplejson als json
importeren van oauth2 als oauth
importeren van RPi.GPIO als GPIO
importeren van tijd slaap
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings(False)
CONSUMER_KEY = "UW CONSUMER_KEY"
CONSUMER_SECRET = "YOURCONSUMER_SECRET"
ACCESS_KEY = "YOURACCESS_KEY"
ACCESS_SECRET = "YOURACCESS_SECRET"
#Here Voer uw GPIO nummer voor elke kleur
ROOD = 18
GROEN = 19
GEEL = 17
BLAUW = 16
def main():
tweet_text = get_new_tweet()
new_color, BLINK_FLAG = color_from_tweet(tweet_text)
Als new_color:
Als BLINK_FLAG:
knipperen (new_color, 999)
anders:
change_color(new_color)
anders:
afdrukken van "Geen nieuwe kleur"
def get_new_tweet():
consument = oauth. Consument (sleutel = CONSUMER_KEY, geheim = CONSUMER_SECRET)
access_token = oauth. Token (sleutel = ACCESS_KEY, geheim = ACCESS_SECRET)
klant = oauth. Klant (consument, access_token)
timeline_endpoint = "https://api.twitter.com/1.1/statuses/mentions_timeline.json?count=1"
reactie, gegevens = client.request(timeline_endpoint)
Tweets = json.loads(data)
voor tweet in tweets:
afdrukken van tweet ['tekst']
retourneren tweet ['tekst']
def color_from_tweet(tweet):
als "BLINK" in tweet:
BLINK_FLAG = True
anders:
BLINK_FLAG = False
als "Rode" in tweet:
ROOD, BLINK_FLAG retourneren
als 'Groen' tweet:
terug groen, BLINK_FLAG
als 'Geel' in tweet:
terug van geel, BLINK_FLAG
als 'Blauw' in tweet:
BLAUW, BLINK_FLAG retourneren
retourneren None, None
def change_color(color):
Off()
GPIO.setup (kleur, GPIO. UIT)
GPIO.output(color,True)
def off():
voor kleuren in [rood, groen, geel, blauw]:
GPIO.setup (kleuren, GPIO. UIT)
GPIO.output(colors,False)
def knipperen (kleur, tijd):
GPIO.setup (kleur, GPIO. UIT)
GPIO.output (kleur, False)
voor x in range(time):
GPIO.output(color,True)
Sleep(.5)
GPIO.output(color,False)
Sleep(.5)
afdrukken ".",
afdrukken ""