Stap 4: De Code: Python kant
Eerst gaan laat over onze python code. De python code gebruikt in principe de python-twitter bibliotheek om te vragen twitter voor de statussen van gebruiker 'x', dan neemt de laatste status en zoekt naar de term "#driptwit".
Als gevonden stuurt de ASCII-waarde van 1 aan op de seriële poort (en aan de arduino), als #driptwitstop wordt gevonden, stuurt het achtereenvolgens een ASCII-waarde van 0.
Tot slot het loops en controleert het twitter-account om de 15 seconden op zoek naar veranderingen.
Zoals u zien kunt, is hieronder waar u de sleutels heb je van twitter in de laatste stap.
Hier is de werkelijke code:
#******************************************#
# Tweet-a-Pot door Gregg Horton 2011 #
# Wijzigingen of # stuur een email
# updates voor greggahorton #
# *****************************************#
##Import bibliotheken
importeren van twitter
seriële importeren
importeren
##authenticate jezelf met twitter
API = twitter. API (consumer_key = 'consumerkeyhere', consumer_secret = 'consumersecrethere', access_token_key = 'toegangstoets', access_token_secret = 'accesssecret')
##set op de seriële poort
ser seriële =. Seriële ('/ dev/ttyUSB0', 19200)
## controleren seriële poort
def checkokay():
ser.flushInput()
time.Sleep(3)
line=ser.readline()
time.Sleep(3)
Als regel == ' ':
line=ser.readline()
'hier' afdrukken
## Welkomstbericht
afdrukken 'Welkom aan Drip Twit!'
afdrukken van 'Koffie maken..'
def driptwit():
status =]
x = 0
status = api. GetUserTimeline('X') ##grab meest recente statussen
checkIt = [s.text voor s status] ##put status in een array
infuus = checkIt[0].split() ##split eerste tweet in woorden
## controleren op wedstrijd en schrijven naar seriële als overeenkomen met
Als infuus [0] == '#driptwit':
afdrukken "Tweet Recieved, waardoor koffie"
ser.write('1')
Elif infuus [0] == '#driptwitstop': #break # als gedaan
ser.write('0')
afdrukken "gestopt, wachten op instructies."
anders:
ser.write('0')
afdrukken van 'In afwachting van Tweet'
terwijl 1:
driptwit() ## driptwit functie aanroepen
time.Sleep(15) ## slaap gedurende 15 seconden om te voorkomen dat snelheidslimieten