Creación de Bots en Twitter para IoT con Python y Tweepy

Clase 24 de 27Curso de Introducción al IoT

Resumen

¿Cómo configuramos una cuenta de desarrollador en Twitter?

Antes de comenzar con la creación de bots en Twitter, es fundamental contar con una cuenta de desarrollador aprobada. Esta aplicación puede llevar alrededor de un día para ser confirmada después de su solicitud. Los pasos para solicitar esta cuenta son:

  1. Completa el formulario en developer.twitter.com con una descripción detallada sobre el propósito de tu bot.
  2. Explica cómo manipularás los datos de Twitter y qué tipo de información compartirás.
  3. Si planeas usar una cuenta separada para tu bot, crea primero esta nueva cuenta de Twitter y luego solicita los permisos de desarrollador.

Al completar estos pasos, podrás avanzar a la configuración y desarrollo de tus aplicaciones conectadas con Twitter.

¿Cómo configuramos un bot en Twitter?

Para empezar a crear tu bot en Twitter, primero necesitas:

  1. Crear una nueva aplicación que se ligará a tu cuenta de Twitter.
  2. Proporcionar una descripción clara, indicando la ubicación y el propósito de los tuits generados por tu bot.
  3. Ajustar cualquier extensión o configuración extra necesaria para los desarrolladores de Twitter.
  4. Acordar con las políticas de datos de Twitter para regular las automatizaciones de tu bot, dado que Twitter tiene límites sobre la cantidad de tuits que pueden enviarse diariamente.

Generación de keys y tokens

Despues de crear la aplicación, es necesario generar las keys y tokens de acceso. Estos proporcionarán los permisos de escritura y lectura necesarios para operar con la API de Twitter. Estos elementos son cruciales y deberán ser exportados e incluidos en un script de configuración.

# Comandos para copiar y exportar las keys generadas por Twitter
export TWITTER_CONSUMER_KEY="tu_api_key"
export TWITTER_CONSUMER_SECRET="tu_api_secret"
export TWITTER_ACCESS_TOKEN="tu_access_token"
export TWITTER_ACCESS_SECRET="tu_access_secret"

¿Cómo configuramos la Raspberry Pi?

Ya establecida la cuenta de desarrollador y generados los keys y tokens, es tiempo de configurar la Raspberry Pi donde correrá el bot.

  1. Inicia sesión SSH en tu Raspberry Pi.
  2. Modifica el archivo de profile para incluir tus keys y tokens de Twitter.
  3. Asegúrate de tener instalados los paquetes necesarios, como twipi para integrar Twitter y requests para conectarse a dispositivos IoT.
  4. Verifica que estás usando una versión compatible de Python, idealmente Python 3.6 o superior.

Configuración del environment

Es importante que las keys y tokens de acceso estén correctamente almacenados en el entorno:

# Abre el archivo de profile y agrega tus keys
nano ~/.profile

# Pega las líneas de export correspondientes
source ~/.profile

¿Cómo implementamos el código del bot?

Con todos los elementos preparados, el siguiente paso es trabajar en el script del bot. Serás guiado a través de:

  1. La importación de los paquetes necesarios:

    • os
    • twipi
    • requests
    • time y datetime (disponibles por defecto)
  2. La obtención y autenticación de keys a través de Twipi.

  3. La creación de funciones para consultar los datos de los sensores.

  4. Configurar el mensaje que el bot publicará automáticamente. Este mensaje debe incluir:

    • Datos de temperatura, humedad, y polución recogidos de los dispositivos IoT.
    • Marcar con tiempo preciso cada entrada (año, mes, día, hora, minuto, segundo).
# Ejemplo de código para el mensaje del bot
mensaje = (
    f"Temperatura promedio: {average_temperature}°C\n"
    f"Humedad promedio: {average_humidity}%\n"
    f"Polución promedio: {average_pollution} ppm\n"
    f"Tiempo de registro: {time_good}"
)
api.update_status(mensaje)

¿Qué herramientas adicionales se deben considerar?

Finalmente, asegúrate que las herramientas adicionales y scripts de prueba están listos para ser utilizados. Esto incluye la ejecución de scripts para verificar la versión de Python y demás configuraciones esenciales que aseguran el correcto funcionamiento del bot. Con todos los elementos en marcha, estarás preparado para automatizar y mantener tu proyecto de IoT con Twitter.