Sådan kører du kommandoer på Raspberry Pi via e-mail 1

Sådan kører du kommandoer på Raspberry Pi via e-mail

Dette problem står over for næsten alle Raspberry Pi-brugere. Du har en Raspberry Pi kørende derhjemme og vil udføre en kommando på den. Problemet er, at du er uden for dit hjem, på dit mobilnetværk og ikke har mulighed for at få adgang til din Pi. Du kan få en statisk IP-adresse eller bruge en af ​​de dynamiske DNS-tjenester til at give adgang til dit hjemmenetværk. Det er dog bare for ubelejligt for de fleste mennesker og kræver for meget indsats for lidt gevinst. Derudover åbner den din Raspberry Pi for brute-force-angreb, da SSH-porten nu er udsat for verden.

Den gode nyhed er, at der er en mere bekvem og mere sikker metode – e-mail blot de kommandoer, du ønsker at køre på din Raspberry Pi. På denne måde behøver du kun en e-mail-klient og en fungerende internetforbindelse på din Pi. Ingen logins og ingen statiske IP’er. Hvad mere er, denne metode virker ikke kun med Raspberry Pi, men med enhver Linux-distro med Bash-skallen og cURL installeret. Lyder fedt? Her er hvad du skal bruge for at konfigurere det:

Krav

  • En Raspberry Pi med en fungerende internetforbindelse.
  • En konto på IFTTT.com.
  • EN Dropbox konto.

Kom godt i gang

Konfigurer IFTTT-opskrift

Vi vil bruge IFTTT til at distribuere kommandoer leveret via e-mail til Dropbox. Efter at have oprettet en IFTTT-konto, skal du bruge “Kør bash-kommandoer på Raspberry Pi via e-mail” opskrift. Bare gå til dette IFTTT opskriftog klik på Tilføje.

Konfigurer Dropbox Uploader

Vi behøver Dropbox Uploaderet kommandolinjeprogram, der kan uploade, downloade, liste eller slette filer fra Dropbox. Sådan sætter du det op:

1. På din Raspberry Pi, få den nødvendige software krølle og wget. Du har sikkert allerede disse installeret, men vi installerer dem for en sikkerheds skyld:

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

2. Opret en mappe hvor vi vil sætte det op. Her har jeg oprettet en mappe kaldet raspi_email i min hjemmemappe:

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

3. Hent Dropbox Uploader script fra GitHubog marker det eksekverbart:

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

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

4. Løb det dropbox_uploader.sh manuskript. Du vil se et output som dette:

dropbox-uploader

5. Nu skal du oprette en Dropbox-app. Log ind på Dropbox, gå til denne URLhvor du vil se en skærm, der ser sådan ud:

dropbox-api

6. Som på billedet ovenfor skal du først vælge Dropbox APIog vælg derefter Fuld Dropbox i den nødvendige type adgang. Endelig, Navn din app hvad end du kan lide.

7. Når din nye app er oprettet, skal du rulle ned til OAuth2 sektionen, og klik på Frembringe knappen for at generere et adgangstoken. Du vil nu se et genereret adgangstoken, hvor Frembringe knappen var. Kopiér dette token, indsæt det i din terminal, og tryk på Gå ind:

dropbox-uploader2

8. Til kontrollere, at din konto fungererudfør kommandoen ./dropbox_uploader.sh list – du skulle se en liste over filerne på din Dropbox-konto.

Opsæt Raspi Runner

På din Raspberry Pi skal du downloade Raspi Runner script i raspi_email mappe vi oprettede tidligere:

[sourcecode] cd ~/raspi_email

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

Lav scriptet eksekverbarog kør det:

[sourcecode]chmod +x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Du vil nu se en prompt som billedet nedenfor. Når scriptet beder om den fulde vej til din Dropbox Uploader, gå ind på stien til din Hjem mappe (sandsynligvis /home/pi/), efterfulgt af navnet på mappen hvor du downloadede dropbox_uploader.sh manuskript. Hvis du fulgte denne vejledning ord for ord, kommer du ind /home/pi/raspi_email her.

raspi-løber

Konfigurer Crontab

Når det grundlæggende er på plads, er det nødvendigt at planlægge afviklingen af ​​Raspi Runner. For eksempel kan du indstille den til at tjekke for e-mails hvert 5. minut. Vi vil bruge crontab for det. På din Raspberry Pi skal du køre:

[sourcecode]crontab -e[/sourcecode]

Tilføj følgende linje i bunden af ​​filen:

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

Selvfølgelig, i ovenstående eksempel, erstatte pi med dit brugernavn, og raspi_email med den mappe, du har placeret raspi_runner.sh script ind. Gem nu din crontab.

Brug

Du skal blot sende en e-mail med de kommandoer, du ønsker at udføre på din Pi til [email protected] fra e-mailadresse, du brugte til at oprette din IFTTT-konto. Brødteksten i e-mailen vil indeholde kommandoen. Du kan tilføje et hvilket som helst emne, du kan lide, til e-mailen, men det anbefales, at du tilføjer et. I det følgende eksempel kommanderer jeg min Raspberry Pi til lukke ned:

e-mail

Efter mængden af ​​forsinkelse du indstiller i din crontabdet raspi_runner.sh vil køre og udføre kommandoen indeholdt i din e-mail.

SE OGSÅ: Sådan konfigurerer du og kommer i gang med Raspberry Pi 3 (Starterguide)

Kør kommandoer eksternt på din Raspberry Pi ved hjælp af IFTTT

Så det er sådan, du kan bruge IFTTT, Dropbox og noget kommandolinjemagi til at køre kommandoer eksternt på din Raspberry Pi. Selvfølgelig, som nævnt i begyndelsen, vil denne metode også fungere med ethvert Linux- eller Unix-lignende system med Bash-skallen installeret.

Hold dig opdateret for flere Raspberry Pi-tip og tricks i fremtiden. Hvis du har problemer med at konfigurere det, eller vil dele nogle af dine egne fede IFTTT-tricks med os, så sørg for at skrive til os i kommentarfeltet nedenfor.

Støt vores arbejde ❤️

Hvis du kunne lide denne artikel, kan du overveje at give drikkepenge for at hjælpe os med fortsat at udgive kvalitetsindhold.

Sikker betaling med PayPal