Picamera, Flask and the Twitter API Raspberry Pi workshop
-
Upload
bennuttall -
Category
Technology
-
view
37 -
download
1
Transcript of Picamera, Flask and the Twitter API Raspberry Pi workshop
Raspberry PiCreative Technologists
SheffieldJuly 2015
Self-directed workshop
● Use the Terminal (command line interface)● Install software (apt and pip)● Use the web browser (that's where the good stuff is)● Use GitHub (download projects, upload your own)● Use APIs (Application Programming Interfaces)● Ask questions!● Take notes!● Expand your understanding!● Ask for help!
Connect the camera
Boot the Pi and log in
Test the camera
● raspistill -k
● If it doesn't work, is your camera connected correctly?● Is your camera enabled?
– sudo raspi-config– Enable camera
● Press Ctrl + C to exit the preview
Browse my project on GitHub
● Open the web browser● Go to https://github.com/bennuttall/bett-bot● Read the instructions● Do the instructions:
– Install pip– Install flask– Download the repo– Install twython
Run the app
● Enter the bett-bott folder– cd bett-bott
● Run the app– python app.py
● Open 127.0.0.1:5000 in the web browser● Click Capture to take a photo● See the photo in the gallery● Click the photo● Take more photos● Find your IP address (e.g. 192.168.1.8)
– hostname -I● Browse to http://192.168.1.8:5000 on your phone/tablet/laptop
Connect to Twitter
● Log in to www.twitter.com in the web browser (or sign up)● Go to apps.twitter.com
– Create new app– Set permissions to read and write– Generate access tokens
(see Tweeting Babbage resource on raspberrypi.org for detailed instructions)– raspberrypi.org/learning/tweeting-babbage/worksheet/
Add your API keys
● Open auth.py with Python/IDLE● Add your keys
– consumer_key– consumer_secret– access_token– access_token_secret
● Run the app again– Open Terminal– cd bett-bot-master– python app.py
● Now you can tweet the pictures
Look at the code
● Open app.py with Python/IDLE● What's it doing?
– Imports– Try/except– Connect to Twitter– Define routes
● /● /capture/● /view/● /tweet/
– Routes refer to HTML templates– Run Flask app
Hack it
● Change the appearance● Add a feature● Think about more to do later – ideas?● Is a web app suitable?● What's possible? What's not?● Think about hardware installation● Think about touch screens