DIY

Slik kjører du kommandoer på Raspberry Pi via e-post

Slik kjører du kommandoer på Raspberry Pi via e-post

Dette problemet står overfor nesten alle Raspberry Pi-brukere. Du har en Raspberry Pi som kjører hjemme, og vil utføre en kommando på den. Problemet er at du er utenfor hjemmet ditt, i mobilnettverket ditt, og ikke har noen måte å få tilgang til Pi-en din. Du kan få en statisk IP-adresse, eller bruke en av de dynamiske DNS-tjenestene for å gi tilgang til hjemmenettverket. Imidlertid er det bare for upraktisk for folk flest og tar for mye innsats for liten gevinst. I tillegg åpner det Raspberry Pi for brute-force angrep, siden SSH-porten nå er utsatt for verden.

Den gode nyheten er at det er en mer praktisk og sikrere metode - bare send kommandoer du ønsker å kjøre på Raspberry Pi via e-post. På denne måten er alt du trenger en e-postklient og en fungerende internettforbindelse på din Pi. Ingen pålogginger og ingen statiske IP-er. Dessuten fungerer denne metoden ikke bare med Raspberry Pi, men med hvilken som helst Linux-distro med Bash-skallet og cURL installert. Høres kult ut? Dette er hva du trenger for å konfigurere det:

Krav

Starter

Sett opp IFTTT-oppskrift

Vi vil bruke IFTTT til å distribuere kommandoer levert via e-post til Dropbox. Etter å ha opprettet en IFTTT-konto, må du bruke “Kjør bash-kommandoer på Raspberry Pi via e-post ”oppskrift. Bare gå til denne IFTTT-oppskriften, og klikk på Legge til.

Sett opp Dropbox Uploader

Vi trenger Dropbox Uploader - et kommandolinjeprogram som kan laste opp, laste ned, liste opp eller slette filer fra Dropbox. Slik konfigurerer du det:

1. På din Raspberry Pi, få forutsette programvare krøll og wget. Du har sannsynligvis allerede disse installert, men vi installerer dem bare i tilfelle:

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

2. Lag en mappe hvor vi skal sette den opp. Her har jeg opprettet en katalog som heter raspi_email i hjemmemappen min:

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

3. Hent Dropbox Uploader-skript fra GitHub, og merk det som kjørbart:

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

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

4. Løp de dropbox_uploader.sh manus. Du vil se en utgang som dette:

5. Nå må du lage en Dropbox-app. Logg inn på Dropbox, gå til denne URL-en, der vil du se en skjerm som ser slik ut:

6. Som på bildet ovenfor, velg først Dropbox API, velg deretter Full Dropbox i hvilken type tilgang du trenger. Endelig, Navn appen din hva du vil.

7. Etter at den nye appen er opprettet, blar du ned til OAuth2 delen, og klikk på generere for å generere et tilgangstoken. Du vil nå se et generert tilgangstoken der generere knappen var. Kopier dette tokenet, lim det inn i terminalen og trykk Tast inn:

8. Til bekreft at kontoen din fungerer, utføre kommandoen ./dropbox_uploader.sh liste - du bør se en liste over filene i Dropbox-kontoen din.

Sett opp Raspi Runner

På Raspberry Pi laster du ned Raspi Runner-skript i raspi_email mappe vi opprettet tidligere:

[kildekode] cd ~ / raspi_email

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

Lag skriptet kjørbar, og kjør den:

[kildekode] chmod + x ./raspi_runner.sh

./raspi_runner.sh [/ kildekode]

Du vil nå se en melding som bildet nedenfor. Når skriptet ber om hele veien til din Dropbox Uploader, gå inn på stien til din Hjem katalog (sannsynligvis / hjem / pi /), etterfulgt av navnet på mappen der du lastet ned dropbox_uploader.sh manus. Hvis du fulgte denne veiledningen ord for ord, kommer du inn / hjem / pi / raspi_email her.

Sett opp Crontab

Når det grunnleggende er på plass, er det nødvendig å planlegge kjøringen av Raspi Runner. For eksempel kan du stille den til å se etter e-post hvert 5. minutt. Vi vil bruke crontab for dette. Kjør på Raspberry Pi:

[sourcecode] crontab -e [/ sourcecode]

Legg til følgende linje nederst i filen:

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

Selvfølgelig, i eksemplet ovenfor, erstatte pi med brukernavnet ditt, og raspi_email med mappen du plasserte raspi_runner.sh skript i. Lagre nå crontab.

Bruk

Bare send en e-post med kommandoene du vil utføre på Pi-en din [email protected] fra e-postadressen du brukte til å konfigurere IFTTT-kontoen din. Teksten til e-posten inneholder kommandoen. Du kan legge til hvilket emne du vil i e-posten, men det anbefales at du legger til et emne. I det følgende eksemplet befaler jeg Raspberry Pi skru av:

Etter den forsinkelsen du har angitt i crontab, de raspi_runner.sh vil kjøre og utføre kommandoen i e-posten din.

SE OGSÅ: Hvordan sette opp og komme i gang med Raspberry Pi 3 (Startguide)

Kjør kommandoer eksternt på din Raspberry Pi ved hjelp av IFTTT

Så dette er hvordan du kan bruke IFTTT, Dropbox og litt kommandolinjemagi til å kjøre kommandoer eksternt på Raspberry Pi. Som nevnt i begynnelsen, vil denne metoden selvfølgelig også fungere med alle Linux- eller Unix-lignende systemer med Bash-skallet installert.

Følg med for flere Raspberry Pi-tips og triks i fremtiden. Hvis du har problemer med å konfigurere det, eller vil dele noen av dine egne kule IFTTT-triks med oss, sørg for å gi oss en linje i kommentarfeltet nedenfor.

5 mest innflytelsesrike indiske webentreprenører
Internett vokser i enorm hastighet i India, og så folket hengir seg til online-satsinger. Her er listen over de 5 mest innflytelsesrike nettentreprenø...
Hvordan bli viral på internett? Vel, jeg har ingen idé
Det er ingen app (ikke engang betalt), som kan fortelle deg hvordan du blir viral på Internett. Hvis det var, kan det også ha gått viralt. Men det e...
15 sikkerhetstips for nettbank for å holde kontoen og pengene dine sikre
Tidligere var bankvirksomhet en ganske tungvint oppgave, ettersom du fysisk måtte gå til banken for å sende eller motta penger og fullføre andre grunn...