Twitter is very famous website for short messaging. So many people tweeting and exchanging their idea's on twitter. So i made an small application for tweeting my current CPU temperature.
I am using the wheezy-raspbian OS in my raspberry pi and using the python language to write the code for tweeting the CPU temp.It is a very simple DIY project we just need to install Twython on the raspberry pi and small code for interfacing with twitter.
We also need to setup an twitter application to get an API so that we can talk to twitter server and make our application ready to talk with my status.
The raspbian is basically a LINUX based operating system. Most of the linux stuff worked on it.
Now some assumption
- You are having a raspbian installed on your SD card.(CLICK HERE IF NOT)
- You are connected with internet
Update the OS
Leave this step if you already updated with your OS.
**NOTE: sudo is used for root permession if You already login with root then there is no need of sudo
Type these commands in your terminal
sudo apt-get update
sudo apt-get upgrade
Update or Install the python dependencies or twython
These three commands below install the pip and twython in your raspbian.
sudo apt-get install python-setuptools
sudo easy_install pip
sudo pip install twython
Now register your Twitter App
For using the Twitter API to communicate our raspberry pi we need to register a new Twitter App on its site. CLICK HERE
After hitting the Click Here button you will be redirected to the developer zone of twitter.com
LOGIN with your twitter account in that website
Now click on the My Application
Now click on the create new application
And provide the details below
Now give Application name, Description, website url
Leave the Callbackurl
Hit the create button
Now go into the settings
Click on read and write and give organization name or website
and Update the settings
Now go into the details and Click on "create my access token"
Now the final result will look like the image below
Now copy the four thingson the image above anywhere in your computer.
1. CONSUMER_KEY
2. CONSUMER_SECRET
3. ACCESS_TOKEN (some times ACCESS_KEY)
4. ACCESS_TOKEN_SECRET
Creating A project in Python to update the status of twitter
Your project files should be saved in a one directory so create directory first,then create your python file in that directory.
mkdir twitter_project
cd twitter_project
sudo leafpad twitter_temp.py
Now "leafpad twitter_temp.py" command will open the text editor ("like notepad in windows") with the extension named .py for python type file.
Now copy the below code(red color code) in your text editor and save it.
##################################################
#!/usr/bin/env python
import sys
from twython import Twython
CONSUMER_KEY = '***************YOUR DATA*****************'
CONSUMER_SECRET = '***************YOUR DATA*****************'
ACCESS_KEY = '***************YOUR DATA*****************'
ACCESS_SECRET = '***************YOUR DATA*****************'
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
api.update_status(status='My first status from raspberry pi')
##################################################
In the above code change your data with the data you get from the Twitter account.
The above code will update your twitter status as in the last line" My first status from the raspberry pi"
sudo chmod 777 twitter_temp.py
sudo ./twitter_temp.py --> This command will execute your projectNow the second part of the code is to get the Temperature of the CPU
Creating Python code for printing CPU temperature
Do the same procedure you do for twitter_temp.py #############################################
#!/usr/bin/env python
import sys
import os
cmd = '/opt/vc/bin/vcgencmd measure_temp'
line = os.popen(cmd).readline().strip()
temp = line.split('=')[1].split("'")[0]
print temp
#############################################
Creating Python code for CPU temperature on twitter
Finally add the above two program code and run the file will update your twitter status with the current CPU temperature as for twitter_temp.py
#############################################
#!/usr/bin/env python
import sys
import os
from twython import Twython
CONSUMER_KEY = '***************YOUR DATA*****************'
CONSUMER_SECRET = '***************YOUR DATA*****************'
ACCESS_KEY = '***************YOUR DATA*****************'
ACCESS_SECRET = '***************YOUR DATA*****************'
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
while 1:
cmd = '/opt/vc/bin/vcgencmd measure_temp'
line = os.popen(cmd).readline().strip()
temp = line.split('=')[1].split("'")[0]
api.update_status(status='My current CPU temperature is '+temp+' C')
time.sleep(60)
sudo ./twitter_temp.py -->this command will run the twitter_temp.py and update the status
Running the application in background and starting at the time of boot
Your application is already ready to run and working
But some people wants their application run at the time of booting the window and run in background for making this you just need to do a very small change in the file named " rc.local" which is located in the " /etc ".
sudo leafpad /etc/rc.local
Now the command above will open the file in text editor.
Now write the line just after the " #rc.local"
sudo /path_of_your_project/file_name.py &
1.Here sudo is for doing the task with root
2.path_of_the_project will be path of your project file which you want to execute
3.file_name.py give your file name which you want to execute
4. '&' symbol is use to execute the file in back ground
And save the file.
This file will execute at the time of boot.
Now you are done.
#### BEST OF LUCK FOR YOUR APPLICATION ####
########Thanx and Comment for any Help #####
Temperature Update on Twitter using Rapberry Pi
22:09