gør det selv

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

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

Dette problem står over for næsten alle Raspberry Pi-brugere. Du har en Raspberry Pi, der kører derhjemme, og vil udføre en kommando på den. Spørgsmålet er, at du er uden for dit hjem, på dit mobilnetværk og ikke har nogen 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 muliggøre 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 det 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 - bare mail de kommandoer, du ønsker at køre på din Raspberry Pi. På denne måde er alt hvad du behøver 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? Her er hvad du har brug for for at konfigurere det:

Krav

Kom godt i gang

Opsæt IFTTT-opskrift

Vi bruger IFTTT til at distribuere kommandoer leveret via e-mail til Dropbox. Når du har oprettet 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 krøller og wget. Du har sandsynligvis allerede installeret disse, men vi installerer dem bare i tilfælde af:

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

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

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

3. Hent Dropbox Uploader-script fra GitHub, og marker det eksekverbart:

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

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

4. Kør det dropbox_uploader.sh manuskript. Du vil se en output som denne:

5. Nu skal du Opret 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 type adgang, der kræves. Langt om længe, Navn din app hvad du vil.

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

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

Opsæt Raspi Runner

Download din på 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.sh [/ 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 nedenfor. Når manuskriptet beder om den fulde vej til din Dropbox Uploader, indtast stien til din Hjem katalog (sandsynligvis / hjem / pi /), efterfulgt af mappenavn hvor du downloadede dropbox_uploader.sh manuskript. Hvis du fulgte denne vejledning ord for ord, kommer du ind / hjem / pi / raspi_email her.

Opsæt Crontab

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

[sourcecode] crontab -e [/ sourcecode]

Nederst i filen skal du tilføje følgende linje:

[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

Du skal blot sende en e-mail med de kommandoer, du vil udføre på din Pi til [email protected] fra e-mail-adresse, du brugte til at oprette din IFTTT-konto. E-mailens brødtekst indeholder kommandoen. Du kan tilføje det emne, du kan lide, til e-mailen, men det anbefales, at du tilføjer et emne. I det følgende eksempel befaler jeg min Raspberry Pi til lukke ned:

Efter den 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 opsættes og kommer i gang med Raspberry Pi 3 (startvejledning)

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

Så dette er, hvordan du kan bruge IFTTT, Dropbox og noget kommandolinjemagi til at køre kommandoer eksternt på din Raspberry Pi. Som nævnt i starten fungerer denne metode selvfølgelig også med ethvert Linux- eller Unix-lignende system med Bash-skallen installeret.

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

Mød YouTube Space Labs globale vindere
YouTube annoncerede vinderne af YouTube Space Lab, videnskabskonkurrencen, der udfordrede studerende fra 14 til 18 år til at designe et videnskabelig...
50+ Bedste Vine-videoer nogensinde, Happy First Birthday Vine
I dag er den første fødselsdag for Twitter-ejet mobilapplikation Vine. På et år har Vine fået mere end 40 millioner brugere, selv mærkerne er begyndt ...
Twitter prøver at finde Rahul Gandhi med 'Hvor er Rahul Gandhi' Trend
Den indiske nationale kongres dystre optræden ved det for nylig afholdte valg i Maharashtra og Haryana havde efterladt alle ivrige efter at vide, hvad...