Raspberry Pi spricht WhatsApp

Auf der Suche nach Einsatzmöglichkeiten für meinen Raspberry Pi 2 bin ich auf eine Möglichkeit gestoßen, den Mini-Rechner per WhatsApp mit mir kommunizieren zu lassen. Möglich macht dies die Python-Bibliothek ‚yowsup‘, die einem ein Framework für Applikationen rund um WhatsApp bietet. Praktischerweise bringt sie auch ein Demo-Programm mit, mit dem man direkt Nachrichten versenden kann. Somit können auch Neulinge ohne Python- oder gar Programmier-Erfahrung Projekte damit realisieren.

Anwendungen

Mein Pi (er hört auf den Namen littleKRAKEN), ist zwar per DynDNS über das Internet erreichbar, aber hin und wieder interessiert mich, welche IP-Adresse mir gerade vom Internet-Anbieter (ISP) zugewiesen wurde. Da ich sowieso Änderungen an der IP-Adresse an meinen DynDNS-Service weiterleite, habe ich das Update-Skript einfach um eine Zeile erweitert und schwupps bekomme ich die neue IP-Adresse per WhatsApp an mein Handy geschickt. In Zukunft werde ich mich wohl weiter mit dem Framework beschäftigen und dem Pi Befehle per WhatsApp erteilen, auf die er dann auf gleichem Wege antwortet.
yowsup erlaubt sogar das Verschicken von Bildern, wodurch auch Bilderrätsel oder ähnliche Spielereien möglich sind. Täglich ein Katzenbild aufs Handy? Die Möglichkeiten stehen dir offen. :D

How-To

Zuallererst frischt ihr die Paketquellen auf eurem Rechner auf:

sudo apt-get update

Python sollte schon auf eurem Pi vorhanden sein, sofern ihr ein offizielles Raspbian Image im Einsatz habt. Zusätzlich braucht ihr die Header-Files für Python und den Paket-Installer pip (optional könnt ihr euch yowsup auch über das eingangs verlinkte GitHub-Repo runterladen und setup.py manuell ausführen):

sudo apt-get python-dev python-pip

Über pip installiert ihr euch nun die WhatsApp-Bibliothek yowsup (dauert ein wenig):

sudo pip install yowsup2

Um WhatsApp nun auch tatsächlich nutzen zu können, braucht ihr eine Telefonnummer, mit der ihr euch dort registriert (eine Nummer kann immer nur auf einem Gerät aktiv sein). Die Nummer einer (aktiven) nicht mehr genutzten Sim-Karte ist hier also praktisch.
Die Registrierung und Aktivierung erfolgt dann mit den folgenden zwei Befehlen (–cc ist eure Landesvorwahl, –mcc und –mnc findet ihr unter Wikipedia ):

yowsup-cli registration --requestcode sms --phone <Telefonnummer> --cc 43 --mcc 232 --mnc 11
yowsup-cli registration --register <Aktivierungscode> --phone <Telefonnummer> --cc 43

Eure Telefonnummer besteht dabei aus eurer Landesvorwahl ohne ‚+‘ (siehe –cc) und eurer Nummer ohne führende Null, also z.B. 43680xxxxxxx.
Der zweite Befehl liefert euch nun ein paar Daten zu eurer Registrierung. Notiert euch ‚pw‘.

Jetzt können wir eine Konfigurationsdatei erstellen, damit wir nicht bei jedem Befehl unsere Anmeldedaten eingeben müssen. yowsup kann euch ein Beispiel für eine solche Datei ausgeben:

yowsup-cli demos --help-config

Alternativ speichert ihr diese Ausgabe direkt in eine Datei:

yowsup-cli demos --help-config > ~/.yowsup/sup.conf

Diese Datei öffnet ihr dann mit dem Editor eures Vertrauens und ändert die Beispielwerte in eure tatsächlichen Angaben:

nano ~/.yowsup/sup.conf

Das war es auch schon und ihr könnt euren Pi nun Nachrichten per WhatsApp verschicken lassen:

yowsup-cli demos -c /home/pi/.yowsup/sup.conf -s <Telefonnummer> "Hello World"

Sicherheit

yowsup bietet einen „experimentellen“ Support für die kürzlich von WhatsApp (für Android) freigeschaltete Ende-zu-Ende-Verschlüsselung. Sollte man kritische Daten an den Pi und vice versa verschicken, sollte man sich diese Möglichkeit anschauen.
Unter keinen Umständen sollte man sein WhatsApp-Passwort weitergeben, denn damit könnte sofort jemand Unfug treiben und euren Account im vollen Ausmaß nutzen und missbrauchen.

Schreibe einen Kommentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.