Recommandé, 2024

Choix De L'Éditeur

Comment exécuter des commandes sur Raspberry Pi par courrier électronique

Presque tous les utilisateurs de Raspberry Pi sont confrontés à ce problème. 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 à l'extérieur de votre domicile, 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 permettre l'accès à votre réseau domestique. Cependant, cela est trop gênant pour la plupart des gens et demande trop d’efforts pour un gain minime. En outre, il ouvre votre Raspberry Pi aux attaques par force brute, car le port SSH est maintenant exposé au monde entier.

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 . Ainsi, 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 toutes les distributions 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 en état de marche.
  • Un compte sur IFTTT.com.
  • Un compte Dropbox.

Commencer

Configurer la recette IFTTT

Nous utiliserons IFTTT pour distribuer les commandes livrées par courrier électronique à Dropbox. Après avoir configuré un compte IFTTT, vous devrez utiliser la recette « Exécuter les commandes bash sur Raspberry Pi par e-mail» . Simplement, allez à cette recette IFTTT, et cliquez sur Ajouter .

Configurer Dropbox Uploader

Nous avons besoin de Dropbox Uploader, un programme en ligne de commande permettant de télécharger, de répertorier ou de supprimer des fichiers de Dropbox. Voici comment le configurer:

1. Sur votre Raspberry Pi, procurez-vous les logiciels prérequis cURL et wget . Vous les avez probablement déjà installées, mais nous les installerons au cas où:

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

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

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

3. Obtenez le script Dropbox Uploader auprès de GitHub et marquez-le comme exécutable :

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

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

4. Exécutez le script dropbox_uploader.sh . Vous verrez une sortie comme celle-ci:

5. Vous devez maintenant créer une application Dropbox . Connectez-vous à Dropbox, allez à cette URL, où vous verrez un écran qui ressemble à ceci:

6. Comme dans l'image ci-dessus, choisissez d'abord l' API Dropbox, puis sélectionnez Full Dropbox dans le type d'accès requis. Enfin, nommez votre application comme bon vous semble.

7. Une fois votre nouvelle application créée, faites défiler la liste jusqu'à la section OAuth2, puis cliquez sur le bouton Générer pour générer un jeton d'accès. Vous verrez maintenant un jeton d'accès généré à l'emplacement du bouton Générer . Copiez ce jeton, collez-le dans votre terminal et appuyez sur Entrée :

8. Pour vérifier que votre compte fonctionne, exécutez la commande ./dropbox_uploader.sh list - 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 dossier raspi_email créé précédemment:

[code source] cd ~ / raspi_email

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

Rendre le script exécutable et l'exécuter:

[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 Dropbox Uploader, entrez le chemin de votre répertoire de départ (probablement /home/pi/ ), suivi du nom du dossier dans lequel vous avez téléchargé le script dropbox_uploader.sh . Si vous avez suivi ce guide mot à mot, vous entrerez ici /home/pi/raspi_email .

Configurer Crontab

Une fois que les bases sont en place, il est nécessaire de planifier le fonctionnement de Raspi Runner . Par exemple, vous pouvez le configurer pour qu'il vérifie les e-mails toutes les 5 minutes. Nous utiliserons crontab pour cela. Sur votre Raspberry Pi, lancez:

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

Au bas du fichier, ajoutez la ligne suivante:

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

Bien sûr, dans l'exemple ci-dessus, remplacez pi par votre nom d'utilisateur et raspi_email par le dossier dans raspi_runner.sh vous avez placé le script raspi_runner.sh . Enregistrez maintenant votre crontab.

Usage

Envoyez simplement un email avec les commandes que vous souhaitez exécuter sur votre Pi à l' adresse [email protected] à partir de l' adresse email que vous avez utilisée pour configurer votre compte IFTTT . Le corps de l'email 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 s'éteindre :

Après le délai que vous avez défini dans votre crontab, le programme raspi_runner.sh sera exécuté et exécutera la commande contenue dans votre courrier électronique.

Exécuter des commandes à distance sur votre Raspberry Pi avec IFTTT

Vous pouvez donc utiliser IFTTT, Dropbox et certains outils de ligne de commande pour exécuter des commandes à distance sur votre Raspberry Pi. Bien entendu, comme indiqué 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 conseils et d'astuces sur Raspberry Pi dans le futur. Si vous rencontrez des difficultés pour le configurer ou souhaitez partager certaines de vos astuces IFTTT avec nous, assurez-vous de nous laisser un message dans la section commentaires ci-dessous.

Top