Z tym problemem boryka się prawie każdy użytkownik Raspberry Pi. Masz Raspberry Pi w domu i chcesz wykonać na nim polecenie. Problem polega na tym, że jesteś poza domem, w sieci komórkowej i nie masz możliwości uzyskania dostępu do swojego Pi. Możesz uzyskać statyczny adres IP lub skorzystać z jednej z usług dynamicznego DNS, aby umożliwić dostęp do sieci domowej. Jednak jest to po prostu zbyt niewygodne dla większości ludzi i wymaga zbyt dużego wysiłku, aby uzyskać niewielki zysk. Ponadto otwiera Raspberry Pi na ataki brutalnej siły, ponieważ port SSH jest teraz wystawiony na świat.
Dobra wiadomość jest taka, że istnieje wygodniejsza i bezpieczniejsza metoda - po prostu wyślij e-mailem polecenia, które chcesz uruchomić na swoim Raspberry Pi. W ten sposób wszystko, czego potrzebujesz, to klient poczty i działające połączenie internetowe na twoim Pi. Bez logowania i bez statycznych adresów IP. Co więcej, ta metoda działa nie tylko z Raspberry Pi, ale z każdą dystrybucją Linuksa z zainstalowaną powłoką Bash i cURL. Brzmi nieźle? Oto, czego potrzebujesz, aby to skonfigurować:
Wymagania
- Raspberry Pi z działającym połączeniem internetowym.
- Konto na IFTTT.com.
- Konto Dropbox.
Pierwsze kroki
Skonfiguruj przepis IFTTT
Będziemy używać IFTTT do dystrybucji poleceń dostarczanych pocztą e-mail do Dropbox. Po skonfigurowaniu konta IFTTT będziesz musiał użyć „Uruchamiaj polecenia bash na Raspberry Pi przez e-mail ”. Po prostu przejdź do tego przepisu IFTTT i kliknij Dodaj.
Skonfiguruj program do przesyłania Dropbox
Potrzebujemy Dropbox Uploader - program wiersza poleceń, który może przesyłać, pobierać, wyświetlać lub usuwać pliki z Dropbox. Oto jak to skonfigurować:
1. Na Twoim Raspberry Pi, pobierz wymagane oprogramowanie kędzior i wget. Prawdopodobnie masz już te zainstalowane, ale zainstalujemy je na wszelki wypadek:
[kod źródłowy] sudo apt install wget curl [/ kod źródłowy]
2. Utwórz folder gdzie to ustawimy. Tutaj utworzyłem katalog o nazwie raspi_email
w moim folderze domowym:
[kod źródłowy] mkdir ~ / raspi_email
cd ~ / raspi_email [/ sourcecode]
3. Uzyskać Skrypt Dropbox Uploader z GitHub, i oznacz to jako wykonywalne:
[kod źródłowy] wget https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh
chmod + x ./dropbox_uploader.sh[/sourcecode]
4. Uruchom the dropbox_uploader.sh
scenariusz. Zobaczysz takie dane wyjściowe:
5. Teraz musisz utwórz 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 plik Dropbox API, następnie wybierz Pełny Dropbox w rodzaju potrzebnego dostępu. Wreszcie, Nazwa Twoja aplikacja, cokolwiek lubisz.
7. Po pomyślnym utworzeniu nowej aplikacji przewiń w dół do pliku OAuth2 i kliknij Generować przycisk do generowania tokena dostępu. Zobaczysz teraz wygenerowany token dostępu, w którym Generować przycisk był. Skopiuj ten token, wklej go do swojego terminala i naciśnij Wchodzić:
8. Do sprawdź, czy Twoje konto działa, wykonać polecenie ./dropbox_uploader.sh list
- powinieneś zobaczyć listę plików na swoim koncie Dropbox.
Skonfiguruj Raspi Runner
Na swoim Raspberry Pi pobierz plik Skrypt Raspi Runner w raspi_email
folder, który utworzyliśmy wcześniej:
[kod źródłowy] cd ~ / raspi_email
wget https://raw.github.com/enkydu/Raspi_Runner/master/raspi_runner.sh[/sourcecode]
Zrób scenariusz wykonywalny, i uruchom go:
[kod źródłowy] chmod + x ./raspi_runner.sh
./raspi_runner.sh[/sourcecode]
Zobaczysz teraz monit podobny do poniższego obrazu. Gdy skrypt zapyta o pełną ścieżkę do pliku Dropbox Uploader, wejść na ścieżkę dla Twojej Dom katalog (prawdopodobnie / home / pi /
), po którym następuje nazwa folderu w którym pobrałeś dropbox_uploader.sh
scenariusz. Jeśli zastosowałeś się do tego przewodnika słowo po słowie, wejdziesz / home / pi / raspi_email
tutaj.
Skonfiguruj Crontab
Gdy podstawy są już gotowe, konieczne jest zaplanuj bieganie Raspi Runner. Na przykład możesz ustawić sprawdzanie wiadomości e-mail co 5 minut crontab dla tego. Na swoim Raspberry Pi uruchom:
[kod źródłowy] crontab -e [/ kod źródłowy]
U dołu 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, zastąpić Liczba Pi swoją nazwą użytkownika i raspi_email z folderem, w którym umieściłeś plik raspi_runner.sh
skrypt w. Teraz zapisz swoją tabelę crontab.
Stosowanie
Po prostu wyślij wiadomość e-mail z poleceniami, które chcesz wykonać na swoim Pi [email protected] z adres e-mail użyty do skonfigurowania konta IFTTT. Treść wiadomości e-mail będzie zawierała polecenie. Możesz dodać dowolny temat do wiadomości e-mail, ale zaleca się dodanie go. W poniższym przykładzie rozkazuję mojemu Raspberry Pi zamknąć:
Po opóźnieniu ustawionym w pliku crontab, the raspi_runner.sh uruchomi się i wykona polecenie zawarte w wiadomości e-mail.
ZOBACZ RÓWNIEŻ: Jak skonfigurować i rozpocząć pracę z Raspberry Pi 3 (przewodnik dla początkujących)
Uruchamiaj polecenia zdalnie na swoim Raspberry Pi za pomocą IFTTT
W ten sposób możesz używać IFTTT, Dropbox i magii wiersza poleceń do zdalnego uruchamiania poleceń na swoim 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, aby uzyskać więcej porad i wskazówek dotyczących Raspberry Pi w przyszłości. Jeśli masz problemy z konfiguracją lub chcesz podzielić się z nami swoimi własnymi fajnymi sztuczkami IFTTT, napisz do nas w sekcji komentarzy poniżej.