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

  • Jack Hood
  • 0
  • 3784
  • 238

Dette problem står næsten for enhver Raspberry Pi-bruger. Du har en Raspberry Pi der kører derhjemme og vil udføre en kommando på den. Problemet er, at du er uden for dit hjem, på dit mobilnetværk og har ingen måde at få adgang til din Pi. Du kan få en statisk IP-adresse eller bruge en af ​​de dynamiske DNS-tjenester til at aktivere adgang til dit hjemmenetværk. Det er dog bare for ubelejligt for de fleste mennesker og tager for stor indsats for lidt gevinst. Derudover åbner det din Raspberry Pi for angreb fra brute-force, da SSH-porten nu er udsat for verden.

Den gode nyhed er, at der er en mere praktisk og mere sikker metode - e-mail blot de kommandoer, du ønsker at køre på din Raspberry Pi. På denne måde er alt hvad du har brug for en e-mail-klient og en fungerende internetforbindelse på din Pi. Ingen logins og ingen statiske IP'er. Hvad mere er, denne metode fungerer ikke kun med Raspberry Pi, men med enhver Linux-distro med Bash-shell og cURL installeret. Lyder fedt? Dette er, hvad du har brug for 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 bruger IFTTT til at distribuere kommandoer leveret via e-mail til Dropbox. Når du har opsat en IFTTT-konto, skal du bruge "Kør bash-kommandoer på Raspberry Pi via e-mail ”opskrift. Gå blot til denne IFTTT-opskrift, og klik på Tilføje.

Opsæt Dropbox Uploader

Vi behøver Dropbox-uploader - et kommandolinjeprogram, der kan uploade, downloade, liste eller slette filer fra Dropbox. Sådan konfigureres det:

1. På din Raspberry Pi, få den forudsatte software cURL og wget. Du har sandsynligvis allerede installeret disse, men vi vil installere dem i tilfælde af:

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

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

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

3. Hent Dropbox uploader script fra GitHub, og markér det eksekverbart:

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

chmod + x ./dropbox_uploader.shebrit/sourcecode]

4. Kør det dropbox_uploader.sh manuskript. Du vil se et output som dette:

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

6. Som på billedet ovenfor skal du først vælge Dropbox API, vælg derefter Fuld Dropbox i den nødvendige adgangsform. Endelig, Navn din app, hvad du vil.

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

8. Til kontroller, at din konto fungerer, udfør kommandoen ./dropbox_uploader.sh liste - du skal se en liste over filerne på din Dropbox-konto.

Indstil Raspi Runner

Download din Raspberry Pi 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.shebrit/sourcecode]

Lav scriptet eksekverbar, og kør det:

[sourcecode] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Du vil nu se en prompt som billedet herunder. Når scriptet beder om den fulde sti til din Dropbox-uploader, gå ind på stien til din Hjem katalog (sandsynligvis / Home / pi /), efterfulgt af mappens navn hvor du downloadede dropbox_uploader.sh manuskript. Hvis du fulgte denne vejledning ord for ord, indtaster du / Home / pi / raspi_email her.

Opsæt Crontab

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

[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]

Naturligvis i ovenstående eksempel, erstatte pi med dit brugernavn og raspi_email med den mappe, du placerede raspi_runner.sh script i. Gem nu din crontab.

Anvendelse

Send blot en e-mail med de kommandoer, du vil udføre på din Pi til [beskyttet via e-mail] fra e-mail-adresse, du brugte til at konfigurere din IFTTT-konto. Organets e-mail indeholder kommandoen. Du kan tilføje det emne, du vil, til e-mailen, men det anbefales, at du tilføjer et emne. I det følgende eksempel kommanderer jeg min Raspberry Pi til lukke ned:

Efter den mængde forsinkelse, du har angivet i din crontab, det raspi_runner.sh kører og udfører kommandoen i din e-mail.

SE OGSÅ: Sådan konfigureres og kommer du i gang med Raspberry Pi 3 (Starter Guide)

Kør kommandoer eksternt på din hindbærpi ved hjælp af IFTTT

Så dette er, hvordan du kan bruge IFTTT, Dropbox og nogle kommandolinjemagier til at køre kommandoer eksternt på din Raspberry Pi. Som nævnt i begyndelsen fungerer denne metode naturligvis også med ethvert Linux- eller Unix-lignende system med Bash-shell installeret.

Hold øje med flere Raspberry Pi-tip og -tricks i fremtiden. Hvis du har problemer med at opsætte det, eller vil dele nogle af dine egne seje IFTTT-tricks med os, skal du sørge for at give os en linje i kommentarfeltet nedenfor.




Endnu ingen kommentarer

Gadget til købsguider, teknologier der betyder noget
Vi udgiver detaljerede guider til køb af udstyr, skaber interessante lister over de bedste produkter på markedet, dækker nyheder fra teknologiens verden