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

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 igång hemma och vill köra ett kommando på den. Problemet är att du är utanför ditt hem, på 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 bara för obekvämt för de flesta och kräver för mycket ansträngning för liten vinst. Dessutom öppnar den din Raspberry Pi för brute-force-attacker, eftersom SSH-porten nu är exponerad för världen.

Den goda nyheten är att det finns en bekvämare och säkrare metod – e-posta bara kommandona du vill köra på din Raspberry Pi. På så sätt behöver du bara 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 vilken Linux-distro som helst med Bash-skalet och cURL installerat. Låter coolt? Här är vad du behöver för att ställa in den:

Krav

  • En Raspberry Pi med en fungerande internetanslutning.
  • Ett konto på IFTTT.com.
  • A 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-post” recept. Gå till det här helt enkelt IFTTT receptoch klicka på Lägg till.

Konfigurera Dropbox Uploader

Vi behöver Dropbox Uploaderett 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, skaffa den nödvändiga programvaran ringla och wget. Du har förmodligen redan dessa installerade, men vi kommer att installera dem ifall:

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

2. Skapa en mapp där vi ska sätta upp 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 GitHuboch markera det 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 kommer att se en utgång så här:

dropbox-uppladdare

5. Nu måste du skapa en Dropbox-app. Logga in på Dropbox, gå till denna URLdär du kommer att se en skärm som ser ut så här:

dropbox-api

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

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

dropbox-uploader2

8. Till verifiera att ditt konto fungerarkör kommandot ./dropbox_uploader.sh list – du bör se en lista över filerna i ditt Dropbox-konto.

Ställ in Raspi Runner

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

[sourcecode] cd ~/raspi_email

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

Gör manuset körbaroch kör det:

[sourcecode]chmod +x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Du kommer nu att se en prompt som bilden nedan. När skriptet frågar efter hela vägen till din Dropbox Uploader, gå in på stigen 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 den här guiden ord för ord kommer du in /home/pi/raspi_email här.

raspi-löpare

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-postmeddelanden var 5:e minut. Vi kommer att använda crontab för detta. På din Raspberry Pi kör du:

[sourcecode]crontab -e[/sourcecode]

Lägg till följande rad längst ned 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 din 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 skapa ditt IFTTT-konto. E-postmeddelandets brödtext 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 att stänga av:

e-post

Efter mängden fördröjning du anger i din crontabden raspi_runner.sh kommer att köra och utföra kommandot i ditt e-postmeddelande.

SE ÄVEN: Hur du ställer 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ämndes i början, kommer denna metod också att fungera med alla Linux- eller Unix-liknande system med Bash-skalet installerat.

Håll utkik efter 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-trick med oss, se till att skicka oss en rad i kommentarsfältet nedan.

Stöd vårt arbete ❤️

Om du gillade den här artikeln, överväg att lämna dricks för att hjälpa oss fortsätta publicera bra innehåll.

Säker betalning med PayPal