Cómo construir un bot de Twitter Raspberry Pi

Cómo construir un bot de Twitter Raspberry Pi / Bricolaje

Twitter es el repositorio más grande del mundo de mensajes cortos de personas que no tienen nada que decir, y ahora usted también puede contribuir a ese proyecto épico con un robot de Twitter automatizado, impulsado por su Raspberry Pi. Estoy bromeando, por supuesto, algunas personas realmente tuitean cosas interesantes Cómo usar Twitter para buscar mentores en tu área de interés Cómo usar Twitter para buscar mentores en tu área de interés En el mundo real, un mentor es un sabio Maestro que apoya y guía a alguien, y los ayuda a maximizar su potencial. En el mundo en línea, sería muy afortunado de encontrar a alguien que ... Leer más. Sin embargo, no soy uno de ellos. Utilizo mi mina para la promoción descarada de productos a cambio de material gratuito, entradas a competiciones y publicación automática de nuevos episodios de nuestro propio podcast de 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 agregar a la utilidad de mi flujo personal de Twitter al hacer que una Raspberry Pi tuitee automáticamente la temperatura actual de la CPU cada hora, y una imagen de cámara web!

Empezando

Este proyecto utiliza Python; Un lenguaje de programación simple ideal para proyectos de bricolaje. Comenzaremos instalando Twython en la Pi: un módulo de Python para interactuar con Twitter; configurando un Twitter “solicitud” para obtener una clave API; Entonces ve a hacer las cosas de tweet de Pi en nuestro nombre. Va a ser muy divertido!

Estoy haciendo esto en Raspian, pero en teoría debería funcionar en cualquier sistema operativo basado en Linux que tengas en los sistemas operativos Pi 11 que puedes ejecutar en Raspberry Pi. 11 Sistemas operativos que puedes ejecutar en Raspberry Pi. El hardware de Raspberry Pi es solo uno. lado de la moneda. Aquí hay algunos sistemas operativos diferentes de Raspberry Pi que puede instalar. Lee mas . Si aún no lo ha hecho, asegúrese de configurar SSH para que podamos iniciar sesión de manera remota y ejecutar los comandos de la consola.

Instalando Twython

Es una buena idea ejecutar primero las actualizaciones. Copie y pegue los siguientes comandos uno por uno; 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 

Registro de una aplicación de Twitter

Para utilizar la API de Twitter, es decir, la interfaz REST que usaremos para publicar nuevos Tweets e interactuar generalmente con Twitter fuera del sitio web de Twitter, tendremos que registrar una nueva aplicación. Hágalo desde este enlace: no necesita especificar una URL de devolución de llamada, y cree un sitio web si lo desea..

Verás algo parecido a esto una vez que hayas terminado: estas claves son únicas para ti.

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 la Tipo de aplicacion.

Una vez guardado, vuelve 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 adelante. Deberemos copiar y pegar algunas de esas claves en un minuto..

Crea tu proyecto Python

Comience por crear 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 clave está rodeada por 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 import sys desde twython import 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 (status = sys.argv [1]) 

Presione Ctrl-X y presione Y para salir y guardar el archivo. Hazlo ejecutable con el siguiente comando (reemplaza el nombre de tu archivo Python si eliges otra cosa)

sudo chmod + x SillyTweeter.py 

Ahora deberías poder probar tu capacidad para publicar tweets como:

python SillyTweeter.py 'Hola a todos, esta es mi Raspberry Pi que te ha enviado más mensajes sin sentido'

Tweeteando la temperatura de su CPU

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

Comience agregando otra importación para la biblioteca del sistema operativo:

importación 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 = 'Mi temperatura actual de la CPU es' + temp + 'C') 

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

Tweeting Webcam Pics

Ahora hagamos algo realmente útil; Vamos a tuitear las fotos de la webcam. Afortunadamente, Twython admite la función de actualización update_status_with_media, lo que hace que las cosas sean 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. Usé una cámara PS3 para Playstation 3 y funcionó bien sin ningún trabajo adicional.

También vamos a utilizar 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 desde pygame.locals importar * pygame.init () pygame.camera.init () cam = pygame.camera.Camera ("/ dev / video0", (640,480)) cam.start () image = cam.get_image () pygame.image.save (imagen, 'webcam.jpg') 

En resumen, has inicializado la cámara web a una resolución específica (es posible que debas ajustarla porque es una cámara muy antigua), tomaste una foto y la guardaste como un 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:

photo = open ('webcam.jpg', 'rb') api.update_status_with_media (media = photo, status = "Mi RPi está tuiteando imágenes ahora =>") 

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

Puede repetir eso?

Un bot de Twitter solo es útil si se ejecuta varias veces, automáticamente; no quieres estar sentado allí ejecutando el comando cada hora. Para lograr esto, usemos la función de programación CRON de Pi (¿Qué es un trabajo de CRON? Automatice su copia de seguridad de Wordpress con Simple Shell Scripting y CRON Automatice su copia de seguridad de Wordpress Con Simple Shell Scripting y CRON La última vez que hablamos sobre las copias de seguridad de Wordpress, increíblemente fácil fue 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 ... Leer más)

sudo crontab -e

Pegar en esta línea, para correr cada hora..

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

Cambiar 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 más tonterías a la vasta riqueza de bytes inútiles en Internet, ¡y espero que usted también lo haga! Muestra tu aprecio por este tutorial por tuiteando, y luego háganos saber qué va a twittear su propio bot de Twitter en los comentarios.

Crédito de la imagen: adafruit / flickr.

Explorar más sobre: ​​Raspberry Pi, Twitter.