Publicité

Twitter est le plus grand référentiel au monde de messages courts de personnes n'ayant rien à dire - et maintenant vous aussi, vous pouvez contribuer à ce projet épique avec un bot Twitter automatisé, alimenté par votre Raspberry Pi. Je plaisante, bien sûr – certaines personnes tweetent des choses intéressantes Comment utiliser Twitter pour rechercher des mentors dans votre domaine d'intérêtDans le monde réel, un mentor est un enseignant sage qui soutient et guide quelqu'un et l'aide à maximiser son potentiel. Dans le monde en ligne, vous seriez très chanceux de trouver quelqu'un qui ... Lire la suite . Je ne suis pas l'un d'eux cependant - j'utilise ma mine pour la promotion de produits sans vergogne en échange de trucs gratuits, de participations à la compétition et de la publication automatique de nouveaux épisodes de notre propre podcast Technophilia. Peu importe - mes disciples m'aiment!

@ w0lfiesmith Je déteste ton compte Twitter. Tellement de.

- Justin Pot (@jhpot) 21 Août 2013

Maintenant, je vais ajouter à l'utilité de mon flux Twitter personnel en ayant un Raspberry Pi tweet automatiquement sa température actuelle du processeur toutes les heures, et une image webcam!

Commencer

Ce projet utilise Python; un langage de programmation simple idéal pour les projets de bricolage. Nous allons commencer par installer Twython sur le Pi - un module Python pour l'interfaçage avec Twitter; mettre en place une «application» Twitter pour obtenir une clé API; puis passez à faire le tweet Pi en notre nom. Ça va être tellement amusant!

Je fais ça sur Raspian - mais cela devrait en théorie fonctionner sur tout OS basé sur Linux que vous avez sur le Pi 11 systèmes d'exploitation qui fonctionnent sur votre Raspberry PiQuel que soit votre projet Raspberry Pi, il existe un système d'exploitation pour cela. Nous vous aidons à trouver le meilleur système d'exploitation Raspberry Pi pour vos besoins. Lire la suite . Si ce n'est pas déjà fait, assurez-vous de configurer SSH afin que nous puissions nous connecter à distance et exécuter les commandes de la console.

Installer Twython

C'est une bonne idée d'exécuter les mises à jour en premier. Copiez et collez les commandes suivantes une par une - la plupart nécessiteront une confirmation.

mise à jour sudo apt-get. mise à jour sudo apt-get. sudo apt-get installe python-setuptools. sudo easy_install pip. sudo pip installe twython. 

Enregistrer une application Twitter

Pour utiliser l'API Twitter, c'est-à-dire l'interface REST que nous utiliserons pour publier de nouveaux Tweets et interagir généralement avec Twitter en dehors du site Web Twitter, nous devons enregistrer une nouvelle application. Fais ça à partir de ce lien - vous n'avez pas besoin de spécifier d'URL de rappel et de créer un site Web si vous le souhaitez.

nouvelle-application-twitter

Vous verrez quelque chose qui ressemble à ceci une fois que vous avez terminé - ces clés vous sont propres.

application Twitter

Par défaut, l'application est définie en lecture seule, nous ne pourrons donc pas publier de tweets sans changer cela en Lire et écrire. Accédez à l'onglet Paramètres et modifiez le Type d'application.

accès en lecture-écriture

Une fois enregistré, retournez au Détails onglet et cliquez sur le bouton en bas pour créer un jeton d'accès OAuth - cela permet à votre application d'accéder à votre propre compte Twitter. Actualisez et laissez la page ouverte pour plus tard - nous devrons copier-coller certaines de ces clés en une minute.

jeton d'accès

Créez votre projet Python

Commencez par créer un nouveau répertoire pour héberger votre projet Tweet, puis créez un nouveau fichier.

mkdir SillyTweeter. cd SillyTweeter. sudo nano SillyTweeter.py. 

Vous pouvez l'appeler comme bon vous semble, évidemment.

Dans l'éditeur de texte qui apparaît, copiez et collez ce qui suit, en remplaçant la clé du consommateur par la clé appropriée de la page d'application Twitter que nous avons laissée ouverte précédemment. Chaque touche est entourée de guillemets simples, alors assurez-vous de ne pas les manquer. Notez que CLEF D'ACCÈS est dénommé Jeton d'accès sur la page de l'application Twitter.

#! / usr / bin / env python. importer sys. à partir de twython, importez Twython. CONSUMER_KEY = '*************** VOS DONNÉES *****************' CONSUMER_SECRET = '*************** VOS DONNÉES *****************' ACCESS_KEY = '*************** VOS DONNÉES *****************' ACCESS_SECRET = '*************** VOS DONNÉES *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (status = sys.argv [1])

