Zalecane, 2024

Wybór Redakcji

Jak uruchamiać polecenia na Raspberry Pi przez e-mail

Ten problem napotyka prawie każdy użytkownik Raspberry Pi. Masz Raspberry Pi działające w domu i chcesz wykonać polecenie na nim. Problem polega na tym, że jesteś poza domem, w sieci komórkowej i nie masz dostępu do twojego Pi. Możesz uzyskać statyczny adres IP lub skorzystać z jednej z dynamicznych usług DNS, aby umożliwić dostęp do sieci domowej. Jest to jednak zbyt niewygodne dla większości ludzi i wymaga zbyt wiele wysiłku, aby uzyskać niewielki zysk. Co więcej, otwiera Raspberry Pi na brutalne ataki, ponieważ port SSH jest teraz wystawiony na świat.

Dobrą wiadomością jest to, że jest wygodniejsza i bezpieczniejsza metoda - wystarczy wysłać e-mail z instrukcjami, które chcesz uruchomić na swoim Raspberry Pi . W ten sposób wszystko, czego potrzebujesz, to klient poczty e-mail i działające połączenie internetowe w twoim telefonie. Bez logowania i bez statycznych adresów IP. Co więcej, ta metoda nie działa tylko z Raspberry Pi, ale z każdą dystrybucją Linuksa z zainstalowaną powłoką Bash i cURL. Brzmi nieźle? Oto, co musisz skonfigurować:

Wymagania

  • Raspberry Pi z działającym połączeniem internetowym.
  • Konto w IFTTT.com.
  • Konto Dropbox.

Pierwsze kroki

Skonfiguruj przepis IFTTT

Będziemy używać IFTTT do rozsyłania poleceń dostarczonych przez e-mail do Dropbox. Po skonfigurowaniu konta IFTTT będziesz musiał użyć polecenia " Uruchamiaj polecenia na Raspberry Pi przez e-mail" . Po prostu przejdź do tego przepisu IFTTT i kliknij Dodaj .

Skonfiguruj narzędzie do przesyłania Dropbox

Potrzebujemy usługi Dropbox Uploader - programu wiersza poleceń, który umożliwia przesyłanie, pobieranie, wyświetlanie lub usuwanie plików z Dropbox. Oto jak to skonfigurować:

1. W Raspberry Pi uzyskaj niezbędne oprogramowanie cURL i wget . Prawdopodobnie masz już zainstalowane, ale zainstalujemy je na wszelki wypadek:

[kod źródłowy] sudo apt install wget curl [/ sourcecode]

2. Utwórz folder, w którym go ustawimy. Tutaj utworzyłem katalog o nazwie raspi_email w moim katalogu domowym:

[kod źródłowy] mkdir ~ / raspi_email
cd ~ / raspi_email [/ sourcecode]

3. Pobierz skrypt Dropbox Uploader z GitHub i oznacz go jako plik wykonywalny :

[kod źródłowy] wget //raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh

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

4. Uruchom skrypt dropbox_uploader.sh . Zobaczysz takie wyjście:

5. Teraz musisz utworzyć aplikację Dropbox . Zaloguj się do Dropbox, przejdź do tego adresu URL, gdzie zobaczysz ekran podobny do tego:

6. Jak na powyższym obrazku, najpierw wybierz interfejs API Dropbox, a następnie wybierz Full Dropbox w żądanym rodzaju dostępu. Na koniec nadaj nazwę aplikacji, która Ci się podoba.

7. Po pomyślnym utworzeniu nowej aplikacji przewiń w dół do sekcji OAuth2 i kliknij przycisk Generuj, aby wygenerować token dostępu. Zobaczysz wygenerowany token dostępu, w którym był przycisk Generuj . Skopiuj ten token, wklej go do terminalu i naciśnij Enter :

8. Aby sprawdzić, czy Twoje konto działa, uruchom komendę ./dropbox_uploader.sh list - powinieneś zobaczyć listę plików na swoim koncie Dropbox.

Przygotuj Raspi Runner

Na swoim Raspberry Pi pobierz skrypt Raspi Runner w folderze raspi_email który utworzyliśmy wcześniej:

[kod źródłowy] cd ~ / raspi_email

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

Wykonaj skrypt i uruchom go:

[kod źródłowy] chmod + x ./raspi_runner.sh

./raspi_runner.sh[/sourcecode]

Zostanie wyświetlony monit podobny do poniższego obrazu. Gdy skrypt poprosi o pełną ścieżkę do programu do przesyłania plików Dropbox, wpisz ścieżkę do swojego katalogu domowego (prawdopodobnie /home/pi/ ), a następnie nazwę folderu, w którym został pobrany skrypt dropbox_uploader.sh . Jeśli postępowałeś zgodnie z tym przewodnikiem słowo po słowie, wejdziesz tutaj /home/pi/raspi_email tutaj.

Skonfiguruj Crontab

Po wprowadzeniu podstaw, konieczne jest zaplanowanie uruchomienia Raspi Runner . Można na przykład ustawić, aby sprawdzać wiadomości e-mail co 5 minut. W tym celu użyjemy crontab . Na swoim Raspberry Pi uruchom:

[kod źródłowy] crontab -e [/ sourcecode]

W dolnej części pliku dodaj następujący wiersz:

[kod źródłowy] * / 5 * * * * /home/pi/raspi_email/raspi_runner.sh> / dev / null 2> & 1 [/ sourcecode]

Oczywiście w powyższym przykładzie zamień pi na swoją nazwę użytkownika, a raspi_email na folder, w którym umieściłeś skrypt raspi_runner.sh . Teraz zapisz swój raspi_runner.sh crontab.

Stosowanie

Po prostu wyślij wiadomość e-mail zawierającą polecenia, które chcesz wykonać w telefonie Pi, na adres [e-mail chroniony], na adres e-mail użyty do skonfigurowania konta IFTTT . Treść wiadomości e-mail zawiera polecenie. Możesz dodać dowolny temat do e-maila, ale zaleca się, aby go dodać. W poniższym przykładzie nakazuję Raspberry Pi zamknąć :

Po opóźnieniu, które ustawisz w swoim pliku crontab, program raspi_runner.sh uruchomi i wykona komendę zawartą w wiadomości e-mail.

Zdalnie uruchamiaj komendy na twoim Raspberry Pi używając IFTTT

W ten sposób można używać IFTTT, Dropbox i niektórych magii linii poleceń do zdalnego uruchamiania poleceń na twoim Raspberry Pi. Oczywiście, jak wspomniano na początku, ta metoda będzie działać również z każdym systemem Linux lub Unix z zainstalowaną powłoką Bash.

Bądź na bieżąco z wieloma poradami i sztuczkami Raspberry Pi w przyszłości. Jeśli masz problemy z konfiguracją lub chcesz podzielić się z nami swoimi fajnymi sztuczkami IFTTT, napisz do nas w sekcji komentarzy poniżej.

Top