Cómo ejecutar comandos en frambuesa Pi por correo electrónico

Este problema es enfrentado por casi todos los usuarios de frambuesa Pi. Tienes un Pi de frambuesa corriendo en casa, y quieres ejecutar un comando en él. El problema es que estás fuera de tu casa, en tu red móvil, y no tienes forma de acceder a tu Pi. Puede obtener una dirección IP estática o utilizar uno de los servicios DNS dinámicos para permitir el acceso a su red doméstica. Sin embargo, esto es demasiado inconveniente para la mayoría de las personas y requiere demasiado esfuerzo para obtener poco beneficio. Además, abre tu frambuesa Pi a ataques de fuerza bruta, ya que el puerto SSH está ahora expuesto al mundo.

La buena noticia es que hay un método más conveniente y seguro – simplemente envíe por correo electrónico los comandos que desea ejecutar en su Pi de Frambuesa . De esta manera, todo lo que necesitas es un cliente de correo electrónico y una conexión a Internet que funcione en tu Pi. Sin inicios de sesión y sin IPs estáticas. Es más, este método no sólo funciona con el Pi de Raspberry, sino con cualquier distribución de Linux con el shell de Bash y cURL instalados. ¿Suena bien? Esto es lo que necesita para configurarlo:

Requisitos

  • Un frambuesa Pi con una conexión a Internet que funciona.
  • Una cuenta en IFTTT.com.
  • Una cuenta de Dropbox.

Introducción

Configurar Receta IFTTT

Usaremos IFTTT para distribuir comandos entregados por correo electrónico a Dropbox. Después de configurar una cuenta IFTTT, tendrá que usar el » Ejecutar los comandos bash en Raspberry Pi por e-mail» receta . Simplemente, vaya a esta receta IFTTT, y haga clic en Añadir

Configurar el cargador de Dropbox

Necesitamos Dropbox Uploader – un programa de línea de comandos que puede subir, descargar, listar o eliminar archivos de Dropbox. Así es como se configura :

1. En su frambuesa Pi, obtener el software de requisitos previos cURL y wget . Probablemente ya los tenga instalados, pero nosotros los instalaremos por si acaso:

sudo apt install wget curl[/sourcecode]

2. Cree una carpeta donde la configuraremos. Aquí, he creado un directorio llamado raspi_email en mi carpeta de inicio:

[código fuente]mkdir ~/raspi_email

cd ~/raspi_email[/sourcecode]

3. Obtener el Dropbox Uploader script de GitHub , y marcarlo como ejecutable :

[sourcecode]wget https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

chmod +x./dropbox_uploader.sh[/sourcecode]

4. Ejecute el script dropbox_uploader.sh. Verá una salida como ésta:

5. Ahora necesita crear una aplicación Dropbox . Inicie sesión en Dropbox, vaya a esta URL, donde verá una pantalla como esta:

6. Como en la imagen anterior, primero elija Dropbox API , luego seleccione Full Dropbox en el tipo de acceso necesario. Por último, Nombre de tu aplicación como quieras.

7. Una vez creada la nueva aplicación, desplácese hacia abajo hasta la sección OAuth2 y haga clic en el botón Generar para generar un token de acceso. Ahora verá un token de acceso generado donde estaba el botón Generar . Copie este token, péguelo en su terminal y presione Enter :

8. Para verificar que su cuenta está funcionando , ejecute el comando./dropbox_uploader.sh list – debería ver una lista de los archivos en su cuenta de Dropbox.

Configurar Raspi Runner

En su Raspberry Pi, descargue el script Raspi Runner en la carpeta raspi_email que creamos anteriormente:

cd ~/raspi_email

wget https://raw.github.com/enkydu/Raspi_Runner/master/raspi_runner.sh[/sourcecode]

Haga que el script sea ejecutable , y ejecútelo:

[código fuente]chmod +x./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Ahora verá un aviso como el de la imagen de abajo. Cuando el script le pida la ruta completa a su Dropbox Uploader , ingrese la ruta a su directorio Home (probablemente /home/pi/), seguido por el nombre de la carpeta en la que descargó el script dropbox_uploader.sh. Si ha seguido esta guía palabra por palabra, escribirá /home/pi/raspi_email aquí.

Configurar Crontab

Una vez que los fundamentos están en su lugar, es necesario programar la ejecución de Raspi Runner . Por ejemplo, puede configurarlo para que busque mensajes de correo electrónico cada 5 minutos, para lo cual utilizaremos crontab . En tu frambuesa Pi, corre:

código fuente]crontab -e[/código fuente]

En la parte inferior del archivo, agregue la siguiente línea:

[código fuente]*/5 * * * * * * /home/pi/raspi_email/raspi_runner.sh> /dev/null 2>&1[/sourcecode]

Por supuesto, en el ejemplo anterior, reemplace pi con su nombre de usuario, y raspi_email con la carpeta en la que colocó el script raspi_runner.sh. Ahora guarde su crontab.

Uso

Simplemente envíe un correo electrónico con los comandos que desea ejecutar en su Pi a [email protected] desde la dirección de correo electrónico que utilizó para configurar su cuenta IFTTT . El cuerpo del correo electrónico contendrá el comando. Puede agregar cualquier asunto que desee al correo electrónico, pero se recomienda que agregue uno. En el siguiente ejemplo, estoy ordenando a mi Pi de Frambuesa que se apague :

Después de la cantidad de retraso que usted establezca en su crontab , el raspi_runner.sh se ejecutará y ejecutará el comando contenido en su correo electrónico.

VER TAMBIÉN:Cómo configurar y empezar a usar frambuesa Pi 3 (Guía de inicio)

Ejecutar comandos remotamente en su frambuesa Pi usando IFTTT

Así que así es como puedes usar IFTTTT, Dropbox, y algo de magia de línea de comandos para ejecutar comandos remotamente en tu frambuesa Pi. Por supuesto, como se mencionó al principio, este método también funcionará con cualquier sistema Linux o Unix con el shell de Bash instalado.

Manténgase en sintonía para más consejos y trucos de frambuesa Pi en el futuro. Si tienes problemas para configurarlo, o quieres compartir algunos de tus propios trucos IFTTT con nosotros, asegúrate de escribirnos en la sección de comentarios de abajo.

Deja un comentario