Opdrachten uitvoeren op Raspberry Pi via e-mail

  • Yurko Brovko
  • 0
  • 5152
  • 55

Dit probleem wordt geconfronteerd met bijna elke Raspberry Pi-gebruiker. Je hebt een Raspberry Pi die thuis draait en je wilt er een commando op uitvoeren. Het probleem is dat u zich buiten uw huis, op uw mobiele netwerk bevindt en geen toegang heeft tot uw Pi. U kunt een statisch IP-adres krijgen of een van de dynamische DNS-services gebruiken om toegang tot uw thuisnetwerk mogelijk te maken. Maar dat is voor de meeste mensen gewoon te lastig en kost te veel moeite voor weinig winst. Bovendien opent het je Raspberry Pi voor aanvallen met brute kracht, omdat de SSH-poort nu aan de wereld is blootgesteld.

Het goede nieuws is dat er een gemakkelijkere en veiligere methode is - e-mail gewoon de opdrachten die u op uw Raspberry Pi wilt uitvoeren. Op deze manier heb je alleen een e-mailclient en een werkende internetverbinding op je Pi nodig. Geen logins en geen statische IP's. Bovendien werkt deze methode niet alleen met de Raspberry Pi, maar met elke Linux-distro met de Bash-shell en cURL geïnstalleerd. Klinkt goed? Dit heb je nodig om het in te stellen:

Voorwaarden

  • Een Raspberry Pi met een werkende internetverbinding.
  • Een account op IFTTT.com.
  • Een Dropbox-account.

Beginnen

Stel IFTTT-recept in

We zullen IFTTT gebruiken om commando's die via e-mail zijn bezorgd naar Dropbox te verspreiden. Na het aanmaken van een IFTTT-account, moet u de "Voer bash-opdrachten uit op Raspberry Pi via e-mail ”recept. Ga gewoon naar dit IFTTT-recept en klik op Toevoegen.

Stel Dropbox Uploader in

Wij hebben nodig Dropbox-uploader - een opdrachtregelprogramma dat bestanden vanuit Dropbox kan uploaden, downloaden, weergeven of verwijderen. Hier is hoe het in te stellen:

1. Op je Raspberry Pi, verkrijg de vereiste software krullen en wget. U heeft deze waarschijnlijk al geïnstalleerd, maar we zullen ze installeren voor het geval:

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

2. Maak een map waar we het zullen opzetten. Hier heb ik een map gemaakt met de naam raspi_email in mijn thuismap:

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

3. Pak de Dropbox Uploader-script van GitHub, en markeer het uitvoerbaar:

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

chmod + x ./dropbox_uploader.sh/sourcecode]

4. Rennen de dropbox_uploader.sh script. Je ziet een output als deze:

5. Nu moet je maak een Dropbox-app. Log in bij Dropbox, ga naar deze URL, waar je een scherm ziet dat er als volgt uitziet:

6. Kies, zoals in de afbeelding hierboven, eerst de Dropbox-API, selecteer vervolgens Volledige Dropbox in het type toegang dat nodig is. Tenslotte, Naam uw app wat u maar wilt.

7. Nadat uw nieuwe app is gemaakt, scrolt u omlaag naar OAuth2 sectie en klik op de Genereer knop om een ​​toegangstoken te genereren. U ziet nu een gegenereerd toegangstoken waar de Genereer knop was. Kopieer dit token, plak het in uw terminal en druk op Enter:

8. Naar controleer of uw account werkt, voer de opdracht uit ./dropbox_uploader.sh lijst - je zou een lijst met de bestanden in je Dropbox-account moeten zien.

Stel Raspi Runner in

Download op uw Raspberry Pi de Raspi Runner-script in de raspi_email map die we eerder hebben gemaakt:

[broncode] cd ~ / raspi_email

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

Maak het script uitvoerbaar, en voer het uit:

[broncode] chmod + x ./raspi_runner.sh

./raspi_runner.sh"/sourcecode]

Je ziet nu een prompt zoals de onderstaande afbeelding. Wanneer het script vraagt ​​om het volledige pad naar je Dropbox-uploader, betreed het pad aan jouw Huis directory (waarschijnlijk / home / pi /), gevolgd door de naam van de map waarin u de dropbox_uploader.sh script. Als je deze gids woord voor woord hebt gevolgd, kom je binnen / home / pi / raspi_email hier.

Stel Crontab in

Als de basis eenmaal aanwezig is, is het noodzakelijk plan de werking van Raspi Runner. U kunt bijvoorbeeld instellen dat er elke 5 minuten op e-mails wordt gecontroleerd crontab voor deze. Voer op je Raspberry Pi uit:

[sourcecode] crontab -e [/ sourcecode]

Voeg onder aan het bestand de volgende regel toe:

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

Natuurlijk in het bovenstaande voorbeeld, vervangen pi met uw gebruikersnaam, en raspi_email met de map die je hebt geplaatst raspi_runner.sh script in. Sla nu je crontab op.

Gebruik

Stuur gewoon een e-mail met de opdrachten die je op je Pi wilt uitvoeren [email beveiligd] van de e-mailadres dat u heeft gebruikt om uw IFTTT-account in te stellen. De hoofdtekst van de e-mail bevat de opdracht. U kunt elk gewenst onderwerp aan de e-mail toevoegen, maar het wordt aanbevolen dat u er een toevoegt. In het volgende voorbeeld vraag ik mijn Raspberry Pi om stilgelegd:

Na de hoeveelheid vertraging die u in uw crontab, de raspi_runner.sh zal de opdracht in uw e-mail uitvoeren en uitvoeren.

ZIE OOK: Instellen en aan de slag gaan met Raspberry Pi 3 (Startersgids)

Voer op afstand opdrachten uit op uw Raspberry Pi met IFTTT

Dit is dus hoe je IFTTT, Dropbox en wat magie op de opdrachtregel kunt gebruiken om op afstand opdrachten uit te voeren op je Raspberry Pi. Natuurlijk, zoals in het begin vermeld, zal deze methode ook werken met elk Linux- of Unix-achtig systeem met de Bash-shell geïnstalleerd.

Blijf op de hoogte voor meer Raspberry Pi-tips en -trucs in de toekomst. Als je problemen ondervindt bij het instellen of als je een aantal van je eigen coole IFTTT-trucs met ons wilt delen, stuur ons dan een berichtje in de comments hieronder.




Niemand heeft nog op dit artikel gereageerd.

Handleidingen voor het kopen van gadgets, technologie die ertoe doet
We publiceren gedetailleerde handleidingen voor het kopen van apparatuur, maken interessante lijsten met de beste producten op de markt en behandelen nieuws uit de wereld van technologie