Come eseguire comandi su Raspberry Pi tramite e-mail

Questo problema è affrontato da quasi tutti gli utenti di Raspberry Pi. Hai un Raspberry Pi in esecuzione a casa e desideri eseguire un comando su di esso. Il problema è che sei fuori casa, sulla tua rete mobile e non hai modo di accedere al tuo Pi. È possibile ottenere un indirizzo IP statico o utilizzare uno dei servizi DNS dinamici per consentire l’accesso alla rete domestica. Tuttavia, questo è troppo scomodo per la maggior parte delle persone e richiede troppi sforzi per un piccolo guadagno. Inoltre, apre il tuo Raspberry Pi ad attacchi di forza bruta, poiché la porta SSH è ora esposta al mondo.

La buona notizia è che esiste un metodo più conveniente e più sicuro: invia semplicemente via e-mail i comandi che desideri eseguire sul tuo Raspberry Pi. In questo modo, tutto ciò di cui hai bisogno è un client di posta elettronica e una connessione Internet funzionante sul tuo Pi. Nessun accesso e nessun IP statico. Inoltre, questo metodo non funziona solo con Raspberry Pi, ma con qualsiasi distribuzione Linux con la shell Bash e cURL installati. Sembra fantastico? Ecco cosa ti serve per configurarlo:

Requisiti

  • Un Raspberry Pi con una connessione Internet funzionante.
  • Un account su IFTTT.com.
  • Un account Dropbox.

Iniziare

Imposta la ricetta IFTTT

Utilizzeremo IFTTT per distribuire i comandi inviati tramite e-mail a Dropbox. Dopo aver impostato un account IFTTT, dovrai utilizzare il “Esegui i comandi bash su Raspberry Pi tramite e-mail” ricetta. Semplicemente, vai su questa ricetta IFTTT e fai clic su Aggiungere.

ifttt-ricetta-per-eseguire-comandi-su-pi-via-e-mail

Configura l’uploader di Dropbox

Abbiamo bisogno Caricatore di Dropboxun programma da riga di comando in grado di caricare, scaricare, elencare o eliminare file da Dropbox. Ecco come configurarlo:

1. Sul tuo Raspberry Pi, ottenere il software prerequisito arricciare e wget. Probabilmente li hai già installati, ma li installeremo per ogni evenienza:

[sourcecode]sudo apt install wget curl[/sourcecode]

2. Crea una cartella dove lo installeremo. Qui, ho creato una directory chiamata raspi_email nella mia cartella Inizio:

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

3. Ottenere il Script di caricamento di Dropbox da GitHube contrassegnalo come eseguibile:

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

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

4. Corri il dropbox_uploader.sh sceneggiatura. Vedrai un output come questo:

caricatore di dropbox

5. Ora devi crea un’app Dropbox. Accedi a Dropbox, vai a questo URL, dove vedrai una schermata simile a questa:

dropbox-api

6. Come nell’immagine sopra, prima scegli il API Dropboxquindi selezionare Dropbox completo nel tipo di accesso necessario. Infine, Nome la tua app come preferisci.

7. Dopo che la tua nuova app è stata creata correttamente, scorri verso il basso fino a OAuth2 sezione e fare clic su creare pulsante per generare un token di accesso. Ora vedrai un token di accesso generato in cui il file creare pulsante era. Copia questo token, incollalo nel tuo terminale e premi accedere:

dropbox-uploader2

8. Per verifica che il tuo account funzionieseguire il comando ./dropbox_uploader.sh list – dovresti vedere un elenco dei file nel tuo account Dropbox.

Prepara Raspi Runner

Sul tuo Raspberry Pi, scarica il file Sceneggiatura Raspi Runner nel raspi_email cartella che abbiamo creato in precedenza:

[sourcecode] cd ~/raspi_email

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

Crea la sceneggiatura eseguibileed eseguilo:

[sourcecode]chmod +x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Ora vedrai un messaggio come l’immagine qui sotto. Quando lo script richiede il percorso completo del tuo Caricatore di Dropbox, entrare nel percorso alla tua Casa directory (probabilmente /home/pi/), seguito dal nome della cartella in cui hai scaricato il dropbox_uploader.sh sceneggiatura. Se hai seguito questa guida parola per parola, entrerai /home/pi/raspi_email qui.

raspi-runner

Configura Crontab

Una volta che le basi sono a posto, è necessario programmare la corsa di Raspi Runner. Ad esempio, puoi impostarlo per controllare le e-mail ogni 5 minuti. Useremo crontab per questo. Sul tuo Raspberry Pi, esegui:

[sourcecode]crontab -e[/sourcecode]

Nella parte inferiore del file, aggiungi la seguente riga:

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

Naturalmente, nell’esempio sopra, sostituire pi con il tuo nome utente e raspi_email con la cartella che hai inserito raspi_runner.sh script in. Ora salva il tuo crontab.

Utilizzo

Invia semplicemente un’e-mail con i comandi che desideri eseguire sul tuo Pi a trigger@ricetta.ifttt.com dal indirizzo email che hai utilizzato per configurare il tuo account IFTTT. Il corpo dell’e-mail conterrà il comando. Puoi aggiungere qualsiasi oggetto che desideri all’e-mail, ma si consiglia di aggiungerne uno. Nell’esempio seguente, sto comandando al mio Raspberry Pi spegnimento:

e-mail

Dopo la quantità di ritardo che hai impostato nel tuo crontabil raspi_runner.sh eseguirà ed eseguirà il comando contenuto nella tua email.

VEDERE ANCHE: Come configurare e iniziare con Raspberry Pi 3 (Guida introduttiva)

Esegui i comandi in remoto sul tuo Raspberry Pi usando IFTTT

Quindi è così che puoi usare IFTTT, Dropbox e alcune magie della riga di comando per eseguire comandi in remoto sul tuo Raspberry Pi. Naturalmente, come accennato all’inizio, questo metodo funzionerà anche con qualsiasi sistema Linux o simile a Unix con la shell Bash installata.

Resta sintonizzato per ulteriori suggerimenti e trucchi su Raspberry Pi in futuro. Se hai problemi a configurarlo o vuoi condividere con noi alcuni dei tuoi fantastici trucchi IFTTT, assicurati di scriverci una riga nella sezione commenti qui sotto.

Leave a Comment

Your email address will not be published.