Więc masz Raspberry Pi i chciałbyś zmaksymalizować swój mały ślad, zamieniając się w całkowicie samodzielne pudełko - bez monitora, klawiatury i innych urządzeń peryferyjnych. Czytaj dalej, ponieważ pokazujemy, jak skonfigurować zdalny dostęp do powłoki, pulpitu i przesyłania plików w twoim Pi.
Pi, nawet ubrane w solidną obudowę, to maleńki komputer. Idealnie nadaje się do schowania gdzieś poza zasięgiem wzroku bez trzymania się drutu z drutów - w wielu projektach po prostu nie potrzebujesz stałego monitora i peryferyjnego akompaniamentu.
Że nie robi oznacza jednak, że nie będziesz musiał łączyć się z tym polem, aby wprowadzać zmiany, aktualizować rzeczy, przesyłać pliki itd. Doskonałym przykładem tego jest wskaźnik chłodnego deszczu, który zbudowaliśmy w ramach naszego modułu Build a LED Indicator z artykułem Raspberry Pi (dla wiadomości e-mail, pogody lub czegoś). Nie potrzeba do tego wszystkich rzeczy, ale nadal chcielibyśmy wskoczyć na urządzenie i łatwo wprowadzić zmiany lub wypróbować nowe eksperymenty z modułem LED bez konieczności wciągania go z powrotem do warsztatu, oraz podłącz go do monitora, klawiatury, myszy itp. Konfigurując go do zdalnej powłoki, zdalnego pulpitu i zdalnego przesyłania plików, sprawiamy, że bardzo łatwo jest wchodzić w interakcję z naszym urządzeniem Pi z komfortu naszego komputera stacjonarnego, tak jakbyśmy Podłączyłem urządzenie do pełnego stanowiska pracy.
Jeśli jesteś nowicjuszem w pracy z Raspberry Pi, zdecydowanie zalecamy zapoznanie się z przewodnikiem HTG na temat rozpoczynania pracy z Raspberry Pi, aby zapoznać się z podstawami urządzenia i nabrać tempa.
Do tego samouczka potrzebne są następujące rzeczy:
Po pierwsze, większość kroków w tym samouczku powinna działać z innymi dystrybucjami Pi opartymi na systemie Linux ale będziemy używać Raspbian. Powinieneś mieć problemy z adaptacją samouczka do innych dystrybucji.
Po drugie, używamy komputera z systemem Windows jako naszego komputera sieciowego do interakcji z jednostką Raspberry Pi jako zdalną głowicą / interfejsem. W razie potrzeby zrobimy co w naszej mocy, aby utworzyć link do samouczków i sugerowanych lektur dotyczących wykonywania równoległych zadań i narzędzi w systemach OS X i Linux.
Dostęp do linii Raspbian z linii komend jest możliwy w przypadku najbardziej poręcznych poprawek wprowadzonych w systemie. Włączenie tej opcji jest proste.
Otwórz terminal w języku Rasbian, skrótem jest LXTerminal na pulpicie i wpisz następujące polecenie:
sudo raspi-config
Nawiguj w dół do ssh i naciśnij enter. Po wyświetleniu pytania o serwer SSH wybierz Włączyć i naciśnij ponownie enter. Zostaniesz zwrócony do panelu Raspi-config; nawiguj w dół do koniec i naciśnij enter, aby zamknąć narzędzie konfiguracyjne. To wszystko, co musisz zrobić, aby włączyć dostęp SSH do twojego Pi. Domyślny login i hasło SSH to Liczba Pi i malina, odpowiednio.
Podczas gdy wciąż siedzisz w linii poleceń, teraz jest świetny czas, aby sprawdzić IP twojej jednostki Raspberry Pi w sieci lokalnej. Rodzaj ifconfig w wierszu polecenia, a następnie spójrz na dane wyjściowe polecenia. Jeśli używasz portu Ethernet, który chcesz wyszukać init addr w eth0 Sekcja; jeśli używasz Wi-Fi, chcesz poszukać init addr w wlan0 Sekcja. Oprócz sprawdzania i wpisywania adresu IP, jest to również świetny czas na skonfigurowanie statycznego adresu IP w routerze, aby nie musieć szukać w przyszłości adresu IP.
Teraz, gdy mamy włączony serwer SSH, znamy login i znamy adres IP urządzenia, czas połączyć się przez SSH i przetestować. Aby to zrobić z Linuksa i OS X możesz po prostu użyć ssh polecenie na terminalu. Użytkownicy systemu Windows będą jednak potrzebować klienta SSH, takiego jak PuTTY.
Ponieważ używamy skrzynki Windows, aby zdalnie zarządzać naszym Pi, PuTTY, tak właśnie jest. Zainstaluj kopię PuTTY lub wyodrębnij wersję przenośną i uruchom ją. Tam są dużo ustawień, z którymi możesz zadzierać w PuTTY, ale musimy tylko martwić się o jedną rzecz, która łączy się z naszym Pi. W głównym interfejsie sesji wpisz adres IP swojego Pi i wybierz SSH pod tym:
Trafienie otwarty na dole i PuTTY uruchomi dla ciebie okno terminala, połączysz się z twoim Pi i poprosisz o zalogowanie. Śmiało i zaloguj się z pi / malinowy:
Gdy połączenie SSH będzie funkcjonować, możesz technicznie ukończyć dalszą część tego samouczka zdalnie, korzystając z wygody swojego biurka - chociaż radzimy pozostawić głowę i klawiaturę w systemie, dopóki nie skończycie całego projektu i wszystko będzie przebiegało sprawnie.
Zanim przejdziemy dalej, istnieje dodatkowa funkcjonalność, którą możemy wyeliminować z SSH. Oprócz zdalnego zarządzania linią poleceń, można również zdalnie przesyłać pliki za pomocą bezpiecznego kopiowania. Jego linia poleceń jest intensywna i nie jest szczególnie przydatna do przesyłania dużej liczby plików pochodzących z wielu katalogów, ale do jednorazowego przesyłania plików konfiguracyjnych lub innych małych zrzutów, jest bardzo przydatna. Sprawdź nasz przewodnik po kopiowaniu plików przez SSH za pomocą polecenia SCP tutaj.
W dalszej części samouczka przyjrzymy się bliżej technikom przesyłania plików opartym na GUI.
Zdalny dostęp do linii poleceń jest niesamowity, ale ma też dostęp do pulpitu dla działań skupionych na GUI. Przywróćmy moc linii poleceń i mocy pulpitu.
Chociaż od tego czasu nazywamy go "zdalnym pulpitem", to narzędzie, które faktycznie instalujemy, jest znane jako VNC (Virtual Network Computing), z którego wiele osób jest znanych, takich jak RealVNC i TightVNC. W tym samouczku zainstalujemy TightVNC na Pi. Aby uzyskać dostęp do sesji TightVNC opartej na Pi, potrzebujesz klienta zdalnego, takiego jak:
Pobierz teraz kopię, a zajmiemy się nią później w tej sekcji. Póki co, przejdźmy do instalacji serwera TightVNC na twoim Raspberry Pi. Otwórz terminal. Wprowadź następujące polecenie, aby rozpocząć:
sudo apt-get install tightvncserver
Spowoduje to pobranie i rozpakowanie plików instalacyjnych; po wyświetleniu monitu o kontynuowanie naciśnij klawisz Y. Po zakończeniu instalacji nastąpi powrót do monitu. Możesz uruchomić VNC na dwa sposoby. Po prostu uruchom polecenie dla serwera tak:
tightvncserver
Poproszę o podanie hasła dostępu do pulpitu VNC - jak widać na powyższym zrzucie ekranu. Hasło musi mieć 4-8 znaków. Po potwierdzeniu hasła zostaniesz poproszony o ustawienie hasła tylko do odczytu (możesz zrezygnować z tego kroku, tak jak my).
Możesz też użyć znacznie dokładniejszego, aczkolwiek dłuższego typu polecenia, które daje większą kontrolę nad tym, jak komputer zdalny będzie widział pulpit - co najważniejsze, jaka rozdzielczość będzie wyświetlana na pulpicie, abyś mógł cieszyć się pełnoekranowym widokiem zdalny komputer. Aby określić rozdzielczość pulpitu VNC, użyj następującego polecenia, zamieniając wartość rozdzielczości (czwarty element w komendzie) w celu rozwiązania zdalnego pulpitu:
vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:
Jeśli w którymkolwiek momencie popełnisz błąd podczas konfigurowania instancji serwera VNC i / lub chcesz wyłączyć serwer VNC, po prostu wprowadź poniższe (zmieniając liczbę po dwukropku na numer instancji VNC, którą chcesz zabić) :
vncserver -kill: 1
Teraz, gdy mamy już uruchomiony serwer VNC, połączmy go z naszym zdalnym pulpitem. Uruchom przeglądarkę TightVNC na swoim komputerze i podłącz adres IP urządzenia Raspberry Pi, a następnie: 1:
Oto nasza nagroda za pomyślne skonfigurowanie naszego serwera VNC - ładny widok pełnoekranowy naszego zdalnego urządzenia Raspberry Pi:
Znany jest problem z TightVNC i Rasbian, który, dzięki nieporęcznej zmianie uprawnień, spowoduje problemy z faktycznym pulpitem podłączonym do monitora (pozostawiając niezmieniony interfejs zdalnego pulpitu dostarczony przez serwer VNC). Aby rozwiązać ten problem, zanim stanie się on dla Ciebie problemem, skieruj się w prawo do wiersza poleceń i wprowadź następujące polecenie:
sudo chown pi /home/pi/.Xauthority
To polecenie zmienia właściciela pliku .Xauthority z powrotem na użytkownika pi - dla ciekawskich, plik .Xauthority jest używany przez system X-windows w Rasbian i coś podczas instalacji serwera TightVNC proces instalacji i konfiguracji powoduje niewielkie utrudnienia związane z uprawnieniami.
Przy odrobinie mniejszych objazdów, wróćmy do ukończenia naszej konfiguracji pulpitu zdalnego.
Teraz, gdy mamy dostęp do Raspberry Pi z pełnym dostępem do linii poleceń i pulpitu, musimy zrobić jedno nie-tak trywialne ulepszenie. Narzędzie Raspi-config ustawiło serwer SSH tak, aby automatycznie uruchamiał się przy starcie, ale serwer VNC nie jest jeszcze skonfigurowany w taki sposób. Możesz pominąć ten krok i ręcznie uruchamiać serwer z wiersza poleceń przez SSH, kiedy tego potrzebujesz, ale staramy się, aby to było jak najbardziej bezproblemowe do przyszłego użytku. Poświęćmy chwilę i utworzymy plik startowy dla serwera VNC.
Aby automatycznie uruchomić serwer VNC, musimy skonfigurować plik inicjalizacyjny lub inicjalizacyjny, który będzie używany przez Raspbian do czystego uruchamiania i zamykania serwera podczas procesu uruchamiania i zamykania systemu. Stwórzmy teraz plik init. W linii poleceń wpisz następujące polecenie:
sudo nano /etc/init.d/tightvnc
Spowoduje to utworzenie pliku w katalogu inicjalizacyjnym o nazwie "tightvnc" i otworzenie edytora nano, abyśmy mogli wkleić nasz skrypt. W edytorze nano wklej następujący kod (pamiętaj, aby zmienić wartość rozdzielczości 1600 × 900, aby pasowała do ekranu komputera zdalnego:
#! / bin / sh
### BEGIN INIT INFO
# Zapewnia: tightvncserver
# Wymagany-Start:
# Wymagany-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Krótki opis: uruchom serwer vnc
# Opis:
### END INIT INFOPrzypadek "1 $" w
początek)
su pi -c 'vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:'
echo "Uruchomione VNC"
;;
zatrzymać)
pkill Xtightvnc
echo "VNC zakończone"
;;
*)
echo "Użycie: /etc/init.d/tightvnc start | stop"
wyjdź 1
;;
esac
Oprócz modyfikacji części skryptu w rozdzielczości ekranu, istnieje jeszcze jedna rzecz, którą możesz zmodyfikować. W linii 14 możesz zmienić polecenie "su pi -c" na dowolne inne konto użytkownika oprócz "pi", jeśli chcesz VNC do konkretnego pulpitu dla tego konta.
Po wklejeniu i zmodyfikowaniu kodu nadszedł czas, aby go zapisać. Naciśnij CTRL + X, aby wyjść i zapisać swoją pracę w nano. Po powrocie do linii poleceń musimy dokonać kilku szybkich zmian w uprawnieniach do pliku:
sudo chmod 755 /etc/init.d/tightvnc
Teraz plik inicjalizacyjny jest wykonywalny. Możemy to przetestować z podpowiedzi:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
Ostatnią zmianą, jaką zamierzamy dokonać, jest aktualizacja pliku rc.d (który śledzi, które skrypty initilization znajdują się w folderze /init.d/):
sudo update-rc.d tightvnc defaults
Po wpisaniu tego polecenia otrzymasz potwierdzenie, że plik został zaktualizowany. Teraz czas na prawdziwy test: czy plik ładuje się poprawnie po ponownym uruchomieniu? Wpisz następujące polecenie w wierszu poleceń, aby ponownie uruchomić komputer i przygotuj się do pracy z klientem VNC, aby przetestować połączenie za chwilę:
sudo reboot
Gdy system zakończy ponowne uruchamianie, zaloguj się do swojego klienta VNC. Jeśli twoja sesja VNC ulegnie awarii, odwiedź wiersz polecenia i ponownie uruchom polecenie tightvnc start (z powyższej części testowej), aby sprawdzić, czy plik jest wykonywany i czy hasło zostało poprawnie zapisane.
W tym momencie jesteśmy jeszcze bardziej zaangażowani w naszą misję, aby całkowicie zdalnie sterować naszą jednostką Raspberry Pi. Dzięki zdalnemu dostępowi do wiersza poleceń przez SSH i dostępowi do zdalnego pulpitu za pośrednictwem VNC pod naszymi pasami, przejdźmy do uproszczenia procesu przesyłania plików między naszym Pi a komputerem stacjonarnym.
Ponieważ mamy już skonfigurowane SSH, najłatwiejszym sposobem na skonfigurowanie martwego prostego przesyłania plików między naszym Pi a zdalnymi komputerami jest odświeżenie interfejsu GUI na połączeniu SSH. Pamiętasz, jak rozmawialiśmy o korzystaniu z SCP przez SSH wcześniej w samouczku? Uruchomienie go z wiersza poleceń staje się bardzo nudne, bardzo szybkie. Dzięki wrapperowi GUI będziemy mogli spędzić więcej czasu na przenoszeniu plików i zabawie z naszym Pi, a mniej na dziurawieniu klawiatury.
Chociaż istnieje wiele wrapperów GUI dla polecenia SCP, będziemy używać wieloplatformowego narzędzia, które wiele osób już zna, ma i kocha (a może nawet nie wie, że robi transfery SCP): FileZilla. Jest dostępny dla systemów Windows, OS X i Linux - tutaj możesz pobrać kopię.
Po zainstalowaniu FileZilli uruchom go i przejdź do File -> Site Manager. Utwórz nowy wpis witryny, nadaj mu nazwę i podaj nazwę użytkownika i hasło do swojego Pi.
Na koniec upewnij się, że ustawiłeś port na 22, a na Servertype na SFTP - SSH File Transfer Protocol. Kliknij Połącz na dole, a otrzymasz widok podobny do tego:
Twoje lokalne katalogi znajdują się w lewym panelu, a zdalne katalogi na Pi znajdują się w prawym panelu. Przenoszenie plików między nimi jest tak proste, jak przeciąganie i upuszczanie ich.
Wykorzystanie istniejącego transferu plików SSH to najprostszy sposób na uzyskanie dostępu do plików w Pi bez dodatkowej konfiguracji ale jeśli chcesz skonfigurować swoje urządzenie Pi do odbierania i udostępniania plików bez zdalnego użytkownika, wymagającego dowolnych zaawansowanych narzędzi (takich jak klient FTP obsługujący SCP, na przykład FileZilla), zdecydowanie zalecamy przejrzenie części naszego przewodnika dotyczącej konfiguracji Samby: Jak zmienić malinę Pi w urządzenie do przechowywania sieci o niskiej mocy. Zapoznanie się z nimi ułatwi Ci skonfigurowanie podstawowego udziału Samby na Pi, aby utworzyć udostępniony folder, łatwo dostępny dla prawie każdej osoby w Twojej sieci bez dodatkowych narzędzi.
Skonfigurowałeś SSH, skonfigurowałeś VNC, a skonfigurowałeś prosty dostęp SFTP i / lub Samba do swojego Pi-w tym momencie możesz uruchomić Raspberry Pi, usunąć monitor, klawiaturę i mysz, i schować go za cichą i bezgłową maszynę.
Masz pomysł na projekt Raspberry Pi i umierasz, aby napisać samouczek? Zagraj w komentarzach lub zrób nam wiadomość e-mail na adres [email protected], a my dołożymy wszelkich starań, aby Ci pomóc.