< RPi-Projekt Twitternde Webcam Teil 1: Der Raspi macht Bilder | RPi-Projekt Twitternde Webcam Teil 3: Wie ist das Wetter >

RPi-Projekt Twitternde Webcam Teil 2: Hallo Twitter

Im zweiten Teil dieser Artikelserie werde ich dem Raspberry Pi das Twittern beibringen.

Artikelübersicht

Teil 2: Hallo Twitter

Damit der Raspberry automatisch Tweets verschicken kann, benötige ich eine Bibliothek für eine Skriptsprache, die eine Anbindung an den Kurznachrichtendienst bietet. Das von mir genutzte Raspbian hat von Hause aus die Skriptsprache Python an Bord, die mit dem Modul Twython über eine entsprechende Schnittstelle verfügt. Um Twython zu installieren sind folgende Schritte notwendig. Vor der Installation mache ich vorsichtshalber noch ein Update, damit alle Pakete auf dem neuesten Stand sind.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-setuptools
sudo easy_install pip
sudo pip install twython

Eine Twitter App registrieren

Um die Bibliothek nutzen zu können, muss man zunächst bei Twitter eine eigene App anlegen, über die man Zugriff auf sein Twitter-Konto über die API bekommt. Über diesen Link komme ich auf die entsprechende Seite zur Neuanlage einer App.

Twitter-App anlegen

Die Pflichtfelder müssen ausgefüllt werden. Der Name der App muss twitterweit eindeutig sein, hier muss man sich also einen einmaligen Namen ausdenken. ;-) Nachdem man die Bedingungen akzeptiert und den Neuanlage-Button geklickt hat, ist man schon in den Konfigurationsseiten der eigenen App.

Konfigseite Twitter App

Hier ist es wichtig, dass bei "Access-Level" die Einstellung "Read and Write" gesetzt ist. Wenn nicht, kann man dass über den Reiter "Permissions" noch ändern. Im Reiter "Keys und Access Tokens" kann man sich nun über den entsprechenden Button sein persönliches Access Token erstellen.

Twitter App Access Tokens

Diese Seite lasse ich geöffnet, da ich die Werte gleich beim erstellen meines Python-Skripts benötige.

Skript anlegen

Jetzt lege ich ein Verzeichnis an und erstelle dort ein Python-Skript.

mkdir raspitweet
cd raspitweet
nano raspitweet.py

Das Skript sieht folgendermaßen aus:

#!/usr/bin/env python
import sys
from twython import Twython
CONSUMER_KEY = '***************Deine Daten*****************'
CONSUMER_SECRET = '***************Deine Daten*****************'
ACCESS_KEY = '***************Deine Daten*****************'
ACCESS_SECRET = '***************Deine Daten*****************'

api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET) 

api.update_status(status=sys.argv[1])

Die Werte für die Keys und Secrets übernehme ich natürlich aus der oben geöffneten Webseite. Nach dem Speichern des Skripts mache ich es noch ausführbar:

chmod a+x raspitweet.py

Jetzt erzeugt ein

python raspitweet.py 'Basteln mit dem Rasperry Pi. :-)'

den folgenden Tweet.

Das klappt ja schon prima. :-) Da der Raspi ja auch Bilder twittern soll, muss das Skript noch etwas erweitert werden.

#!/usr/bin/env python
import sys
from twython import Twython
CONSUMER_KEY = '***************Deine Daten*****************'
CONSUMER_SECRET = '***************Deine Daten*****************'
ACCESS_KEY = '***************Deine Daten*****************'
ACCESS_SECRET = '***************Deine Daten*****************'

api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET) 

# upload the last photo taken by fswebcam
photo = open('/home/pi/raspitweet/image.jpg', 'rb')
response = api.upload_media(media=photo)

# finally we send the tweet
api.update_status(status='Der Raspi twittert jetzt auch Bilder.', media_ids=[response['media_id']])

Das Skript nimmt also das Bild mit dem Dateinamen "image.jpg" in unserem Skriptverzeichnis und lädt es zusammen mit einem Text zu Twitter hoch. Ein Start des Skripts mit

python raspitweet.py

hat nun diesen Tweet zur Folge.

Jetzt habe ich alles, um erfolgreich das Bild der Webcam twittern zu können. Mittlerweile hatte ich noch überlegt, ob man vielleicht einige aktuelle Wetterdaten mit in den Tweet nehmen könnte. Also schaue ich in Teil 3 dieser Serie, ob und wie ich mit dem Raspi an Wetterdaten heran komme.

Trackbacks

Trackback-URL für diesen Eintrag

Dieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.

Hommel-Net Weblog am : RPi-Projekt Twitternde Webcam Teil 1: Der Raspi macht Bilder

"RPi-Projekt Twitternde Webcam Teil 1: Der Raspi macht Bilder" vollständig lesen
Vor einiger Zeit habe ich mal einen Tweet gelesen, ich habe ihn auf die Schnelle nicht wieder gefunden. Er ging ungefähr so: &quot;Neue tolle Projektidee für den Raspberry Pi, Hardware bestellt, nie wieder angefasst.&quot; Auch bei mir liegen mittlerweile zwei Rasp

Hommel-Net Weblog am : RPi-Projekt Twitternde Webcam Teil 3: Wie ist das Wetter

"RPi-Projekt Twitternde Webcam Teil 3: Wie ist das Wetter" vollständig lesen
Nachdem das mit dem Twittern des Webcambilds funktioniert, hatte ich noch die Idee, nicht immer nur einen statischen Text dazu zu twittern, sondern noch etwas individuelles wie zum Beispiel die aktuelle Temperatur hinzuzufügen. In diesem Teil des Artikels

Hommel-Net Weblog am : RPi-Projekt Twitternde Webcam Teil 4: Aufbau und fertig

"RPi-Projekt Twitternde Webcam Teil 4: Aufbau und fertig" vollständig lesen
Nachdem ich jetzt alle Einzelkomponenten zusammen habe, wird die Webcam jetzt am vorgesehenen Ort positioniert und in Betrieb genommen. Artikelübersicht Teil 1: Der Raspi macht Bilder Teil 2: Hallo Twitter Teil 3: Wie ist das Wetter? Teil 4

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.