Recomendado, 2024

La Elección Del Editor

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

Este problema se enfrenta a casi todos los usuarios de Raspberry Pi. Tienes una Raspberry Pi funcionando en casa y quieres ejecutar un comando en ella. El problema es que estás fuera de tu hogar, en tu red móvil y no tienes forma de acceder a tu Pi. Puede obtener una dirección IP estática o usar uno de los servicios de DNS dinámico para permitir el acceso a su red doméstica. Sin embargo, eso es demasiado inconveniente para la mayoría de las personas y requiere demasiado esfuerzo para obtener poca ganancia. Además, abre tu Raspberry Pi a ataques de fuerza bruta, ya que el puerto SSH ahora está expuesto al mundo.

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

Requerimientos

  • Una Raspberry Pi con una conexión a Internet que funcione.
  • Una cuenta en IFTTT.com.
  • Una cuenta de Dropbox.

Empezando

Configurar la receta IFTTT

Usaremos IFTTT para distribuir los comandos entregados por correo electrónico a Dropbox. Después de configurar una cuenta de IFTTT, tendrá que usar la receta " Ejecutar comandos bash en Raspberry Pi por correo electrónico" . Simplemente, vaya a esta receta IFTTT y haga clic en Agregar .

Configurar Dropbox Uploader

Necesitamos Dropbox Uploader, un programa de línea de comandos que puede cargar, descargar, listar o eliminar archivos de Dropbox. Aquí es cómo configurarlo:

1. En su Raspberry Pi, obtenga el prerrequisito del software cURL y wget . Probablemente ya tengas estos instalados, pero los instalaremos por si acaso:

[código fuente] sudo apt install wget curl [/ sourcecode]

2. Crea 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. Obtenga el script de Dropbox Uploader de GitHub y márquelo como ejecutable :

[código fuente] wget //raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

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

4. Ejecute el script dropbox_uploader.sh . Verás una salida como esta:

5. Ahora necesitas crear una aplicación de Dropbox . Inicia sesión en Dropbox, ve a esta URL, donde verás una pantalla que se ve así:

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

7. Una vez que su nueva aplicación se haya creado con éxito, 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 tu Raspberry Pi, descarga el script Raspi Runner en la carpeta raspi_email que creamos anteriormente:

[código fuente] cd ~ / raspi_email

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

Haga el script ejecutable, y ejecútelo.

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

./raspi_runner.sh[/sourcecode]

Ahora verá un mensaje como el de la imagen de abajo. Cuando la secuencia de comandos solicite la ruta completa a su Dropbox Uploader, ingrese la ruta a su directorio de inicio (probablemente /home/pi/ ), seguido del nombre de la carpeta en la que descargó la dropbox_uploader.sh comandos dropbox_uploader.sh . Si siguió esta guía palabra por palabra, ingresará a /home/pi/raspi_email aquí.

Configurar Crontab

Una vez que los elementos básicos están en su lugar, es necesario programar la ejecución de Raspi Runner . Por ejemplo, puede configurarlo para que busque correos electrónicos cada 5 minutos. Usaremos crontab para esto. En tu Raspberry Pi, ejecuta:

[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 donde colocó el script raspi_runner.sh . Ahora guarde su archivo crontab.

Uso

Simplemente envíe un correo electrónico con los comandos que desea ejecutar en su Pi a [correo electrónico protegido] desde la dirección de correo electrónico que utilizó para configurar su cuenta de 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 Raspberry Pi que se apague :

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

Ejecute los comandos de forma remota en su Raspberry Pi usando IFTTT

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

Manténgase atento a más consejos y trucos de Raspberry Pi en el futuro. Si tiene problemas para configurarlo o si desea compartir algunos de sus propios trucos IFTTT, asegúrese de escribirnos una línea en la sección de comentarios a continuación.

Top