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

  • Samson Garrison
  • 0
  • 1459
  • 316

Casi todos los usuarios de Raspberry Pi enfrentan este problema. Tiene una Raspberry Pi ejecutándose en casa y desea ejecutar un comando en ella. El problema es que está fuera de su hogar, en su red móvil, y no tiene forma de acceder a su Pi. Puede obtener una dirección IP estática o usar uno de los servicios dinámicos de DNS 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 su Raspberry Pi a ataques de fuerza bruta, ya que el puerto SSH ahora está expuesto al mundo.

La buena noticia es que hay 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 sin IP estáticas. Además, este método no solo funciona con Raspberry Pi, sino con cualquier distribución de Linux con Bash shell y cURL instalados. ¿Suena bien? Esto es lo que necesita para configurarlo:

Requisitos

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

Empezando

Configurar receta IFTTT

Usaremos IFTTT para distribuir comandos entregados por correo electrónico a Dropbox. Después de configurar una cuenta IFTTT, deberá utilizar el "Ejecutar comandos bash en Raspberry Pi por correo electrónico "receta. Simplemente, vaya a esta receta IFTTT y haga clic en Añadir.

Configurar el cargador de Dropbox

Nosotros necesitamos Dropbox Uploader - un programa de línea de comandos que puede cargar, descargar, enumerar o eliminar archivos de Dropbox. Aquí está cómo configurarlo:

1. En tu Raspberry Pi, obtener el software prerrequisito rizo y wget. Probablemente ya tenga estos instalados, pero los instalaremos por si acaso:

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

2. Crear una carpeta donde lo instalaremos Aquí, he creado un directorio llamado raspi_email en mi carpeta de inicio:

[código fuente] mkdir ~ / raspi_email
cd ~ / raspi_email [/ código fuente]

3. Consigue el Script de Dropbox Uploader de GitHub, y marcarlo como ejecutable:

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

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

4. Ejecutar el dropbox_uploader.sh guión. Verá una salida como esta:

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

6 6. Como en la imagen de arriba, primero elija el API de Dropbox, luego seleccione Dropbox completo en el tipo de acceso necesario. Finalmente, Nombre tu aplicación como quieras.

7 7. Después de que su nueva aplicación se haya creado correctamente, desplácese hacia abajo hasta OAuth2 sección y haga clic en el Generar botón para generar un token de acceso. Ahora verá un token de acceso generado donde el Generar botón fue. Copia este token, pégalo en tu terminal y presiona Entrar:

8. A verifica que tu cuenta esté funcionando, ejecutar el comando ./dropbox_uploader.sh list - deberías ver una lista de los archivos en tu cuenta de Dropbox.

Configurar Raspi Runner

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

[código fuente] cd ~ / raspi_email

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

Hacer el guión ejecutable, y ejecutarlo:

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

./raspi_runner.sh[/sourcecode]

Ahora verá un mensaje como la imagen a continuación. Cuando el guión solicita el camino completo a su Dropbox Uploader, entrar en el camino para usted Hogar directorio (probablemente / inicio / pi /), Seguido por el nombre de la carpeta en el que descargaste el dropbox_uploader.sh guión. Si siguió esta guía palabra por palabra, ingresará / home / pi / raspi_email aquí.

Configurar Crontab

Una vez que lo básico esté en su lugar, es necesario programar la ejecución de Raspi Runner. Por ejemplo, puede configurarlo para verificar los correos electrónicos cada 5 minutos. crontab para esto. En su Raspberry Pi, ejecute:

[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 [/ código fuente]

Por supuesto, en el ejemplo anterior., reemplazar Pi con su nombre de usuario y raspi_email con la carpeta que colocaste raspi_runner.sh script in. Ahora guarde su crontab.

Uso

Simplemente envíe un correo electrónico con los comandos que desea ejecutar en su Pi a [correo electrónico protegido] desde el dirección de correo electrónico que usó 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, le ordeno a mi Raspberry Pi que apagar:

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

VEA TAMBIÉN: Cómo configurar y comenzar a usar Raspberry Pi 3 (Guía de inicio)

Ejecute comandos de forma remota en su Raspberry Pi usando IFTTT

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

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




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

Guías de compra de gadgets, tecnologías importantes
Publicamos guías detalladas para la compra de equipos, creamos listas interesantes de los mejores productos en el mercado, cubrimos noticias del mundo de la tecnología