- Thomas Glenn
- 2
- 1664
- 40
Tomuto problému čelí téměř každý uživatel Raspberry Pi. Máte doma Raspberry Pi a chcete na něm provést příkaz. Problém je, že jste mimo svůj domov, ve své mobilní síti a nemáte způsob, jak získat přístup k Pi. Můžete získat statickou adresu IP nebo pomocí jedné z dynamických služeb DNS povolit přístup k domácí síti. To je však pro většinu lidí příliš nepříjemné a vyžaduje příliš mnoho úsilí pro malý zisk. Navíc otevírá váš Raspberry Pi útokům hrubou silou, protože port SSH je nyní vystaven světu.
Dobrou zprávou je, že existuje pohodlnější a bezpečnější metoda - jednoduše pošlete příkazy, které chcete spustit na Raspberry Pi, e-mailem. Tímto způsobem vše, co potřebujete, je e-mailový klient a funkční připojení k internetu na vašem Pi. Žádné přihlášení a žádná statická IP. A co víc, tato metoda funguje nejen s Raspberry Pi, ale s jakýmkoli Linuxovým distro s nainstalovaným Bash shellem a cURL. Zní to skvěle? Zde je třeba nastavit:
Požadavky
- Raspberry Pi s funkčním připojením k internetu.
- Účet na IFTTT.com.
- Účet Dropbox.
Začínáme
Nastavit recept IFTTT
IFTTT použijeme k distribuci příkazů doručených e-mailem do Dropboxu. Po založení účtu IFTTT budete muset použít „Spusťte bash příkazy na Raspberry Pi e-mailem ”recept. Jednoduše přejděte na tento recept IFTTT a klikněte na Přidat.
Nastavení nástroje Dropbox Uploader
Potřebujeme Uploadbox Uploader - program příkazového řádku, který umožňuje odesílání, stahování, seznam nebo mazání souborů z Dropboxu. Postup nastavení:
1. Na vašem Raspberry Pi, získat nezbytný software kučera a wget. Pravděpodobně již máte tyto nainstalované, ale my je nainstalujeme jen pro případ:
[sourcecode] sudo apt install wget curl [/ sourcecode]
2. Vytvořte složku kde to postavíme. Zde jsem vytvořil adresář s názvem raspi_email
v mé domovské složce:
[zdrojový kód] mkdir ~ / raspi_email
cd ~ / raspi_email [/ sourcecode]
3. Dostaň Skript Dropbox Uploader od GitHub, a označit jako spustitelný:
[sourcecode] wget https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh
chmod + x ./dropbox_uploader.sh[/sourcecode]
4. Spustit dropbox_uploader.sh
skript. Uvidíte výstup jako je tento:
5. Nyní musíte vytvořit aplikaci Dropbox. Přihlaste se do Dropboxu, přejděte na tuto adresu URL, kde uvidíte obrazovku, která vypadá takto:
6. Jako na obrázku výše, nejprve zvolte Dropbox API, pak vyberte Plná Dropbox v typu potřebného přístupu. Konečně, název svou aplikaci, co se vám líbí.
7. Po úspěšném vytvoření nové aplikace přejděte dolů na ikonu OAuth2 a klikněte na generovat tlačítko pro vygenerování přístupového tokenu. Nyní uvidíte vygenerovaný přístupový token, kde generovat tlačítko bylo. Zkopírujte tento token, vložte jej do svého terminálu a stiskněte Vstoupit:
8. Na ověřte, zda váš účet funguje, vykonat příkaz ./dropbox_uploader.sh seznam
- měli byste vidět seznam souborů v účtu Dropbox.
Nastavte Raspi Runner
Na Raspberry Pi si stáhněte Raspi Runner skript v raspi_email
složka, kterou jsme dříve vytvořili:
[zdrojový kód] cd ~ / raspi_email
wget https://raw.github.com/enkydu/Raspi_Runner/master/raspi_runner.sh[/sourcecode]
Vytvořte skript spustitelný, a spusťte:
[zdrojový kód] chmod + x ./raspi_runner.sh
./raspi_runner.sh[/sourcecode]
Zobrazí se výzva jako na obrázku níže. Když skript požádá o úplnou cestu k vašemu Uploadbox Uploader, zadejte cestu tvému Domov adresář (pravděpodobně / home / pi /
), následované název složky ve kterém jste stáhli dropbox_uploader.sh
skript. Pokud jste postupovali podle tohoto průvodce po slovech, vstoupíte / home / pi / raspi_email
tady.
Nastavit Crontab
Jakmile jsou základy na místě, je nutné naplánovat běh Raspi Runnera. Můžete například nastavit kontrolu e-mailů každých 5 minut. Použijeme je crontab pro tohle. Na Raspberry Pi spusťte:
[zdrojový kód] crontab -e [/ zdrojový kód]
Na konec souboru přidejte následující řádek:
[zdrojový kód] * / 5 * * * * /home/pi/raspi_email/raspi_runner.sh> / dev / null 2> & 1 [/ zdrojový kód]
Samozřejmě, ve výše uvedeném příkladu, nahradit pi s vaším uživatelským jménem a raspi_email se složkou, do které jste umístili raspi_runner.sh
skript. Nyní uložte crontab.
Používání
Jednoduše pošlete e-mail s příkazy, které chcete na svém Pi provést [chráněn e-mailem] z e-mailovou adresu, kterou jste použili k nastavení účtu IFTTT. Tělo e-mailu bude obsahovat příkaz. Do e-mailu můžete přidat jakýkoli předmět, který se vám líbí, ale doporučujeme vám jej přidat. V následujícím příkladu velím své Raspberry Pi vypnout:
Po množství zpoždění, které nastavíte v crontab, raspi_runner.sh spustí a provede příkaz obsažený ve vašem e-mailu.
VIZ TÉŽ: Jak nastavit a začít s Raspberry Pi 3 (Starter Guide)
Spusťte příkazy vzdáleně na Raspberry Pi pomocí IFTTT
Takto můžete pomocí IFTTT, Dropbox a nějaké magie příkazového řádku spustit příkazy vzdáleně na Raspberry Pi. Samozřejmě, jak je uvedeno na začátku, bude tato metoda fungovat také s jakýmkoli systémem Linux nebo Unix s nainstalovaným shellem Bash.
Zůstaňte naladěni na další tipy a triky Raspberry Pi v budoucnu. Pokud máte potíže s nastavením, nebo se s námi chcete podělit o své vlastní skvělé triky IFTTT, nezapomeňte nám v níže uvedené sekci komentář zahodit řádek.