Kickstarter Backer Alert med statistik Scroller, använder Arduino Yun (8 / 10 steg)
Steg 8: [Programvara] ladda upp "kicktracker.py" script
#! / usr/bin/python
importera sys, urllib, json, seriell, tid
PROLITE = följetong. Serial ("/ dev/ttyUSB0", baudvärde = 2400, bytesize = 8, paritet ='N ", stopbits = 1, xonxoff = 0, rtscts = 0)
# få kicken statistik url och mål
om len(sys.argv) > 1:
URL = sys.argv[1]
mål = int(sys.argv[2])
annat:
sys.Exit ("saknade argument")
# ta emot data från url
r = urllib.urlopen(url)
# hastigt json datastruktur
data = json.loads(r.read())
# parse behövs data
lovat = int(float(data['project']['pledged']))
hjälpare = data ['projekt'] ['backers_count']
percentfunded = lovade / float(goal)
# utgång data till konsol / Arduino
# heltal löften / valuta-formaterade löften / hjälpare / procent finansieras
skriva ut str (lovade) + "/"+"${:,}'.format (lovade) + '/' \
"{:,}".format(backers)+'/'+'{:.2%}'.format(percentfunded) + "/"
# skriva data till Pro-Lite PL-M2014R Visa
PROLITE.write ("< ID01 >")
PROLITE.write("\r\n")
Time.Sleep(0.1)
PROLITE.write ("< ID01 >")
PROLITE.write ("< PA >")
PROLITE.write ("< CL >< FI >< SB >")
PROLITE.write ("${:,}'.format(pledged))
PROLITE.write ("< CC >< FI >< SA > hjälpare:")
PROLITE.write(Str(Backers))
PROLITE.write ("< CH >< FI >< SB >")
PROLITE.write ("{:.2%}'.format(percentfunded))
PROLITE.write("\r\n")
PROLITE.flush()
#prolite.write ("< ID01 >")
#prolite.write ("< RPA >")
#prolite.write("\r\n")
PROLITE.Close()
Python skriptet ovan får två argument, en Kickstarter statistik URL och kampanj målet (eftersom denna information är inte tillgänglig i statistik URL: vi använder). URL: en stats returnerar ett JSON svar, som vi kan enkelt behandla för uppgifterna som behövs. Den returnerade JSON data ser ut så här:
{"projekt": {"id": 826672481, "state_changed_at": 1411636608, "tillstånd": "live", "backers_count": 175, "lovade": "16980.0", "comments_count": 78}}
Den extraherade datan skrivs ut på konsolen (som matas direkt tillbaka till Arduino sidan), och sände även genom den seriella porten med olika formateringskommandon Pro-Lite-protokollet.
Det finns flera sätt att få filen kicktracker.py i Yún. Det är rekommenderat för att placera filer i ett micro-SD kort, men eftersom detta är sådana ett litet script som vi dumpade det direkt i hem rotmappen. Du kan använda kommandot "nano kicktracker.py" och sedan klistra in koden från konsolen, Ctrl-X och sedan Y till spara och avsluta. Alternativt kan du överföra filen över SSH från din lokala dator med ett kommando som detta:
SCP kicktracker.py rot
Detta måste göras från din lokala dator, inte skrivit in den Yún konsolen. Kommandot ovan bör fungera på OSX och Linux, för Windows måste du använda ett FTP-program som stöder överföring via SSH (FileZilla är en).