DIY

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

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

Detta problem möter nästan alla Raspberry Pi-användare. Du har en Raspberry Pi som kör hemma och vill utföra ett kommando på den. Frågan är att du är utanför ditt hem, i ditt mobilnätverk och inte har något 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 möjliggöra å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 brute-force attacker, eftersom SSH-porten nu är utsatt för världen.

Den goda nyheten är att det finns en bekvämare och säkrare metod - maila bara de kommandon du vill köra på din Raspberry Pi. På det här sättet är allt du behöver en e-postklient och en fungerande internetanslutning på din Pi. Inga inloggningar och inga statiska IP-adresser. Dessutom fungerar den här metoden inte bara med Raspberry Pi utan 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

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-post ”recept. Gå enkelt till detta IFTTT-recept 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 radera filer från Dropbox. Så här ställer du in det:

1. På din Raspberry Pi, hämta den nödvändiga programvaran ringla och wget. Du har förmodligen redan installerat dessa, men vi installerar dem i alla fall:

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

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

[källkod] mkdir ~ / raspi_email
cd ~ / raspi_email [/ sourcecode]

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

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

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

4. Kör de dropbox_uploader.sh manus. Du ser en utdata så här:

5. Nu måste du 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älj först Dropbox API, välj sedan Full Dropbox i vilken typ av åtkomst som behövs. Till sist, namn din app vad du än vill.

7. När din nya app har skapats, bläddra ner till OAuth2 och klicka på Generera -knappen för att skapa en åtkomsttoken. Nu ser du en genererad åtkomsttoken där Generera knappen var. Kopiera den här token, klistra in den i din terminal och tryck Stiga på:

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

Ställ in Raspi Runner

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

[sourcecode] cd ~ / raspi_email

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

Gör manuset körbar, och kör den:

[källkod] chmod + x ./raspi_runner.sh

./raspi_runner.sh [/ källkod]

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 / hem / pi /) följt av mappens namn där du laddade ner dropbox_uploader.sh manus. Om du följde den här guiden 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 att schemalägg körningen av Raspi Runner. Du kan till exempel ställa in den så att den söker efter e-post var femte minut. Vi kommer att använda den 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 in. Spara nu crontab.

Användande

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

Efter den fördröjning du anger i din crontab, de raspi_runner.sh kör och kör kommandot i din e-post.

SE OCH: Så här ställer du in och kommer igång med Raspberry Pi 3 (startguide)

Kör kommandon på distans på din Raspberry Pi med IFTTT

Så det här är hur du kan använda IFTTT, Dropbox och lite kommandoradsmagi 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 Raspberry Pi-tips och tricks i framtiden. Om du har problem med att ställa in det eller vill dela några av dina egna coola IFTTT-tricks med oss, se till att skicka oss en rad i kommentarfältet nedan.

Sociala medier myter 3 saker Bloggare misslyckas med att inse
Alla vet vi att sociala medier är en av de största trafikkällorna. Sociala medier låter dig inte bara nå din publik personligen utan hjälper också dit...
När Larry Page träffade Sergey Brin [Interaktiv infografik]
Larry Page och Sergey Brin träffades för första gången 1995, grundade Google 1998 och nu är Google det som kommer bredvid Internet. Och denna interak...
Hur Hur man tjänar pengar på att skriva en blogg
Hur man tjänar pengar på att skriva en blogg
Blogga är ett populärt tidsfördriv. Det är ett enkelt sätt att dela dina tankar med resten av världen samtidigt som du behåller en viss grad av anon...