Tweet pumpa - ändra LED färg via Twitter med Raspberry Pi - IoT (5 / 5 steg)
Steg 5: Sista programvaran
Nu när allt är inställt korrekt, är här den sista koden
importera simplejson som json
importera oauth2 som oauth
importera RPi.GPIO som GPIO
från att importera sömn
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings(False)
CONSUMER_KEY = "DIN CONSUMER_KEY"
CONSUMER_SECRET = "YOURCONSUMER_SECRET"
ACCESS_KEY = "YOURACCESS_KEY"
ACCESS_SECRET = "YOURACCESS_SECRET"
#Here ange ditt GPIO för varje färg
RÖD = 18
GRÖN = 19
GUL = 17
BLÅ = 16
def main ():
tweet_text = get_new_tweet()
new_color, BLINK_FLAG = color_from_tweet(tweet_text)
om new_color:
om BLINK_FLAG:
Blink (new_color, 999)
annat:
change_color(new_color)
annat:
skriva ut "Ingen ny färg"
def get_new_tweet():
konsumenten = oauth. Konsumenten (nyckel = CONSUMER_KEY, secret = CONSUMER_SECRET)
access_token = oauth. Token (nyckel = ACCESS_KEY, secret = ACCESS_SECRET)
kund = oauth. Klienten (konsumenten, access_token)
timeline_endpoint = "https://api.twitter.com/1.1/statuses/mentions_timeline.json?count=1"
svar, data = client.request(timeline_endpoint)
Tweets = json.loads(data)
för tweet i tweets:
skriva ut tweet [text]
returnera tweet [text]
def color_from_tweet(tweet):
om "BLINK" i tweet:
BLINK_FLAG = sant
annat:
BLINK_FLAG = False
om "Röd" i tweet:
returnera röd, BLINK_FLAG
om "Gröna" i tweet:
returnera GREEN, BLINK_FLAG
om "Gula" i tweet:
returnera gul, BLINK_FLAG
om "BLUE" i tweet:
returnera blå, BLINK_FLAG
returnera ingen, ingen
def change_color(color):
Off()
GPIO.setup (färg, GPIO. OUT)
GPIO.output(color,True)
def off():
för färger i [röd, grön, gul, blå]:
GPIO.setup (färger, GPIO. OUT)
GPIO.output(colors,False)
def blink (färg, tid):
GPIO.setup (färg, GPIO. OUT)
GPIO.output (färg, falskt)
x i range(time):
GPIO.output(color,True)
Sleep(.5)
GPIO.output(color,False)
Sleep(.5)
skriva ut ".",
skriva ut ""