Arduino Yún-based demo that displays your Twitter handle and "Big 5" personality traits.
Uses IBM Watson Personality Insights service to calculate your personality traits based on your recent tweets.
Part | Price | Vendor |
---|---|---|
Arduino Yún | $55.01 | Arduino Store |
MicroSd Card | $8.36 | Arduino Store |
1.8" EDS TFT LCD | $6.80 | Electrodragon |
Male-to-Female Wires | $2.30 | Electrodragon |
Female-to-Female Wires | $1.80 | Electrodragon |
If you'd prefer a single, US-based vendor, Adafruit sells an equivalent display and the other necessary parts.
Note: while the EDS TFT display is avaliable in larger sizes, only the 1.8" is 5v tolerant. Adafruit offers several options for larger 5v-tollerant displays.
Also note that even on the 1.8" EDS TFT, the LED pin only accepts 3.3v.
Create a Personality Insights service instance at http://bluemix.net/ and bind it to a
server instance. Then view the server's dashboard and click View Credentials on the service.
Copy the credentials to linux/twitter-personality-insights/credentials.json
.
Instructions on how to get credentials for a Watson service can be found here.
Create a twitter app at https://apps.twitter.com/ and also copy it's credentials to credentials.json
.
Copy the arduino/pibadge/
folder into your Arduino Projects folder.
Copy the linux/twitter-personality-insights/
folder onto a MicroSD card and insert it into the Yun.
SSH into the linux side of the Yun and run the following commands to install dependencies:
opkg update #updates the available packages list
opkg install distribute #it contains the easy_install command line tool
opkg install python-openssl #adds ssl support to python
easy_install pip #installs pip
mkdir /mnt/sda1/python-packages
pip install --target /mnt/sda1/python-packages twitter # current release of twitter
pip install --target /mnt/sda1/python-packages requests==2.5.3 # outdated release of requests that works on Yun's outdated python version
Upload the sketch and wait a minute or two for it to process things, then enjoy your new Personality Insights Badge!
The sketch defaults @nfriedly, but you can change it to any twitter username you like. A potential enhancement could be to add a web interface for setting the username at runtime.