Hur man kör kommandon på Raspberry Pi via e-post

  • Thomas Glenn
  • 0
  • 5097
  • 414

Detta problem står inför nästan varje Raspberry Pi-användare. Du har en Raspberry Pi som körs hemma och vill köra ett kommando på det. Problemet är att du är utanför ditt hem, i ditt mobilnätverk och har inget sätt att komma åt din Pi. Du kan få en statisk IP-adress eller använda en av de dynamiska DNS-tjänsterna för att aktivera åtkomst till ditt hemnätverk. Men det är alldeles för obekvämt för de flesta och tar för mycket ansträngning för liten vinst. Dessutom öppnar det din Raspberry Pi för attacker med brute-force, eftersom SSH-porten nu utsätts för världen.

Den goda nyheten är att det finns en mer bekväm och säkrare metod - skicka bara de kommandon du vill köra på din Raspberry Pi. Det här sättet, allt du behöver är en e-postklient och en fungerande internetuppkoppling på din Pi. Inga inloggningar och inga statiska IP-adresser. Dessutom fungerar den här metoden inte bara med Raspberry Pi, utan även med någon Linux-distro med Bash-skalet och cURL installerat. Låter coolt? Här är vad du behöver för att ställa in det:

Krav

  • Raspberry Pi med fungerande internetuppkoppling.
  • Ett konto på IFTTT.com.
  • Ett Dropbox-konto.

Komma igång

Ställ in IFTTT-recept

Vi kommer att använda IFTTT för att distribuera kommandon som levereras via e-post till Dropbox. När du har skapat ett IFTTT-konto måste du använda "Kör bash-kommandon på Raspberry Pi via e-postrecept. Gå bara till det här IFTTT-receptet och klicka på Lägg till.

Ställ in Dropbox Uploader

Vi behöver Dropbox Uploader - ett kommandoradsprogram som kan ladda upp, ladda ner, lista eller ta bort filer från Dropbox. Så här ställer du in det:

1. På din Raspberry Pi, få den förutsatta programvaran ringla och wget. Du har antagligen redan installerat dessa, men vi kommer att installera dem för fall:

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

2. Skapa en mapp där vi kommer att ställa in det. Här har jag skapat en katalog som heter raspi_email i min hemmapp:

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

3. Få den Dropbox Uploader-skript från GitHub, och markera det körbara:

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

chmod + x ./dropbox_uploader.shebrit/sourcecode]

4. Kör de dropbox_uploader.sh manus. Du kommer att se en utgång som denna:

5. Nu måste du göra det skapa en Dropbox-app. Logga in på Dropbox, gå till denna URL, där du ser en skärm som ser ut så här:

6. Som på bilden ovan väljer du först Dropbox API, välj sedan Full Dropbox i vilken typ av åtkomst som behövs. Till sist, namn din app vad du vill.

7. När din nya app har skapats, bläddrar du ner till OAuth2 och klicka på Generera för att generera ett åtkomsttoken. Du kommer nu att se en genererad åtkomsttoken där Generera knappen var. Kopiera detta token, klistra in det i din terminal och tryck på Stiga på:

8. Till verifiera att ditt konto fungerar, köra kommandot ./dropbox_uploader.sh-lista - du bör se en lista över filerna i ditt Dropbox-konto.

Ställ in Raspi Runner

Ladda ner din Raspberry Pi Raspi Runner-skript i raspi_email mapp vi skapade tidigare:

[sourcecode] cd ~ / raspi_email

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

Gör manuset exekverbar, och kör det:

[sourcecode] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Du kommer nu att se en fråga som bilden nedan. När manuset ber om hela vägen till din Dropbox Uploader, ange vägen till din Hem katalog (förmodligen / Home / pi /) följt av mappens namn där du laddade ner dropbox_uploader.sh manus. Om du följde denna guide ord för ord kommer du in / Home / pi / raspi_email här.

Ställ in Crontab

När grunderna är på plats är det nödvändigt schemalägga körningen av Raspi Runner. Du kan till exempel ställa in den för att leta efter e-postmeddelanden var 5: e minut. Vi kommer att använda crontab för detta. Kör på din Raspberry Pi:

[sourcecode] crontab -e [/ sourcecode]

Lägg till följande rad längst ner i filen:

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

Naturligtvis i exemplet ovan, byta ut pi med ditt användarnamn och raspi_email med mappen du placerade raspi_runner.sh skript i. Spara nu din crontab.

Användande

Skicka bara ett e-postmeddelande med de kommandon du vill köra på din Pi till [e-postskyddad] från e-postadress du använde för att ställa in ditt IFTTT-konto. E-postens kropp kommer att innehålla kommandot. Du kan lägga till vilket ämne du vill i e-postmeddelandet, men det rekommenderas att du lägger till ett. I följande exempel beordrar jag min Raspberry Pi till stänga av:

Efter den mängd försening du ställde in i din crontab, de raspi_runner.sh kommer att köra och köra kommandot i din e-post.

SE OGSÅ: Hur man ställer in och kommer igång med Raspberry Pi 3 (Starter Guide)

Kör kommandon på distans på din hallonpi med IFTTT

Så det här är hur du kan använda IFTTT, Dropbox och vissa magiska kommandorader för att köra kommandon på distans på din Raspberry Pi. Naturligtvis, som nämnts i början, fungerar den här metoden också med alla Linux- eller Unix-liknande system med Bash-skalet installerat.

Håll ögonen öppna för fler tips och tricks från Raspberry Pi i framtiden. Om du har problem med att installera det, eller vill dela några av dina egna coola IFTTT-tricks med oss, se till att släppa oss en rad i kommentarfältet nedan.




Ingen har kommenterat den här artikeln än.

Gadgetköpguider, tekniker som betyder något
Vi publicerar detaljerade guider för att köpa utrustning, skapar intressanta listor över de bästa produkterna på marknaden, täcker nyheter från teknikvärlden