Masz więc Raspberry Pi i chciałbyś zmaksymalizować jego niewielką powierzchnię, zamieniając się w całkowicie samodzielną skrzynkę - bez monitora, klawiatury ani innych urządzeń peryferyjnych. Czytaj dalej, ponieważ pokazujemy, jak skonfigurować zdalną powłokę, pulpit i dostęp do transferu plików na twoim Pi.
Dlaczego chcę to zrobić?
Pi, nawet ubrany w solidną obudowę, to mały komputer. Idealnie nadaje się do chowania gdzieś poza zasięgiem wzroku bez sterczącej z niego wiązki przewodów - w przypadku wielu projektów po prostu nie potrzebujesz stałego monitora i dodatkowych urządzeń.
Że nie oznacza jednak, że nie będziesz musiał łączyć się z urządzeniem, aby wprowadzać zmiany, aktualizować rzeczy, przesyłać pliki itd. Doskonałym tego przykładem jest mały fajny wskaźnik deszczu, który zbudowaliśmy jako część naszego Zbuduj wskaźnik LED za pomocą Raspberry Pi (na e-mail, pogodę lub cokolwiek) artykuł. Nie potrzebuje wszystkich tych rzeczy dołączonych bezpośrednio do niego, ale nadal chcielibyśmy mieć możliwość wskoczenia na urządzenie i łatwego wprowadzania zmian lub wypróbowania nowych eksperymentów z modułem LED bez konieczności przeciągania go z powrotem do warsztatu, i 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 interakcja z naszą jednostką Pi jest bardzo prosta w zaciszu naszego komputera, tak jakbyśmy Jednostka została podłączona do pełnego stanowiska roboczego.
Czego potrzebuję?
Jeśli dopiero zaczynasz pracę z Raspberry Pi, zdecydowanie zalecamy sprawdzenie Przewodnik HTG dotyczący rozpoczęcia pracy z Raspberry Pi opanować podstawy działania urządzenia i nabrać szybkości.
W tym samouczku będziesz potrzebować następujących rzeczy:
- Raspberry Pi z systemem Raspbian.
- Komputer stacjonarny lub laptop.
- Lokalna sieć Wi-Fi lub przewodowa do połączenia Pi z komputerem.
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. Nie powinieneś mieć problemów z dostosowaniem samouczka do innych dystrybucji.
Po drugie, używamy komputera z systemem Windows jako komputera podłączonego do sieci do interakcji z jednostką Raspberry Pi jako zdalną głowicą / interfejsem. W razie potrzeby dołożymy wszelkich starań, aby utworzyć łącza do samouczków i sugerowanych lektur dotyczących wykonywania równoległych zadań i narzędzi w systemach OS X i Linux.
Konfiguracja i łączenie się z serwerem SSH
Zdalny dostęp z wiersza poleceń do instalacji Raspbian to najdogodniejsza drobna zmiana, jaką możesz wprowadzić w swoim systemie, a jej włączenie jest bardzo proste.
Otwórz terminal w Raspbian, skrót to LXTerminal na pulpicie i wpisz następujące polecenie:
sudo raspi-config
Przejdź w dół do ssh i naciśnij Enter. Po wyświetleniu monitu o serwer SSH wybierz Włączyć i ponownie naciśnij Enter. Powrócisz do panelu Raspi-config; przejdź 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 swojego Pi. Domyślny login i hasło SSH to Liczba Pi i malina odpowiednio.
Kiedy nadal siedzisz w wierszu poleceń, teraz jest świetny czas, aby sprawdzić adres IP swojej 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órego chcesz poszukać init adres w eth0 Sekcja; jeśli korzystasz z Wi-Fi, chcesz poszukać init adres w wlan0 Sekcja. Oprócz sprawdzania i zapisywania adresu IP, jest to również świetny czas na skonfiguruj statyczny wpis IP w routerze więc nie musisz polować na adres IP w przyszłości.
Teraz, gdy mamy włączony serwer SSH, znamy login i znamy adres IP maszyny, czas połączyć się przez SSH i przetestować. Aby to zrobić w systemie Linux i OS X, możesz po prostu użyć rozszerzenia ssh polecenie na terminalu. Użytkownicy systemu Windows będą jednak potrzebować klienta SSH, takiego jak Kit .
Ponieważ używamy skrzynki Windows do zdalnego zarządzania naszym Pi, to jest PuTTY. Zainstaluj kopię PuTTY lub wypakuj wersję przenośną i uruchom ją. Tam są dużo ustawień, z którymi możesz zadzierać w PuTTY, ale musimy martwić się tylko o jedną rzecz, aby połączyć się z naszym Pi. W głównym interfejsie sesji wpisz adres IP swojego Pi i wybierz SSH pod tym:
Trafienie otwarty u dołu, a PuTTY uruchomi dla ciebie okno terminala, połączy się z twoim Pi i poprosi o zalogowanie. Śmiało i zaloguj się pi / malina :
Gdy połączenie SSH będzie działało, technicznie rzecz biorąc, pozostałą część tego samouczka można ukończyć zdalnie, siedząc wygodnie przy biurku - chociaż radzimy pozostawić głowę i klawiaturę w systemie, dopóki nie ukończysz całego projektu i wszystko będzie działać płynnie.
Zanim przejdziemy dalej, jest kilka dodatkowych funkcji, które możemy wycisnąć z SSH. Oprócz zdalnego zarządzania wierszem poleceń możesz również zdalnie przesyłać pliki za pomocą funkcji Bezpiecznego kopiowania. Obejmuje on wiele poleceń i nie jest szczególnie wygodny do przenoszenia dużej liczby plików pochodzących z wielu katalogów, ale w przypadku jednorazowego transferu pliku konfiguracyjnego lub innego małego zrzutu jest całkiem przydatny. Sprawdzić nasz przewodnik dotyczący kopiowania plików przez SSH za pomocą polecenia SCP tutaj .
W dalszej części samouczka przyjrzymy się bliżej bardziej przyjaznym dla użytkownika / opartym na graficznym interfejsie użytkownika technikom przesyłania plików.
Konfigurowanie i konfigurowanie pulpitu zdalnego
Zdalny dostęp do wiersza poleceń jest niesamowity, ale tak samo jak dostęp do pulpitu w celu wykonywania czynności związanych z graficznym interfejsem użytkownika. Połączmy razem możliwości wiersza poleceń i pulpitu.
Chociaż do tej pory nazywaliśmy go „zdalnym pulpitem”, narzędzie, które faktycznie instalujemy, nosi nazwę Virtual Network Computing (VNC) - znane wielu osobom, takie 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:
- Klient pulpitu TightVNC dla systemu Windows
- Klient stacjonarny TightVNC dla systemów typu Linux / Unix
- Klient pulpitu RealVNC dla OSX
Pobierz kopię teraz, a omówimy ją w dalszej części tej sekcji. Na razie przejdźmy do instalacji serwera TightVNC na twoim Raspberry Pi. Otwórz terminal. Wpisz następujące polecenie, aby rozpocząć:
sudo apt-get install tightvncserver
Spowoduje to pobranie i rozpakowanie plików instalacyjnych; po wyświetleniu monitu o kontynuację 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 w następujący sposób:
tightvncserver
Poprosi o wprowadzenie 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 przeglądania (możesz zrezygnować z tego kroku, tak jak my).
Alternatywnie możesz użyć znacznie dokładniejszego, choć dłuższego do wpisania polecenia, które daje większą kontrolę nad tym, jak komputer zdalny będzie widział pulpit - co najważniejsze, w jakiej rozdzielczości będzie wyświetlany pulpit, abyś mógł cieszyć się widokiem pełnoekranowym komputer zdalny. Aby określić rozdzielczość pulpitu VNC, użyj następującego polecenia, zamieniając wartość rozdzielczości (czwarta pozycja w poleceniu) na rozdzielczość pulpitu zdalnego:
vncserver: 1 - geometria 1600 × 900 - głębia 16 - format piksela rgb565:
Jeśli w dowolnym momencie popełnisz błąd podczas konfigurowania instancji serwera VNC i / lub chcesz zamknąć serwer VNC, po prostu wprowadź następujące dane (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 się z nim z naszego zdalnego pulpitu. Uruchom przeglądarkę TightVNC na swoim komputerze i podłącz adres IP jednostki Raspberry Pi, a następnie: 1 w następujący sposób:
A oto nasza nagroda za pomyślną konfigurację naszego serwera VNC - ładny pełnoekranowy widok naszej zdalnej jednostki Raspberry Pi:
Istnieje znany problem z TightVNC i Rasbian, który z powodu niewygodnej zmiany uprawnień spowoduje problemy z rzeczywistym pulpitem podłączonym do monitora (pozostawiając nietknięty interfejs zdalnego pulpitu udostępniany przez serwer VNC). Aby rozwiązać ten problem, zanim stanie się on dla Ciebie problemem, przejdź bezpośrednio do wiersza poleceń i wprowadź następujące polecenie:
sudo chown pi /home/pi/.Xauthority
To polecenie zmienia własność pliku .Xauthority z powrotem na użytkownika pi - dla ciekawskich, plik .Xauthority jest używany przez system X-windows w Rasbian i coś podczas procesu instalacji i konfiguracji serwera TightVNC powoduje to niewielkie problemy z uprawnieniami.
Po tym małym, drobnym okrążeniu wróćmy do zakończenia naszej konfiguracji zdalnego pulpitu.
Teraz, gdy mamy pełny dostęp z wiersza poleceń i pulpitu do Raspberry Pi, musimy wprowadzić jedną nie tak banalną poprawkę. 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 uruchomić serwer z wiersza poleceń przez SSH, kiedy tego potrzebujesz, ale staramy się, aby było to możliwie bezproblemowe do użytku w przyszłości. Poświęćmy teraz chwilę i utwórzmy plik startowy dla serwera VNC.
Aby automatycznie uruchamiać serwer VNC, musimy ustawić plik inicjujący lub inicjujący, którego Raspbian użyje do czystego uruchamiania i wyłączania serwera podczas procesu uruchamiania i zamykania. Utwórzmy teraz plik init. W wierszu poleceń wpisz następujące polecenie:
Sudonna / Etc / Ini t. d / chi ghtvn c
Spowoduje to utworzenie pliku w katalogu inicjalizacji o nazwie „tightvnc” i otwarcie 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:
# Wymagane zatrzymanie:
# Start domyślny: 2 3 4 5
# Domyślne-Stop: 0 1 6
# Krótki opis: uruchom serwer vnc
# Opis:
### END INIT INFOsprawa „$ 1” w
początek)
su pi -c ‘vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:”
echo „Uruchomiono VNC”
;;
zatrzymać)
pkill Xtightvnc
echo „VNC zakończone”
;;
*)
echo „Użycie: /etc/init.d/tightvnc {start|stop}”
wyjście 1
;;
esac
Oprócz zmodyfikowania części skryptu dotyczącej rozdzielczości ekranu jest jeszcze jedna rzecz, którą możesz zmodyfikować. W linii 14 możesz zmienić polecenie „su pi -c” na dowolne inne konto użytkownika poza „pi”, jeśli chcesz VNC na konkretny pulpit dla tego konta.
Po wklejeniu i zmodyfikowaniu kodu czas go zapisać. Naciśnij CTRL + X, aby wyjść i zapisać swoją pracę w nano. Po powrocie do wiersza poleceń musimy wprowadzić kilka 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 wprowadzić, jest aktualizacja pliku rc.d (który śledzi skrypty inicjalizacyjne w folderze /init.d/):
sudo update-rc.d tightvnc wartości domyślne
Po wpisaniu tego polecenia otrzymasz potwierdzenie, że plik został zaktualizowany. Czas na prawdziwy test: czy plik ładuje się poprawnie po ponownym uruchomieniu? Wpisz następujące polecenie w wierszu poleceń, aby zrestartować komputer i przygotuj się z klientem VNC do przetestowania połączenia za chwilę:
sudo reboot
Po zakończeniu ponownego uruchamiania systemu zaloguj się do klienta VNC. Jeśli sesja VNC nie powiedzie się, odwiedź wiersz poleceń i ponownie uruchom polecenie tightvnc start (z części testowej powyżej), aby dwukrotnie sprawdzić, czy plik jest wykonywalny i czy hasło zostało poprawnie zapisane.
W tym momencie jesteśmy jeszcze bardziej zaawansowani w naszej misji całkowitego zdalnego sterowania naszą jednostką Raspberry Pi. Dzięki zdalnemu dostępowi do wiersza poleceń przez SSH i zdalnemu dostępowi do pulpitu przez VNC pod naszymi paskami, przejdźmy do uproszczenia procesu przesyłania plików między naszym Pi a komputerem stacjonarnym.
Konfigurowanie i konfigurowanie narzędzi do przesyłania plików
Ponieważ mamy już skonfigurowane SSH, najłatwiejszym sposobem skonfigurowania martwego prostego przesyłania plików między naszym Pi a komputerami zdalnymi jest podłączenie interfejsu GUI do połączenia SSH. Pamiętasz, jak rozmawialiśmy o używaniu SCP przez SSH wcześniej w samouczku? Uruchamianie go z wiersza poleceń staje się naprawdę żmudne, naprawdę szybkie. Z opakowaniem GUI będziemy mogli spędzać więcej czasu na przenoszeniu plików i graniu z naszym Pi, a mniej na dziobaniu w klawiaturę.
Chociaż istnieje wiele opakowań GUI dla polecenia SCP, zamierzamy skorzystać z narzędzia wieloplatformowego, które wiele osób już zna, ma i kocha (a może nawet nie zdaje sobie sprawy, że wykonuje transfery SCP): FileZilla. Jest dostępny dla systemów Windows, OS X i Linux - możesz pobierz kopię tutaj .
Po zainstalowaniu FileZilla uruchom go i przejdź do File -> Site Manager. Utwórz nowy wpis witryny, nazwij go i podłącz nazwę użytkownika i hasło do swojego Pi.
Na koniec upewnij się, że ustawiłeś port na 22, a typ serwera na SFTP - SSH File Transfer Protocol. Kliknij połącz na dole, a zobaczysz 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.
Skorzystanie z istniejącego transferu plików SSH to najłatwiejszy sposób na uzyskanie dostępu do plików na Pi bez konieczności dodatkowej konfiguracji ale jeśli chcesz skonfigurować swoje Pi do odbierania i udostępniania plików bez zdalnego użytkownika wymagającego jakichkolwiek wyszukanych narzędzi (takich jak klient FTP obsługujący SCP, taki jak FileZilla), zdecydowanie zalecamy zapoznanie się z częścią dotyczącą konfiguracji Samby w naszym przewodniku: Jak zamienić Raspberry Pi w sieciowe urządzenie magazynujące o niskiej mocy . Przeczytanie tego zapozna Cię z konfigurowaniem podstawowego udziału Samby w Pi, aby utworzyć folder współdzielony łatwo dostępny dla prawie każdego w sieci bez żadnych dodatkowych narzędzi.
Skonfigurowałeś SSH, skonfigurowałeś VNC i skonfigurowałeś prosty dostęp SFTP i / lub Samba do twojego Pi - w tym momencie możesz uruchomić Raspberry Pi, zdjąć monitor, klawiaturę i mysz, i schować go jako cichą i bezgłową maszynę.
Masz pomysł na projekt Raspberry Pi i nie możesz się doczekać, żebyśmy napisali do niego tutorial? Zagraj w komentarzach lub wyślij nam e-mail na adres [email protected] a my postaramy się pomóc.