Pracuję nad projektem balonu z Raspberry Pi. Kiedy potencjalnie odzyskamy Raspberry Pi, najprawdopodobniej będzie to na wsi i chciałbym bezpiecznie wyłączyć Pi w tym momencie.
Bez routera lub sieci w pobliżu zastanawiałem się, czy jest sposób, aby podłączyć Raspberry Pi kablem Ethernet bezpośrednio do laptopa?
ssh
raspberry-pi
ethernet
user2170780
źródło
źródło
Odpowiedzi:
To rozwiązanie dla Ubuntu (pomysł działa również na Windows lub Mac), które właśnie wypróbowałem dzisiaj i działa jak urok.
Materiał
Wymagania wstępne dotyczące twojego Ubuntu
Zainstaluj menedżera sieci
$sudo apt-get install network-manager
Zainstaluj nmap
$sudo apt-get install nmap
Edytuj połączenie przewodowe na swoim laptopie (Ubuntu)
Udostępniaj połączenie WiFi swojego laptopa za pomocą skrosowanego kabla Ethernet
Podłącz RPi do laptopa za pomocą kabla Ethernet
Wyszukaj adres rozgłoszeniowy połączenia Ethernet (Laptop),
$/sbin/ifconfig eth1 | grep "Bcast" | awk -F: '{print $3}' | awk '{print $1}'
10.42.0.255Użyj tego adresu, aby znaleźć adres IP swojego RPi, w moim przypadku jest to 10.42.0.96, ponieważ 10.42.0.1 to mój laptop
$nmap -n -sP 10.42.0.255/24
Zaloguj się do RPi z laptopa (-Y z przekazywaniem X)
$ssh -Y [email protected]
Oto i oto! Teraz RPi jest podłączone do laptopa, a RPi może udostępniać połączenie Wi-Fi.
pi@raspberrypi ~ $
Udostępnij wyświetlacz i klawiaturę swojego laptopa za pomocą RPi
Zainstaluj vncserver na Raspberry Pi
$ sudo apt-get update
$ sudo apt-get install tightvncserver
Zainstaluj vncviewer na swoim laptopie, pobierając RealVNC (obsługuje wiele platform) http://www.realvnc.com/download/vnc/
Aby móc kopiować i wklejać z serwera VNC <--> przeglądarkę VNC, musisz zainstalować autocutsel na swoim RPi.
$sudo apt-get install autocutsel
Jeśli ta witryna nie działa, spróbuj pobrać plik .deb bezpośrednio z witryny lustrzanej, np. Mirror.hmc.edu/debian/pool/main/a/autocutsel/autocutsel_0.10.0-1_armhf.deb
i zainstaluj go
$sudo dpkg -i autocutsel_0.10.0-1_armhf.deb
Uruchom vncserver na swoim RPi (musisz ponownie uruchomić vncserver po zainstalowaniu autocutsel, możesz wydać
$vncserver -kill :1
)$vncserver :1
Dodaj autocutsel -fork do /home/pi/.vnc/xstartup
Uruchom vncviewer na swoim laptopie
$vncviewer
Pojawi się okno vncviewer i wpisz adres IP twojego RPi (podany przez twój laptop), a następnie port 1, który jest twoim serwerem VNC. na przykład: 10.42.0.96:1 w moim przypadku.
Połącz go z serwerem vncs hostowanym na twoim RPi, wpisując hasło (ustaw je samodzielnie)
12. Teraz możesz zobaczyć pulpit RPi na swoim laptopie i otworzyłem przeglądarkę, aby pokazać, że współdzielone połączenie Wi-Fi również działa.
Zobacz pulpit Raspberry Pi na swoim Ubuntu
źródło
network-manager
, wystarczy użyć domyślnego interfejsu GUI „Ustawienia sieciowe”. I prawdopodobnie powinieneś kliknąć „Dodaj” zamiast „Edytuj”. Ponmap
prostu nie ma takiej potrzebycat /var/lib/misc/dnsmasq.leases
. Zobacz: interlockroc.org/2012/12/06/raspberry-pi-macgyverNie potrzebujesz kabla z przeplotem. Możesz użyć normalnego kabla sieciowego, ponieważ układ Raspberry Pi LAN jest wystarczająco inteligentny, aby ponownie skonfigurować się do bezpośrednich połączeń sieciowych. Twoje zdrowie
źródło
Bez routera + bez ekranu + zwykły kabel Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + Ubuntu 18.10
Najpierw musimy włączyć serwer SSH na Pi, który jest domyślnie wyłączony ze względów bezpieczeństwa.
Jeśli masz już powłokę na Pi za pomocą metody innej niż SSH, takiej jak ekran + klawiatura lub UART (patrz poniżej), po prostu uruchom:
jak wyjaśniono na: /raspberrypi/58478/ssh-not-working-with-fresh-install To utrzymuje się przez różne buty.
W przeciwnym razie włóż kartę SD do swojego hosta i utwórz magiczny pusty plik o nazwie
ssh
file naboot/
partycji.Na hostach Ubuntu jest montowany automatycznie i możesz po prostu:
które możesz potwierdzić:
który zawiera:
Jeśli nie włączysz demona SSHD na Pi, połączenie SSH nie powiedzie się z:
kiedy spróbujemy później.
Po włączeniu serwera SSH
Następnie uruchom Pi i podłącz kabel Ethernet z laptopa bezpośrednio do Pi:
W systemie Ubuntu 17.04, aby obejść ten błąd, jak wspomniano w tej odpowiedzi , najpierw potrzebujesz:
Na hoście otwórz menedżera sieci:
I idź:
+
znak (Dodaj nowe połączenie)Znajdź adres IP Pi na hoście:
wyświetla coś takiego:
10.42.0.160
jest adresem IP, to jak zwykle:Mam również w moim
.bashrc
:Z wnętrza Pi zwróć uwagę, że może on normalnie uzyskać dostęp do Internetu przez inne interfejsy twojego hosta:
Na przykład na moim laptopie Pi zajmuje Ethernet, ale host jest również podłączony do Internetu przez WiFi.
Kabel krosowy nie jest wymagany, jeśli karta sieciowa hosta obsługuje funkcję Auto MDI-X . Tak jest w przypadku najnowszego sprzętu, w tym na przykład testowanego przeze mnie Lenovo T430 z 2012 r., Który ma „Intel® 82579LM Gigabit Network Connection”, które dokumentuje obsługę funkcji Auto MDI-X .
Teraz możesz również:
Szeregowy konwerter USB UART
Jest to alternatywa dla SSH, jeśli chcesz tylko uzyskać powłokę na Pi: https://en.wikipedia.org/wiki/Serial_port
Nie wykorzystuje SSH ani samej sieci, ale raczej starszy, prostszy, bardziej bezpośredni, bardziej niezawodny, o mniejszej przepustowości i mniejszym dystansie interfejs szeregowy. Pi nie będzie miał dostępu do Internetu tą metodą.
Komputery stacjonarne nadal mają port szeregowy, który można podłączyć bezpośrednio przewodem do kabla z Pi, ale są one ukryte w większości laptopów, więc musimy kupić tani adapter USB. Tutaj użyłem: https://www.amazon.co.uk/gp/product/B072K3Z3TL Zobacz też: /unix/307390/what-is-the-difference-between- ttys0-ttyusb0-and-ttyama0-in-linux / 367882 # 367882
Najpierw podłącz kartę SD do hosta i edytuj
config.txt
plik obecny na pierwszej partycji, aby dodać:jak wyjaśniono na: https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Ta pierwsza partycja zawiera program ładujący, jego pliki konfiguracyjne i jądro (Linux / twoje),
config.txt
będące jednym z nich. Druga partycja zawiera rzeczywisty główny system plików Linuksa.Teraz podłącz komputer do Pi jako:
Wystarczy podłączyć 3 kable:
Jest to również udokumentowane pod adresem : https://www.raspberrypi.org/documentation/usage/gpio/README.md
Uważaj, aby nie połączyć masy z 5V, już spaliłem 2 układy UART na USB i RPI UART w ten sposób!
W ogóle nie musisz podłączać 5V do 5V. Myślę, że możesz tak zasilać swoje Pi, ale przeczytałem, że to zły pomysł, po prostu użyj zwykłego źródła zasilania USB.
Na koniec podłącz stronę USB złącza do komputera głównego i uzyskaj powłokę z:
Wyjdź za pomocą
Ctrl-A \
.Oto wideo autorstwa Adafruit pokazujące to: https://www.youtube.com/watch?v=zUBPeoLW16Q
Zobacz też
Podobne pytanie w RPI SE: /raspberrypi/3867/ssh-to-rpi-without-a-network-connection
źródło
Właśnie to zaimplementowałem i pomyślnie przetestowałem. Taka sama sytuacja z moim projektem, chcę połączyć się z Raspberry Pi bez routera lub Wi-Fi. Po prostu zwykły kabel Ethernet.
Używając programu ssh putty wpisz adres jako
raspberrypi.local
Zaloguj się i zaloguj, aby uzyskać dostęp do terminala.
Alternatywnie, jeśli skonfigurowano serwer VNC, użyj serwera VNC i włóż
raspberrypi.local: 1
W adresie serwera. wprowadź hasło do serwera VNC i masz teraz dostęp do GUI, aby robić, co chcesz.
W przypadku, gdy został uruchomiony skrypty w zdalnej lokalizacji. W przypadku plakatów bezpiecznie wyłącz Pi. Simples Pryszcze.
źródło
elderberryphi.local
Skonfiguruj statyczne IP dla swojego laptopa i Raspberry Pi. Na rapberryPI skonfiguruj go w następujący sposób.
Następnie skonfiguruj następujące zgodnie z wymaganiami, aby połączyć się z laptopem.
źródło
Skonfiguruj statyczne IP na Raspberry Pi:
a następnie dodaj:
wtedy możesz uzyskać dostęp do swojej maliny przez ssh
źródło
Oto instrukcje dla użytkowników systemu Windows dotyczące łączenia się z RPi za pomocą kabla Ethernet i serwera DHCP. Nie ma potrzeby stosowania kabla z przeplotem, ponieważ RPi sobie z tym poradzi. Mam post na blogu, który dokumentuje to za pomocą zdjęć , które mogą być łatwiejsze do naśladowania.
Pliki do pobrania
Pobierz serwer DHCP dla systemu Windows (łącze pobierania jest tutaj ). Rozpakuj plik zip i otwórz aplikację dhcpwiz, która skonfiguruje serwer DHCP.
Konfiguracja serwera DHCP
Kliknij następny na pierwszym ekranie.
Na drugim ekranie poszukaj wiersza „Połączenie lokalne” i sprawdź, czy jego adres IP to,
0.0.0.0
a stan toenabled
. Podłącz kabel Ethernet z RPi do laptopa i włącz Pi. Uderz odświeżanie na tym ekranie, aż adres IP zmieni się na169.254.*.*
. Jeśli chodzi o coś innego, powinieneś zmienić ustawienia sieciowe dla połączenia lokalnego (upewnij się, że nie jest to statyczny adres IP / DNS). Kliknij wiersz Połączenie lokalne i naciśnij Dalej.Sprawdź
HTTP (Web Server)
. Dzięki temu znacznie łatwiej jest zlokalizować adres IP RPi. Kliknij Dalej.Wybierz wartości domyślne i naciskaj Dalej, aż dojdziesz do
Writing the INI file
ekranu. SprawdźOverwrite existing file
i naciśnijWrite INI file
przycisk. Następnie naciśnij Dalej.Na ostatnim ekranie zaznacz
Run DHCP server immediately
i naciśnij `` Zakończ.Serwer DHCP i uzyskiwanie adresu IP twojego Raspberry PI
Spowoduje to uruchomienie właściwego serwera DHCP przy użyciu konfiguracji utworzonej w poprzednim kreatorze. Kliknij
Continue as tray app
przycisk, a serwer DHCP zostanie zminimalizowany do paska zadań.W dowolnym miejscu od 1 sekundy do 5 minut od teraz zobaczysz alert na pasku zadań z laptopem i nowym adresem IP RPi. Ten alert jest naprawdę szybki i prawdopodobnie go przegapisz. Zwykle IP twojego RPi jest
169.254.0.2
, ale może być*.01
lub nawet coś innego. Łatwiej jest uzyskać dostęp do interfejsu WWW serwera DHCP pod adresem http: //localhost/dhcpstatus.xml . Spowoduje to wyświetlenie nazwy hosta jako „raspberrypi” wraz z jego adresem IP.Teraz możesz umieścić zdalny pulpit w swoim RPi i skonfigurować jego ustawienia bezprzewodowe lub cokolwiek chcesz zrobić.
Rozwiązywanie problemów
To może być nieco skomplikowane. Moje połączenie wydaje się zerwane i nie mogłem ponownie nawiązać połączenia SSH przy użyciu adresu IP. Zwykle mogę ponownie uruchomić Pi i ponownie uzyskać adres IP. Czasami muszę zrestartować zarówno serwer RPi, jak i DHCP. Czasami muszę to robić wiele razy. W pewnym momencie, gdy nie uzyskiwałem połączenia przez 15 minut, skopiowałem wszystkie pliki z folderu dhcpsrv2.5.1 do nowego folderu i spróbowałem ponownie; to od razu zadziałało.
źródło
Możesz użyć kabla Ethernet z przeplotem - http://en.wikipedia.org/wiki/Ethernet_crossover_cable
Zakładając, że RPi jest klientem DCHP, najlepiej uruchomić prosty serwer DHCP na notebooku, aby przypisać RPi adres IP.
źródło
Tak, możesz podłączyć malinę bezpośrednio do komputera bez routera. W tym celu konieczne jest, aby malina i komputer znajdowały się w tej samej podsieci i oba miały skonfigurowany statyczny adres IP (i kabel Ethernet podłączony między dwoma urządzeniami).
Idealna konfiguracja byłaby następująca:
Raspberry na eth0: IP: 192.168.1.10 SubNet: 255.255.255.0
Twój komputer: IP: 192.168.1.11 SubNet 255.255.255.0
Aby ustawić ręczne IP na malinie, postępuj zgodnie z tym przewodnikiem
Na komputerze możesz ustawić ręczny adres IP w ustawieniach karty sieciowej, a procedura zależy od systemu operacyjnego.
Po skonfigurowaniu dwóch statycznych adresów IP można połączyć się z maliną przez SSH za pomocą zestawu adresów IP (192.168.1.10).
Inną prostszą metodą jest dołączenie do GPIO przycisku wyłączającego malinę! Spójrz tutaj!
źródło
U mnie zadziałało połączenie odpowiedzi Nicole Finnie i Ciro Santilli z kilkoma odpowiedziami z innych miejsc.
Konfigurowanie pi
Będziemy musieli zrobić dwie rzeczy: aktywować ssh na pi i skonfigurować pi tak, aby używał statycznego adresu IP.
Aktywacja ssh
Dodaj plik o nazwie
ssh
na partycji rozruchowej karty SD (nie/boot
folder na partycji głównej). To jest dobrze udokumentowane w innych miejscach.Stałe IP
Otwórz
/etc/dhcpcd.conf
na karcie SD pi i odkomentuj przykład dla statycznego adresu IP (zaczyna się około linii 40). Ustaw adresy naKonfigurowanie laptopa
Najpierw upewnij się, że masz
networkmanager
zainstalowany (z GUI) na swoim laptopie. Następnie upewnij się,dnsmasq
jest nie działa jako usługa:systemctl status dnsmasq
Jeżeli komenda drukuje, że usługa zostanie zatrzymana, a następnie jesteś dobry.
Następnie musimy skonfigurować
networkmanager
. Otwórz/etc/NetworkManager/NetworkManager.conf
i dodaj następujące dwie linie u góry:Następnie uruchom ponownie. Ten krok może nie być konieczny. Może wystarczyć ponowne uruchomienie
NetworkManager
usługi. Teraz przejdź doNetworkManager
GUI (zwykle dostępne za pomocą ikony w rogu ekranu) i wybierzEdit Connections...
W wyświetlonym oknie kliknij+
ikonę, aby utworzyć nowe połączenie. WybierzEthernet
jako typ i naciśnijCreate...
. Przejdź doIPv4 Settings
zakładki i wybierz metodęShared to other computers
. Nadaj połączeniu dobre imię i oszczędzaj.Podłącz Raspberry Pi i upewnij się, że Twój laptop używa nowego połączenia jako połączenia Ethernet. Jeśli tak, twój pi powinien mieć teraz adres IP nadany mu przez twój komputer. Możesz to znaleźć, najpierw uruchamiając
ifconfig
. Powinno to dać ci kilka bloków tekstu, po jednym dla każdego interfejsu sieciowego. Interesuje Cię ten, który jest czymś w rodzajuenp0s25
lubeth0
. Powinien mieć wiersz, który brzmi podobnie, abyinet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
spojrzeć na adres rozgłoszeniowy (w tym przypadku
10.42.0.255
). Jeśli jest inny niż mój, wyłącz pi i włóż kartę SD z powrotem do laptopa, aby zmienić nastatic ip_address
coś, w którym pierwsze trzy cyfry są takie same jak w adresie rozgłoszeniowym. Zmień takżestatic routers
i pierwszy z nichdomain_name_servers
na laptopainet
adres. Ponownie włącz pi i podłącz je. Uruchomifconfig
ponownie, aby zobaczyć, czy adresy się nie zmieniły.ssh do pi
ssh [email protected]
Jeśli dostaniesz
connection refused
, pi nie obsługujessh
serwera. Jeśli dostanieszhost unreachable
, przepraszam.Mam nadzieję, że to komuś pomoże!
źródło