Anbefalt, 2024

Redaksjonens

Slik kjører 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 ditt hjem, på mobilnettverket, og har ingen måte å få tilgang til din Pi. Du kan få en statisk IP-adresse, eller bruke en av de dynamiske DNS-tjenestene for å aktivere tilgang til hjemmenettverket. Men det er bare for upraktisk for de fleste og tar for mye innsats for lite gevinst. I tillegg åpner den din 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 e-post kommandoene du vil kjøre på Raspberry Pi . På denne måten er alt du trenger, en e-postklient og en fungerende internettforbindelse på Pi. Ingen pålogginger, og ingen statiske IP-er. Dessuten fungerer denne metoden ikke bare med Raspberry Pi, men med noen Linux distro med Bash shell og cURL installert. Høres kult ut? Her er det du trenger å sette opp:

Krav

  • En Raspberry Pi med en fungerende internettforbindelse.
  • En konto på IFTTT.com.
  • En Dropbox-konto.

Starter

Sett opp IFTTT Oppskrift

Vi vil bruke IFTTT til å distribuere kommandoer levert via e-post til Dropbox. Etter at du har konfigurert 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å Legg til .

Sett opp Dropbox Uploader

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

1. På din Raspberry Pi, få forutsetningen programvare cURL og wget . Du har sikkert allerede installert disse, men vi vil installere dem bare i tilfelle:

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

2. Lag en mappe der vi skal sette opp det. Her har jeg opprettet en katalog som heter raspi_email i min hjemmemappe:

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

3.Dropbox Uploader-skriptet fra GitHub, og merk det kjørbart :

[kildekoden] wget //raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

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

4. Kjør dropbox_uploader.sh skriptet. Du ser en utgang slik:

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

6. Som i bildet ovenfor, velg først Dropbox API, og velg Full Dropbox i den typen tilgang du trenger. Til slutt, Navn din app uansett hva du liker.

7. Når den nye appen din er opprettet, blar du ned til OAuth2- delen, og klikker på Generer- knappen for å generere en tilgangstoken. Du vil nå se en generert tilgangstoken der Generate- knappen var. Kopier denne token, lim den inn i terminalen din, og trykk Enter :

8. For å verifisere at kontoen din fungerer, kjør kommandoen ./dropbox_uploader.sh list - du bør se en liste over filene i Dropbox-kontoen din.

Sett opp Raspi Runner

På Raspberry Pi, last ned Raspi Runner-skriptet i raspi_email mappen vi opprettet tidligere:

[kildekode] cd ~ / raspi_email

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

Gjør skriptet kjørbart, og kjør det:

[kildekode] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Du vil nå se en melding som bildet nedenfor. Når skriptet spør om hele banen til Dropbox Uploader, skriver du inn banen til din /home/pi/ (sannsynligvis /home/pi/ ), etterfulgt av navnet på mappen der du lastet ned dropbox_uploader.sh skriptet. Hvis du fulgte denne veiledningen ord for ord, vil du legge inn /home/pi/raspi_email her.

Sett opp Crontab

Når grunnleggende er på plass, er det nødvendig å planlegge driften av Raspi Runner . For eksempel kan du sette det for å sjekke etter e-post hvert 5. minutt. Vi vil bruke crontab for dette. På din Raspberry Pi, løp:

[kildekode] crontab-e [/ kildekode]

På bunnen av filen legger du til følgende linje:

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

Selvfølgelig, i eksemplet ovenfor, erstatt pi med brukernavnet ditt, og raspi_email med mappen du plasserte raspi_runner.sh skriptet inn. Lagre din crontab nå.

bruk

Bare send en e-post med kommandoene du vil utføre på Pi til [email protected] fra e-postadressen du brukte til å konfigurere din IFTTT-konto . E-postens kropp vil inneholde kommandoen. Du kan legge til hvilket emne du liker i e-posten, men det anbefales at du legger til en. I følgende eksempel befaler jeg min Raspberry Pi å stenge :

Etter hvor mye forsinkelse du har angitt i crontab, vil raspi_runner.sh kjøre og kjøre kommandoen som finnes i e-posten din.

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

Så dette er hvordan du kan bruke IFTTT, Dropbox, og noen kommandolinje magi til å kjøre kommandoer eksternt på Raspberry Pi. Selvfølgelig, som nevnt i begynnelsen, vil denne metoden også fungere med noe Linux eller Unix-lignende system med Bash-skallet installert.

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

Top