Comment exécuter des commandes sur Raspberry Pi par e-mail

  • Joshua Davis
  • 0
  • 4685
  • 1142

Ce problème est rencontré par presque tous les utilisateurs de Raspberry Pi. Vous avez un Raspberry Pi en cours d'exécution à la maison et souhaitez exécuter une commande dessus. Le problème est que vous êtes hors de chez vous, sur votre réseau mobile et que vous n'avez aucun moyen d'accéder à votre Pi. Vous pouvez obtenir une adresse IP statique ou utiliser l'un des services DNS dynamiques pour activer l'accès à votre réseau domestique. Cependant, c'est tout simplement trop gênant pour la plupart des gens et demande trop d'efforts pour peu de gains. De plus, il ouvre votre Raspberry Pi aux attaques par force brute, puisque le port SSH est maintenant exposé au monde.

La bonne nouvelle est qu'il existe une méthode plus pratique et plus sûre - envoyez simplement les commandes que vous souhaitez exécuter sur votre Raspberry Pi. De cette façon, tout ce dont vous avez besoin est un client de messagerie et une connexion Internet fonctionnelle sur votre Pi. Aucune connexion et aucune adresse IP statique. De plus, cette méthode fonctionne non seulement avec le Raspberry Pi, mais avec n'importe quelle distribution Linux avec le shell Bash et cURL installés. Cela paraît bien? Voici ce dont vous avez besoin pour le configurer:

Exigences

  • Un Raspberry Pi avec une connexion Internet fonctionnelle.
  • Un compte sur IFTTT.com.
  • Un compte Dropbox.

Commencer

Configurer la recette IFTTT

Nous utiliserons IFTTT pour distribuer les commandes envoyées par e-mail à Dropbox. Après avoir créé un compte IFTTT, vous devrez utiliser le "Exécuter les commandes bash sur Raspberry Pi par e-mail »recette. Allez simplement à cette recette IFTTT, et cliquez sur Ajouter.

Configurer Dropbox Uploader

Nous avons besoin Téléchargeur Dropbox - un programme de ligne de commande qui peut télécharger, télécharger, répertorier ou supprimer des fichiers depuis Dropbox. Voici comment le configurer:

1. Sur votre Raspberry Pi, obtenir le logiciel prérequis boucle et wget. Vous les avez probablement déjà installés, mais nous les installerons au cas où:

[code source] sudo apt installer wget curl [/ code source]

2. Créer un dossier où nous allons l'installer. Ici, j'ai créé un répertoire appelé raspi_email dans mon dossier personnel:

[code source] mkdir ~ / raspi_email
cd ~ / raspi_email [/ sourcecode]

3. Obtenir le Script Dropbox Uploader de GitHub, et marquer comme exécutable:

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

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

4. Exécuter les dropbox_uploader.sh scénario. Vous verrez une sortie comme celle-ci:

5. Maintenant tu dois créer une application Dropbox. Connectez-vous à Dropbox, accédez à cette URL, où vous verrez un écran qui ressemble à ceci:

6. Comme dans l'image ci-dessus, choisissez d'abord le API Dropbox, puis sélectionnez Dropbox complet dans le type d'accès requis. finalement, Nom votre application ce que vous aimez.

7. Une fois votre nouvelle application créée, faites défiler jusqu'à OAuth2 et cliquez sur le produire bouton pour générer un jeton d'accès. Vous verrez maintenant un jeton d'accès généré où le produire bouton était. Copiez ce jeton, collez-le dans votre terminal et appuyez sur Entrer:

8. À vérifiez que votre compte fonctionne, exécuter la commande ./dropbox_uploader.sh liste - vous devriez voir une liste des fichiers de votre compte Dropbox.

Configurer Raspi Runner

Sur votre Raspberry Pi, téléchargez le Script Raspi Runner dans le raspi_email dossier que nous avons créé précédemment:

[code source] cd ~ / raspi_email

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

Faire le script exécutable, et exécutez-le:

[code source] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Vous verrez maintenant une invite comme l'image ci-dessous. Lorsque le script demande le chemin complet de votre Téléchargeur Dropbox, entrez le chemin à ton Accueil répertoire (probablement / home / pi /), suivi du nom du dossier dans lequel vous avez téléchargé le dropbox_uploader.sh scénario. Si vous avez suivi ce guide mot par mot, vous entrerez / home / pi / raspi_email ici.

Configurer Crontab

Une fois les bases en place, il faut planifier l'exécution de Raspi Runner. Par exemple, vous pouvez le configurer pour vérifier les e-mails toutes les 5 minutes. crontab pour ça. Sur votre Raspberry Pi, exécutez:

[code source] crontab -e [/ code source]

Au bas du fichier, ajoutez la ligne suivante:

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

Bien sûr, dans l'exemple ci-dessus, remplacer pi avec votre nom d'utilisateur, et raspi_email avec le dossier dans lequel vous avez placé le raspi_runner.sh script dans. Maintenant, enregistrez votre crontab.

Usage

Envoyez simplement un email avec les commandes que vous souhaitez exécuter sur votre Pi à [email protected] du adresse e-mail que vous avez utilisée pour configurer votre compte IFTTT. Le corps de l'e-mail contiendra la commande. Vous pouvez ajouter le sujet de votre choix à l'e-mail, mais il est recommandé d'en ajouter un. Dans l'exemple suivant, je commande à mon Raspberry Pi de fermer:

Après le délai que vous avez défini dans votre crontab, les raspi_runner.sh lancera et exécutera la commande contenue dans votre email.

VOIR AUSSI: Comment configurer et démarrer avec Raspberry Pi 3 (Guide de démarrage)

Exécutez les commandes à distance sur votre Raspberry Pi en utilisant IFTTT

Voici donc comment vous pouvez utiliser IFTTT, Dropbox et une certaine magie de ligne de commande pour exécuter des commandes à distance sur votre Raspberry Pi. Bien sûr, comme mentionné au début, cette méthode fonctionnera également avec tout système de type Linux ou Unix avec le shell Bash installé.

Restez à l'écoute pour plus de trucs et astuces Raspberry Pi à l'avenir. Si vous avez des difficultés à le configurer ou si vous souhaitez partager vos propres astuces IFTTT avec nous, assurez-vous de nous laisser un message dans la section commentaires ci-dessous.




Personne n'a encore commenté ce post.

Guides de gadgets, des technologies qui comptent
Nous publions des guides détaillés, créons des listes intéressantes des meilleurs produits sur le marché, couvrons du monde de la technologie