Cómo construir un bot de Twitter Raspberry Pi

  • Owen Little
  • 0
  • 792
  • 36
Anuncio

Twitter es el mayor depósito mundial de mensajes cortos de personas sin nada que decir, y ahora usted también puede contribuir a ese proyecto épico con un bot 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 su área de interés Cómo usar Twitter para buscar mentores en su área de interés En el mundo real, un mentor es un sabio maestro que apoya y guía a alguien y les ayuda a maximizar su potencial. En el mundo en línea, sería muy afortunado de encontrar a alguien que ... Sin embargo, no soy uno de ellos: uso mi mina para promocionar productos descaradamente a cambio de cosas gratis, entradas para 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 haciendo que una Raspberry Pi twittee automáticamente su temperatura actual de CPU cada hora, y una imagen de cámara web!

Empezando

Este proyecto usa Python; Un lenguaje de programación simple ideal para proyectos de bricolaje. Comenzaremos instalando Twython en el Pi, un módulo de Python para interactuar con Twitter; configurar un Twitter “solicitud” 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 sistema operativo basado en Linux que tenga en los sistemas operativos Pi 11 Raspberry Pi que puede probar 11 Sistemas operativos Raspberry Pi que puede probar Sea cual sea su proyecto Raspberry Pi, hay un sistema operativo sistema para ello. Te ayudamos a encontrar el mejor sistema operativo Raspberry Pi para tus necesidades. . 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. Hágalo desde este enlace: no necesita especificar una URL de devolución de llamada, y simplemente cree un sitio web si lo desea.

Verás algo parecido a esto una vez que hayas terminado: estas teclas son exclusivas 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 el Tipo de aplicacion.

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.

Crea tu proyecto de 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 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 import sys from 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]) 

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 anterior api.update_status 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 (estado = 'La temperatura actual de mi CPU es' + temp + 'C') 

No explicaré demasiado este código porque realmente no importa: ejecuta un comando que capta la temperatura, luego divide la salida para extraer el número y lo tuitea con un mensaje personalizado. Puedes encontrar el código de ejemplo completo 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 simplifica las cosas.

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 Playstation 3 PSEye cam 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:

import pygame import pygame.camera desde pygame.locals import * 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, ha inicializado la cámara web con una resolución específica (es posible que deba ajustarla, es una cámara muy antigua), tomó una foto y la guardó como jpg. Solo vamos a sobrescribir la misma webcam.jpg cada vez que se ejecuta 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 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 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 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 CRON Automatice su copia de seguridad de Wordpress con scripting simple de Shell y CRON La última vez que hablamos de las copias de seguridad de Wordpress, le mostré cómo 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 ...)

sudo crontab -e

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

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

Cambia eso a * * * * * si desea que se ejecute cada minuto, y esté preparado 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 háganos saber de qué va a tuitear su propio bot de Twitter en los comentarios.

Crédito de imagen: adafruit / flickr




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.