Fai da te

Come eseguire comandi su Raspberry Pi tramite e-mail

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 vuoi 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 abilitare l'accesso alla rete domestica. Tuttavia, questo è semplicemente troppo scomodo per la maggior parte delle persone e richiede uno sforzo eccessivo per poco 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 email 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. Figo? Ecco cosa ti serve per configurarlo:

Requisiti

Iniziare

Imposta ricetta IFTTT

Useremo IFTTT per distribuire i comandi consegnati via e-mail a Dropbox. Dopo aver impostato un account IFTTT, dovrai utilizzare il "Esegui comandi bash su Raspberry Pi tramite e-mail ”ricetta. Semplicemente, vai a questa ricetta IFTTT e fai clic su Inserisci.

Configura l'uploader di Dropbox

Abbiamo bisogno Dropbox Uploader - un programma a 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:

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

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

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

3. Ottenere il Script di caricamento di Dropbox da GitHub, e contrassegnalo come eseguibile:

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

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

4. Esegui il dropbox_uploader.sh script. Vedrai un output come questo:

5. Ora ne hai bisogno creare un'app Dropbox. Accedi a Dropbox, vai a questo URL, dove vedrai una schermata simile a questa:

6. Come nell'immagine sopra, prima scegli il file API Dropbox, quindi seleziona Dropbox completo nel tipo di accesso necessario. Finalmente, Nome la tua app come preferisci.

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

8. Per verifica che il tuo account funzioni, eseguire il comando ./dropbox_uploader.sh elenco - dovresti vedere un elenco dei file nel tuo account Dropbox.

Imposta Raspi Runner

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

[codice sorgente] cd ~ / raspi_email

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

Crea la sceneggiatura eseguibile, ed eseguilo:

[codice sorgente] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

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

Imposta Crontab

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

[codice sorgente] crontab -e [/ codice sorgente]

In fondo al file, aggiungi la seguente riga:

[codice sorgente] * / 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 in cui hai inserito il file 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 [email protected] dal indirizzo email che hai utilizzato per impostare il tuo account IFTTT. Il corpo dell'email conterrà il comando. Puoi aggiungere qualsiasi oggetto all'email, ma è consigliabile aggiungerne uno. Nell'esempio seguente, comando al mio Raspberry Pi di spegnimento:

Dopo la quantità di ritardo impostata nel file crontab, il 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 comandi in remoto sul tuo Raspberry Pi usando IFTTT

Quindi è così che puoi utilizzare IFTTT, Dropbox e un po 'di magia della riga di comando per eseguire comandi in remoto sul tuo Raspberry Pi. Ovviamente, come accennato all'inizio, questo metodo funzionerà anche con qualsiasi sistema Linux o Unix con la shell Bash installata.

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

Photo Zoom for Facebook Extension ora disponibile per Firefox
Zoom foto per Facebook è un'estensione semplice e leggera per Facebook per vedere le immagini più grandi al passaggio del mouse su un'immagine ingrand...
Chris Strouth ha twittato merda, ho bisogno di un rene e poi ne ha ottenuto uno
Chris Strouth conviveva con una malattia renale da 3 anni, ma improvvisamente stava peggiorando. Aveva bisogno di un trapianto. Non sapendo cos'altro ...
3 modi migliori per inoltrare le chiamate su iPhone
L'inoltro di chiamata è una funzione molto sottovalutata sui telefoni e per le persone inconsapevoli, l'inoltro di chiamata è una funzione che ti cons...