Wie man einen Raspberry Pi Twitter Bot baut
Twitter ist das weltweit größte Repository für Kurznachrichten von Menschen, die nichts zu sagen haben. Jetzt können auch Sie mit einem automatisierten Twitter-Bot, der von Ihrem Raspberry Pi unterstützt wird, zu diesem epischen Projekt beitragen. Ich mache natürlich Witze - einige Leute twittern tatsächlich interessante Dinge. Wie man mit Twitter nach Mentoren in deinem Interessenbereich sucht Wie mit Twitter nach Mentoren in deinem Interessenbereich sucht In der realen Welt ist ein Mentor klug Lehrer, der jemanden unterstützt und leitet und ihm hilft, sein Potenzial zu maximieren. In der Online-Welt würden Sie sehr glücklich sein, jemanden zu finden, der… Read More. Ich bin aber nicht einer von ihnen - ich benutze meine Mine für schamlose Produktwerbung im Austausch für Gratismaterial, Wettbewerbsbeiträge und die automatische Veröffentlichung neuer Folgen unseres Technophilia Podcast. Was auch immer - meine Anhänger lieben mich!
@ w0lfiesmith Ich hasse deinen Twitter-Account. So sehr.
- Justin Pot (@jhpot) 21. August 2013
Jetzt werde ich zur Nützlichkeit meines persönlichen Twitter-Streams beitragen, indem ein Raspberry Pi automatisch jede Stunde seine aktuelle CPU-Temperatur twittert und ein Webcam-Bild zeigt!
Fertig machen
Dieses Projekt verwendet Python. eine einfache Programmiersprache, ideal für DIY-Projekte. Wir beginnen mit der Installation von Twython auf dem Pi - einem Python-Modul für die Verbindung mit Twitter. Einrichten eines Twitter “Anwendung” einen API-Schlüssel erhalten; dann machen Sie weiter, um das Pi-Tweet-Zeug für uns zu machen. Es wird so viel Spaß machen!
Ich mache dies auf Raspian - aber es sollte theoretisch auf jedem Linux-basierten Betriebssystem funktionieren, das Sie auf den Pi 11-Betriebssystemen haben, die Sie auf dem Raspberry Pi ausführen können. 11 Betriebssystemen, die Sie auf dem Raspberry Pi ausführen können. Die Hardware des Raspberry Pi ist nur eines Seite der Münze. Hier sind einige verschiedene Raspberry Pi-Betriebssysteme, die Sie installieren können. Weiterlesen . Wenn Sie dies noch nicht getan haben, stellen Sie sicher, dass Sie SSH eingerichtet haben, damit wir uns remote anmelden und Konsolenbefehle ausführen können.
Twython installieren
Es ist eine gute Idee, zuerst Updates auszuführen. Kopieren Sie die folgenden Befehle und fügen Sie sie nacheinander ein - die meisten müssen bestätigt werden.
Sudo Apt-Get Update Sudo Apt-Get Upgrade Sudo Apt-Get installieren python-setuptools sudo easy_install pip Sudo pip install twython
Registrieren einer Twitter-App
Um die Twitter-API verwenden zu können, d. H. Die REST-Schnittstelle, über die wir neue Tweets veröffentlichen und generell mit Twitter außerhalb der Twitter-Website interagieren, müssen wir eine neue App registrieren. Machen Sie das über diesen Link - Sie müssen keine Callback-URL angeben, und erstellen Sie einfach eine Website, wenn Sie möchten.
Sobald Sie fertig sind, werden Sie etwas ähnliches sehen - diese Schlüssel sind für Sie einzigartig.
Standardmäßig ist die App schreibgeschützt, sodass wir keine Tweets veröffentlichen können, ohne dies zu ändern Lesen und Schreiben. Gehen Sie zur Registerkarte Einstellungen und ändern Sie die Anwendungstyp.
Nach dem Speichern geht es zurück zum Einzelheiten Registerkarte und klicken Sie auf die Schaltfläche am unteren Rand Erstellen Sie ein OAuth-Zugriffstoken - Dadurch erhält Ihre Anwendung Zugriff auf Ihren eigenen Twitter-Account. Aktualisieren Sie und lassen Sie die Seite für später geöffnet. Wir müssen einige dieser Schlüssel in einer Minute einfügen.
Erstellen Sie Ihr Python-Projekt
Erstellen Sie zunächst ein neues Verzeichnis für Ihr Tweet-Projekt und erstellen Sie eine neue Datei.
mkdir SillyTweeter cd SillyTweeter Sudo Nano SillyTweeter.py
Sie können es natürlich nennen, wie Sie möchten.
Kopieren Sie im angezeigten Texteditor Folgendes und fügen Sie den folgenden ein, wobei Sie den Verbraucherschlüssel durch den entsprechenden Schlüssel von der Twitter-Anwendungsseite ersetzen, die wir zuvor geöffnet hatten. Jeder Schlüssel ist in einfache Anführungszeichen gesetzt. Verpassen Sie diese also nicht. Beachten Sie, dass ZUGANGSSCHLÜSSEL wird bezeichnet als Zugangstoken auf der Twitter-App-Seite.
#! / usr / bin / env python import sys aus twython import Twython CONSUMER_KEY = '*************** IHRE DATEN *************** ** 'CONSUMER_SECRET =' ************************************************* ACCESS_KEY = '****** ********* IHRE DATEN **************** 'ACCESS_SECRET =' *************** IHRE DATEN * *************** '' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (status = sys.argv [1])
Drücken Sie Strg-X und drücken Sie Y, um die Datei zu beenden und zu speichern. Machen Sie es mit dem folgenden Befehl ausführbar (ersetzen Sie Ihren Python-Dateinamen, wenn Sie etwas anderes wählen)
sudo chmod + x SillyTweeter.py
Sie sollten jetzt in der Lage sein zu testen, ob Sie Tweets wie folgt posten können:
python SillyTweeter.py 'Hallo alle zusammen, das ist mein Raspberry Pi, der euch mehr Unsinn twittert'
Tweeten der CPU-Temp
Jetzt, wo Sie jeden Quatsch posten können, den Sie möchten, passen wir die App an, um die aktuelle CPU-Temperatur zu ermitteln, denn ich bin verdammt, wenn die Welt das nicht jede Stunde wissen muss.
Beginnen Sie mit dem Hinzufügen eines weiteren Imports für die os-Bibliothek:
import os
Fügen Sie dann die folgenden Zeilen hinzu und ersetzen Sie den vorherigen api.update_status aus dem obigen Beispiel.
cmd = '/ opt / vc / bin / vcgencmd measure_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("")) 0] api.update_status (status = 'Meine aktuelle CPU-Temperatur ist' + Temp + 'C')
Ich werde diesen Code nicht allzu viel erklären, weil er eigentlich keine Rolle spielt. Er führt einen Befehl aus, der die Temperatur erfasst, dann die Ausgabe aufteilt, um die Zahl zu extrahieren, und Tweets mit einer benutzerdefinierten Nachricht. Den vollständigen Beispielcode finden Sie hier.
Tweeten von Webcam-Bildern
Jetzt machen wir etwas wirklich Nützliches. Wir werden Webcam-Bilder twittern. Glücklicherweise unterstützt Twython die API-Funktion update_status_with_media, was die Sache recht einfach macht.
Schließen Sie eine USB-Webcam an Ihr Gerät an und prüfen Sie, ob sie mit dem folgenden Befehl erkannt wurde:
ls / dev / video *
wenn du siehst video0, Du hast Glück. Ich habe eine Playstation 3 PSEye-Cam verwendet, die auch ohne zusätzliche Beinarbeit funktioniert.
Wir werden auch die verwenden Pygame Bibliotheken zum Fotografieren; Fügen Sie die folgenden Zeilen unmittelbar nach den vorhandenen Importanweisungen ein:
pygame importieren pygame.camera aus pygame.locals import importieren * pygame.init () pygame.camera.init () cam = pygame.camera.Camera ("/ dev / video0") (640,480)) cam.start () image = cam.get_image () pygame.image.save (image, 'webcam.jpg')
Kurz gesagt, Sie haben die Webcam mit einer bestimmten Auflösung initialisiert (Sie müssen möglicherweise anpassen, dass es sich um eine wirklich alte Kamera handelt), ein Bild aufgenommen und als JPG gespeichert haben. Wir werden einfach jedes Mal die gleiche webcam.jpg überschreiben, wenn die App ausgeführt wird.
Passen Sie abschließend die Zeile update_status an:
photo = open ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = "Mein RPi tweeten jetzt Bilder =>")
Natürlich können Sie den Statustext auch wieder auf Ihre aktuelle CPU-Temperatur ändern, wenn Sie möchten. Der vollständige Code für dieses Beispiel ist hier.
Kannst du das wiederholen?
Ein Twitter-Bot ist nur nützlich, wenn er mehrmals automatisch ausgeführt wird. Sie möchten nicht stundenlang den Befehl ausführen. Um dies zu erreichen, verwenden wir die CRIS-Planungsfunktion von Pi. (Was ist ein CRON-Job? Automatisieren Sie Ihre Wordpress-Sicherung mit Simple Shell Scripting und CRON. Automatisieren Sie Ihre Wordpress-Sicherung mit Simple Shell Scripting & CRON. Als wir das letzte Mal über Wordpress-Sicherungen sprachen, habe ich Ihnen gezeigt, wie Es war unglaublich einfach, die gesamte Datenbank und Dateien mit nur wenigen Befehlen über SSH zu sichern. Dieses Mal zeige ich… Read More)
Sudo Crontab -e
Fügen Sie diese Zeile in jede Zeile ein.
* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py
Ändern Sie das zu * * * * * Wenn Sie möchten, dass es jede Minute läuft, und seien Sie darauf vorbereitet, Follower schneller zu verlieren als ein Twitter-Account, der Follower schnell verliert.
Das ist für heute. Ich bin froh, dass ich dem unermesslichen Reichtum an nutzlosen Bytes im Internet mehr Dummheit beigebracht habe, und ich hoffe, dass Sie dies auch tun! Zeigen Sie Ihre Wertschätzung für dieses Tutorial von twittern, und lassen Sie uns wissen, worüber Ihr eigener Twitter-Bot in den Kommentaren twittern wird.
Bildnachweis: adafruit / flickr
Erfahren Sie mehr über: Raspberry Pi, Twitter.