Appuyez sur Ctrl-X et appuyez sur Y pour quitter et enregistrer le fichier. Rendez-le exécutable avec la commande suivante (en remplaçant votre nom de fichier Python si vous avez choisi autre chose)

sudo chmod + x SillyTweeter.py. 

Vous devriez maintenant pouvoir tester votre capacité à publier des tweets comme ceci:

python SillyTweeter.py 'Bonjour à tous, c'est mon Raspberry Pi qui vous tweete plus de bêtises'

Tweeter la température de votre CPU

Maintenant que vous pouvez publier toutes les bêtises que vous voulez, ajustons l'application pour saisir la température actuelle du processeur, car je serai damné si le monde n'a pas besoin de le savoir toutes les heures.

Commencez par ajouter une autre importation pour la bibliothèque os:

importer os

Ajoutez ensuite les lignes suivantes, en remplaçant le précédent api.update_status de l'exemple ci-dessus.

cmd = '/ opt / vc / bin / vcgencmd mesure_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [0] api.update_status (status = 'Ma température CPU actuelle est' + temp + 'C')

Je n'expliquerai pas trop ce code car il n'a pas vraiment d'importance - il exécute une commande qui saisit la température, puis divise la sortie pour extraire le nombre, et tweets qu'avec un personnalisé message. Vous pouvez trouver le exemple de code ici.

Tweeter des photos de webcam

Faisons maintenant quelque chose de vraiment utile; nous allons tweeter des photos de webcam. Heureusement, Twython prend en charge la fonction API update_status_with_media, ce qui rend les choses plutôt simples.

Branchez une webcam USB sur votre appareil et vérifiez si elle a été reconnue avec la commande:

ls / dev / video *

si tu vois video0, tu es chanceux. J'ai utilisé une caméra Playstation 3 PSEye et cela a très bien fonctionné sans aucun travail supplémentaire.

Nous allons également utiliser le pygame bibliothèques pour prendre une photo; ajoutez les lignes suivantes juste après les instructions d'importation existantes:

importer pygame. importez pygame.camera. à partir de pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Appareil photo ("/ dev / video0", (640 480)) cam.start () image = cam.get_image () pygame.image.save (image, 'webcam.jpg')

En bref, vous avez initialisé la webcam à une résolution spécifique (vous devrez peut-être régler c'est une très vieille caméra), pris une photo et l'enregistrée au format jpg. Nous allons simplement remplacer le même webcam.jpg à chaque exécution de l'application.

Enfin, ajustez la ligne update_status pour lire:

photo = ouvert ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = 'Mon RPi tweete des images maintenant =>')

Bien sûr, si vous le souhaitez, vous pouvez à nouveau modifier le texte d'état en fonction de la température actuelle de votre processeur. Le code complet pour cela l'exemple est ici.

Peux-tu répéter cela?

Un bot Twitter n'est utile que s'il s'exécute plusieurs fois, automatiquement; vous ne voulez pas rester assis à exécuter la commande toutes les heures. Pour ce faire, utilisons la fonction de planification CRON de Pi (Qu'est-ce qu'un emploi CRON? Automatisez votre sauvegarde Wordpress avec des scripts Shell simples et CRONLa dernière fois que nous avons parlé des sauvegardes Wordpress, je vous ai montré combien il était incroyablement facile de sauvegarder l'intégralité de votre base de données et de vos fichiers via SSH avec seulement quelques commandes. Cette fois, je vais montrer ... Lire la suite )

sudo crontab -e

Collez dans cette ligne, pour exécuter toutes les heures.

* / 60 * * * * python /home/pi/SillyTweeter/SillyTweeter.py

Changer cela en * * * * * si vous voulez qu'il fonctionne toutes les minutes et soyez prêt à perdre des followers plus rapidement qu'un compte Twitter qui perd rapidement des followers.

C’est pour aujourd’hui. Je suis heureux d’avoir contribué plus sottement à la vaste richesse d’octets inutiles sur Internet, et j’espère que vous aussi! Montrez votre appréciation pour ce tutoriel par tweeting it, puis dites-nous ce que votre propre robot Twitter va tweeter dans les commentaires.

Crédit d'image: adafruit / flickr

James est titulaire d'un BSc en intelligence artificielle et est certifié CompTIA A + et Network +. Il est le développeur principal de MakeUseOf et passe son temps libre à jouer au paintball VR et aux jeux de société. Il construit des PC depuis qu'il est enfant.