Werbung
Twitter ist das weltweit größte Repository für Kurznachrichten von Personen, die nichts zu sagen haben - und jetzt können Sie es auch Tragen Sie zu diesem epischen Projekt mit einem automatisierten Twitter-Bot bei, der von Ihrem Raspberry Pi unterstützt wird. Ich mache natürlich Witze – Einige Leute twittern tatsächlich interessante Dinge So verwenden Sie Twitter, um nach Mentoren in Ihrem Interessengebiet zu suchenIn der realen Welt ist ein Mentor ein weiser Lehrer, der jemanden unterstützt und führt und ihm hilft, sein Potenzial zu maximieren. In der Online-Welt hätten Sie großes Glück, jemanden zu finden, der ... Weiterlesen . Ich bin jedoch keiner von ihnen - ich benutze meine Mine für schamlose Produktwerbung im Austausch für kostenlose Inhalte, Wettbewerbsbeiträge und die automatische Veröffentlichung neuer Episoden unseres eigenen Technophilia-Podcasts. Was auch immer - meine Anhänger lieben mich!
@ w0lfiesmith Ich hasse deinen Twitter-Account. So viel.
- Justin Pot (@jhpot) 21. August 2013
Jetzt werde ich die Nützlichkeit meines persönlichen Twitter-Streams erhöhen, indem ein Raspberry Pi automatisch jede Stunde seine aktuelle CPU-Temperatur twittert und ein Webcam-Bild!
Anfangen
Dieses Projekt verwendet Python. Eine einfache Programmiersprache, ideal für DIY-Projekte. Wir beginnen mit der Installation Twython auf dem Pi - ein Python-Modul für die Anbindung an Twitter; Einrichten einer Twitter-Anwendung, um einen API-Schlüssel zu erhalten; Dann mache das Pi-Tweet-Zeug für uns. Es wird so viel Spaß machen!
Ich mache das auf Raspian - aber theoretisch sollte es auf jedem funktionieren Linux-basiertes Betriebssystem, das Sie auf dem Pi haben 11 Betriebssysteme, die auf Ihrem Raspberry Pi ausgeführt werdenUnabhängig von Ihrem Raspberry Pi-Projekt gibt es ein Betriebssystem dafür. Wir helfen Ihnen, das beste Raspberry Pi-Betriebssystem für Ihre Anforderungen zu finden. 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 nacheinander und fügen Sie sie ein. Die meisten Befehle müssen bestätigt werden.
sudo apt-get update. sudo apt-get upgrade. sudo apt-get install python-setuptools. sudo easy_install pip. sudo pip installiere twython.
Registrieren einer Twitter-App
Um die Twitter-API zu verwenden, dh die REST-Oberfläche, über die wir neue Tweets veröffentlichen und im Allgemeinen außerhalb der Twitter-Website mit Twitter interagieren, müssen wir eine neue App registrieren. TU das von diesem Link - Sie müssen keine Rückruf-URL angeben und erstellen 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 kehren Sie zum zurück Einzelheiten Klicken Sie auf die Schaltfläche unten Erstellen Sie ein OAuth-Zugriffstoken - Dadurch erhält Ihre Anwendung Zugriff auf Ihr eigenes Twitter-Konto. Aktualisieren Sie die Seite und lassen Sie sie für später geöffnet. Wir müssen einige dieser Schlüssel in einer Minute kopieren und einfügen.
Erstellen Sie Ihr Python-Projekt
Erstellen Sie zunächst ein neues Verzeichnis für Ihr Tweet-Projekt und erstellen Sie dann eine neue Datei.
mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py.
Sie können es natürlich so nennen, wie Sie möchten.
Kopieren Sie im angezeigten Texteditor Folgendes und fügen Sie es ein. Ersetzen Sie dabei den Consumer-Schlüssel durch den entsprechenden Schlüssel auf der zuvor geöffneten Twitter-Anwendungsseite. Jeder Schlüssel ist von einfachen Anführungszeichen umgeben. Verpassen Sie diese also nicht. Beachten Sie, dass ZUGANGSSCHLÜSSEL wird bezeichnet als Zugangstoken auf der Twitter App Seite.
#! / usr / bin / env python. sys importieren. aus Twython Twython importieren. CONSUMER_KEY = '*************** IHRE DATEN *****************' CONSUMER_SECRET = '*************** IHRE DATEN *****************' 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 gewählt haben).
sudo chmod + x SillyTweeter.py.
Sie sollten nun in der Lage sein, Ihre Fähigkeit zu testen, Tweets wie folgt zu posten:
python SillyTweeter.py 'Hallo allerseits, das ist mein Raspberry Pi, der dir mehr Unsinn twittert'
Tweeten Sie Ihre CPU Temp
Nachdem Sie nun jeden gewünschten Unsinn veröffentlichen können, passen wir die App an die aktuelle CPU-Temperatur an, denn ich bin verdammt, wenn die Welt das nicht jede Stunde wissen muss.
Fügen Sie zunächst einen weiteren Import für die Betriebssystembibliothek hinzu:
os importieren
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 zu sehr erklären, da er nicht wirklich wichtig ist - er führt einen Befehl aus, der greift die Temperatur, teilt dann die Ausgabe auf, um die Zahl zu extrahieren, und twittert diese mit einem benutzerdefinierten Botschaft. Sie finden das komplette Beispielcode Hier.
Tweeten von Webcam-Bildern
Lassen Sie uns jetzt etwas wirklich Nützliches machen. Wir twittern Webcam-Bilder. Zum Glück unterstützt Twython die API-Funktion update_status_with_media, was die Dinge ziemlich einfach macht.
Schließen Sie eine USB-Webcam an Ihr Gerät an und überprü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-Kamera verwendet, die ohne zusätzliche Beinarbeit einwandfrei funktioniert hat.
Wir werden auch das verwenden Pygame Bibliotheken zum Fotografieren; Fügen Sie die folgenden Zeilen direkt nach den vorhandenen Importanweisungen hinzu:
Pygame importieren. importiere pygame.camera. aus pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Kamera ("/ dev / video0", (640.480)) cam.start () image = cam.get_image () pygame.image.save (Bild 'webcam.jpg')
Kurz gesagt, Sie haben die Webcam mit einer bestimmten Auflösung initialisiert (möglicherweise müssen Sie dies anpassen, da es sich um eine wirklich alte Kamera handelt), ein Bild aufgenommen und es als JPG gespeichert. Wir werden jedes Mal, wenn die App ausgeführt wird, dieselbe webcam.jpg überschreiben.
Passen Sie abschließend die Zeile update_status an:
Foto = offen ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = 'Mein RPi twittert jetzt Bilder =>')
Natürlich können Sie den Statustext bei Bedarf wieder auf Ihre aktuelle CPU-Temperatur ändern. Der komplette Code dafür Beispiel ist hier.
Kannst du das wiederholen?
Ein Twitter-Bot ist nur dann nützlich, wenn er automatisch mehrmals ausgeführt wird. Sie möchten nicht jede Stunde dort sitzen und den Befehl ausführen. Um dies zu erreichen, verwenden wir die CRON-Planungsfunktion des Pi (Was ist ein CRON-Job? Automatisieren Sie Ihre Wordpress-Sicherung mit Simple Shell Scripting & CRONAls wir das letzte Mal über Wordpress-Sicherungen gesprochen haben, habe ich Ihnen gezeigt, wie unglaublich einfach es ist, Ihre gesamte Datenbank und Dateien mit nur wenigen Befehlen über SSH zu sichern. Dieses Mal werde ich zeigen ... Weiterlesen )
sudo crontab -e
Fügen Sie diese Zeile ein, um sie stündlich auszuführen.
* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py
Ändern Sie das in * * * * * Wenn Sie möchten, dass es jede Minute ausgeführt wird, und bereit sind, Follower schneller zu verlieren als ein Twitter-Konto, das Follower schnell verliert.
Das ist für heute. Ich bin froh, dass ich mehr Albernheit zu dem riesigen Reichtum an nutzlosen Bytes im Internet beigetragen habe, und ich hoffe, dass Sie es auch tun! Zeigen Sie Ihre Wertschätzung für dieses Tutorial von twitternund lassen Sie uns dann wissen, worüber Ihr eigener Twitter-Bot in den Kommentaren twittern wird.
Bildnachweis: adafruit / flickr
James hat einen BSc in künstlicher Intelligenz und ist CompTIA A + und Network + zertifiziert. Er ist der Hauptentwickler von MakeUseOf und verbringt seine Freizeit mit VR-Paintball und Brettspielen. Er baut seit seiner Kindheit PCs.