Tomuto problému čelí téměř každý uživatel Raspberry Pi. Máte doma běžící Raspberry Pi a chcete na něm provést příkaz. Problém je v tom, že jste mimo domov, ve své mobilní síti a nemáte způsob, jak získat přístup k vašemu Pi. Můžete získat statickou adresu IP nebo použít jednu z dynamických služeb DNS k povolení přístupu k vaší domácí síti. To je však pro většinu lidí příliš nepohodlné a vyžaduje příliš mnoho úsilí pro malý zisk. Kromě toho otevírá vaše 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 e-mailem příkazy, které chcete spustit na vašem Raspberry Pi. Tímto způsobem potřebujete pouze e-mailového klienta a funkční připojení k internetu na vašem Pi. Žádná přihlášení a žádné statické adresy IP. A co víc, tato metoda funguje nejen s Raspberry Pi, ale s jakoukoli distribucí Linuxu s nainstalovaným shellem Bash a cURL. Zní to skvěle? Tady je třeba to nastavit:
Požadavky
- Raspberry Pi s fungujícím připojením k internetu.
- Účet na IFTTT.com.
- Účet Dropbox.
Začínáme
Nastavit recept IFTTT
Pomocí IFTTT budeme distribuovat příkazy doručené e-mailem do Dropboxu. Po založení účtu IFTTT budete muset použít „Spouštějte bash příkazy na Raspberry Pi e-mailem “recept. Jednoduše přejděte na tento recept IFTTT a klikněte na Přidat.
Nastavte Dropbox Uploader
Potřebujeme Dropbox Uploader - program příkazového řádku, který umožňuje nahrávat, stahovat, vypisovat nebo mazat soubory z Dropboxu. Zde je postup, jak to nastavit:
1. Na vašem Raspberry Pi, získejte nezbytný software kučera a wget. Pravděpodobně je již máte nainstalované, ale nainstalujeme je jen pro případ:
[sourcecode] sudo apt install wget curl [/ sourcecode]
2. Vytvořte složku kde to nastaví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 [/ zdrojový kód]
3. Dostaň Skript Dropbox Uploader z GitHubu, a označit jako spustitelný:
[zdrojový kód] wget https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh
chmod + x ./dropbox_uploader.sh[/sourcecode]
4. Spustit the dropbox_uploader.sh
skript. Uvidíte výstup, jako je tento:
5. Nyní musíte vytvořte aplikaci Dropbox. Přihlaste se do Dropboxu, přejděte na tuto adresu URL, kde uvidíte obrazovku, která vypadá takto:
6. Stejně jako na obrázku výše nejprve vyberte Dropbox API, poté vyberte Plný Dropbox v typu požadovaného přístupu. Konečně, název vaše aplikace, co se vám líbí.
7. Po úspěšném vytvoření nové aplikace přejděte dolů na ikonu OAuth2 sekci 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 terminálu a stiskněte Enter:
8. Na ověřte, zda váš účet funguje, provést příkaz ./dropbox_uploader.sh seznam
- měli byste vidět seznam souborů ve vašem účtu Dropbox.
Nastavte Raspi Runner
Na Raspberry Pi si stáhněte soubor Raspi Runner skript v raspi_email
složka, kterou jsme vytvořili dříve:
[zdrojový kód] cd ~ / raspi_email
wget https://raw.github.com/enkydu/Raspi_Runner/master/raspi_runner.sh[/sourcecode]
Vytvořte scénář spustitelný, a spusťte jej:
[zdrojový kód] chmod + x ./raspi_runner.sh
./raspi_runner.sh[/sourcecode]
Nyní se zobrazí výzva jako na obrázku níže. Když se skript zeptá na úplnou cestu k vašemu Dropbox 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 slovo za slovem, vstoupíte / home / pi / raspi_email
tady.
Nastavit Crontab
Jakmile jsou základy na místě, je nutné naplánovat běh Raspi Runner. Můžete jej například nastavit tak, aby každých 5 minut kontroloval e-maily. Budeme používat crontab pro tohle. Na Raspberry Pi spusťte:
[zdrojový kód] crontab -e [/ zdrojový kód]
Ve spodní části souboru přidejte následující řádek:
[zdrojový kód] * / 5 * * * * /home/pi/raspi_email/raspi_runner.sh> / dev / null 2> & 1 [/ sourcecode]
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 dovnitř. Nyní uložte svůj crontab.
Používání
Jednoduše pošlete e-mail s příkazy, které chcete provést na svém Pi [email protected] z e-mailovou adresu, kterou jste použili k založení účtu IFTTT. Tělo e-mailu bude obsahovat příkaz. Do e-mailu můžete přidat libovolný předmět, který se vám líbí, ale doporučujeme ho přidat. V následujícím příkladu velím svému Raspberry Pi vypnout:
Po množství zpoždění, které jste nastavili ve svém crontab, the raspi_runner.sh spustí a provede příkaz obsažený ve vašem e-mailu.
VIZ TÉŽ: Jak nastavit a začít používat Raspberry Pi 3 (Průvodce pro začátečníky)
Spouštějte příkazy vzdáleně na vašem Raspberry Pi pomocí IFTTT
Takto můžete použít IFTTT, Dropbox a nějakou magii příkazového řádku ke vzdálenému spouštění příkazů na vašem Raspberry Pi. Samozřejmě, jak bylo uvedeno na začátku, tato metoda bude 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 pro Raspberry Pi v budoucnu. Pokud máte potíže s jeho nastavením nebo se s námi chcete podělit o některé ze svých skvělých triků IFTTT, nezapomeňte nám napsat řádek v sekci komentářů níže.