Anuncio

Twitter es el mayor depósito mundial de mensajes cortos de personas sin nada que decir, y ahora usted también puede contribuya a ese proyecto épico con un bot de Twitter automatizado, impulsado por su Raspberry Pi. Estoy bromeando, por supuesto – algunas personas en realidad tuitean cosas interesantes Cómo usar Twitter para buscar mentores en su área de interésEn el mundo real, un mentor es un maestro sabio que apoya y guía a alguien, y lo ayuda a maximizar su potencial. En el mundo en línea, sería muy afortunado de encontrar a alguien que ... Lee mas . Sin embargo, no soy uno de ellos: utilizo el mío para promocionar productos descaradamente a cambio de cosas gratis, participaciones en la competencia y auto-publicación de nuevos episodios de nuestro propio podcast Technophilia. Lo que sea, ¡mis seguidores me aman!

@ w0lfiesmith Odio tu cuenta de Twitter. Tanto.

- Justin Pot (@jhpot) 21 de agosto de 2013

Ahora voy a aumentar la utilidad de mi transmisión personal de Twitter al hacer que una Raspberry Pi twittee automáticamente su temperatura actual de la CPU cada hora, ¡y una imagen de cámara web!

instagram viewer

Empezando

Este proyecto usa Python; Un lenguaje de programación simple ideal para proyectos de bricolaje. Comenzaremos instalando Twython en Pi: un módulo de Python para interactuar con Twitter; configurar una "aplicación" de Twitter para obtener una clave API; luego ve a hacer el tuit de Pi en nuestro nombre. ¡Va a ser muy divertido!

Estoy haciendo esto en Raspian, pero en teoría debería funcionar en cualquier SO basado en Linux que tienes en Pi 11 sistemas operativos que se ejecutan en su Raspberry PiCualquiera que sea su proyecto Raspberry Pi, hay un sistema operativo para ello. Te ayudamos a encontrar el mejor sistema operativo Raspberry Pi para tus necesidades. Lee mas . Si aún no lo ha hecho, asegúrese de configurar SSH para que podamos iniciar sesión de forma remota y ejecutar comandos de consola.

Instalar Twython

Es una buena idea ejecutar actualizaciones primero. Copie y pegue los siguientes comandos uno a la vez; la mayoría requerirá confirmación.

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

Registrar una aplicación de Twitter

Para usar la API de Twitter, es decir, la interfaz REST que usaremos para publicar nuevos Tweets y generalmente interactuar con Twitter fuera del sitio web de Twitter, necesitaremos registrar una nueva aplicación. Haz eso desde este enlace - no es necesario que especifique una URL de devolución de llamada y simplemente cree un sitio web si lo desea.

nueva-twitter-app

Verás algo parecido a esto una vez que hayas terminado: estas teclas son exclusivas para ti.

aplicación-twitter

De forma predeterminada, la aplicación está configurada en solo lectura, por lo que no podremos publicar tweets sin cambiar eso a Lee y escribe. Vaya a la pestaña Configuración y cambie el Tipo de aplicacion.

acceso de lectura y escritura

Una vez guardado, regrese a la Detalles pestaña y haga clic en el botón en la parte inferior para crear un token de acceso OAuth - esto le da a su aplicación acceso a su propia cuenta de Twitter. Actualice y deje la página abierta para más tarde: tendremos que copiar y pegar algunas de esas claves en un minuto.

token de acceso

Crea tu proyecto de Python

Comience haciendo un nuevo directorio para albergar su proyecto de Tweet, luego cree un nuevo archivo.

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

Puedes llamarlo como quieras, obviamente.

En el editor de texto que aparece, copie y pegue lo siguiente, reemplazando la clave del consumidor con la clave correspondiente de la página de la aplicación de Twitter que dejamos abierta anteriormente. Cada tecla está rodeada de comillas simples, así que asegúrese de no perderlas. Tenga en cuenta que LLAVE DE ACCESO es referido como Token de acceso en la página de la aplicación de Twitter.

#! / usr / bin / env python. sys de importación desde twython importar Twython. CONSUMER_KEY = '*************** SUS DATOS *****************' CONSUMER_SECRET = '*************** SUS DATOS *****************' ACCESS_KEY = '*************** SUS DATOS *****************' ACCESS_SECRET = '*************** SUS DATOS *****************' api = Twython (CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET) api.update_status (estado = sys.argv [1])

Presiona Ctrl-X y presiona Y para salir y guardar el archivo. Haga que sea ejecutable con el siguiente comando (reemplazando el nombre de su archivo Python si elige otra cosa)

sudo chmod + x SillyTweeter.py. 

Ahora debería poder probar su capacidad para publicar tweets de esta manera:

python SillyTweeter.py 'Hola a todos, este es mi Raspberry Pi twitteando más tonterías'

Tuiteando la temperatura de tu CPU

Ahora que puede publicar cualquier tontería que desee, ajustemos la aplicación para tomar la temperatura actual de la CPU, porque me condenaría si el mundo no necesita saber eso cada hora.

Comience agregando otra importación para la biblioteca os:

importar os

Luego agregue las siguientes líneas, reemplazando el api.update_status anterior del ejemplo anterior.

cmd = '/ opt / vc / bin / vcgencmd measure_temp' line = os.popen (cmd) .readline (). strip () temp = line.split ('=') [1] .split ("'") [0] api.update_status (status = 'La temperatura actual de mi CPU es' + temp + 'C')

No explicaré demasiado este código porque realmente no importa: ejecuta un comando que toma la temperatura, luego divide la salida para extraer el número y tuitea eso con un mensaje personalizado mensaje. Puedes encontrar el completo código de ejemplo aquí.

Tuitear fotos de la webcam

Ahora hagamos algo realmente útil; vamos a twittear fotos de la webcam. Afortunadamente, Twython admite la función API update_status_with_media, lo que hace las cosas bastante simples.

Conecte una cámara web USB a su dispositivo y verifique si se ha reconocido con el comando:

ls / dev / video *

si tú ves video0, Estás de suerte. Utilicé una cámara Playstation 3 PSEye y funcionó bien sin ningún trabajo adicional.

También vamos a usar el pygame bibliotecas para tomar una foto; agregue las siguientes líneas justo después de las declaraciones de importación existentes:

Importar Pygame. importar pygame.camera. de pygame.locals import * pygame.init () pygame.camera.init () cam = pygame.camera. Cámara ("/ dev / video0", (640,480)) cam.start () image = cam.get_image () pygame.image.save (imagen, 'webcam.jpg')

En resumen, ha inicializado la cámara web con una resolución específica (es posible que deba ajustarla, es una cámara muy vieja), tomó una foto y la guardó como jpg. Solo vamos a sobrescribir la misma webcam.jpg cada vez que se ejecute la aplicación.

Finalmente, ajuste la línea update_status para leer:

foto = abierta ('webcam.jpg', 'rb') api.update_status_with_media (media = foto, estado = 'Mi RPi estará tuiteando imágenes ahora =>')

Por supuesto, si lo desea, puede cambiar el texto de estado a la temperatura actual de su CPU nuevamente. El código completo para esto el ejemplo está aquí.

¿Puede repetir eso?

Un bot de Twitter solo es útil si se ejecuta varias veces, automáticamente; no quieres estar sentado ahí ejecutando el comando cada hora. Para lograr esto, usemos la función de programación CRON de Pi (¿Qué es un trabajo CRON? Automatice su copia de seguridad de Wordpress con scripting simple de Shell y CRONLa última vez que hablamos sobre las copias de seguridad de Wordpress, le mostré lo increíblemente fácil que era hacer una copia de seguridad de toda su base de datos y archivos a través de SSH con solo unos pocos comandos. Esta vez, voy a mostrar ... Lee mas )

sudo crontab -e

Pegue en esta línea, para ejecutar cada hora.

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

Cambia eso a * * * * * si quieres que se ejecute cada minuto, y prepárate para perder seguidores más rápido que una cuenta de Twitter que pierde seguidores rápidamente.

Eso es por hoy. ¡Estoy feliz de haber contribuido con más tonterías a la gran riqueza de bytes inútiles en Internet, y espero que tú también lo hagas! Muestra tu aprecio por este tutorial por twitteándolo, y luego cuéntanos de qué va a tuitear tu propio bot de Twitter en los comentarios.

Credito de imagen: adafruit / flickr

James tiene una licenciatura en Inteligencia Artificial y está certificado por CompTIA A + y Network +. Es el desarrollador principal de MakeUseOf, y pasa su tiempo libre jugando VR paintball y juegos de mesa. Ha estado construyendo computadoras desde que era un niño.