Bez routera + bez ekranu + zwykły kabel Ethernet + RPI 2 + Raspbian Lite 2018-11-13 + host Ubuntu 18.10
Najpierw musimy włączyć serwer SSH na Pi, który jest domyślnie wyłączony dla bezpieczeństwa.
Jeśli masz już powłokę na Pi za pomocą metody innej niż SSH, takiej jak screen + klawiatura lub UART (patrz poniżej), po prostu uruchom:
sudo systemctl enable ssh
sudo service sshd start
jak wyjaśniono na stronie: SSH nie działa przy świeżej instalacji. To się powtarza podczas rozruchu.
W przeciwnym razie włóż kartę SD na hoście i utwórz magiczny pusty plik o nazwie ssh
plik na boot/
partycji.
Na hostach Ubuntu jest montowany automatycznie i możesz wykonać tylko:
sudo touch /media/$USER/boot/ssh
co możesz potwierdzić za pomocą:
lsblk
który zawiera:
mmcblk0 179:0 0 14.4G 0 disk
├─mmcblk0p1 179:1 0 43.9M 0 part /media/ciro/boot
└─mmcblk0p2 179:2 0 14.4G 0 part /media/ciro/rootfs
Jeśli nie włączysz demona SSHD na Pi, połączenie SSH nie powiedzie się:
ssh: connect to host 10.42.0.160 port 22: Connection refused
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:
sudo apt-get install dnsmasq-base
Na hoście otwórz menedżera sieci:
nm-connection-editor
I idź:
+
znak (Dodaj nowe połączenie)
- Ethernet
- Stwórz
- Ustawienia IPv4
- Metoda: udostępniona innym komputerom
- Ustaw dla niego dobre imię
- Zapisać
Znajdź adres IP komputera Pi na hoście:
cat /var/lib/misc/dnsmasq.leases
wyprowadza coś takiego:
1532204957 b8:27:eb:0c:1f:69 10.42.0.160 raspberrypi 01:b8:27:eb:0c:1f:69
10.42.0.160
jest adresem IP, a następnie, jak zwykle:
ssh pi@10.42.0.160
Mam również następujące elementy .bashrc
:
piip() ( cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3; )
pissh() ( sshpass -p raspberry ssh "pi@$(piip)"; )
Zauważ, że wewnątrz Pi można zauważyć, że może on normalnie uzyskać dostęp do Internetu za pośrednictwem innych interfejsów hosta:
ping google.com
Na przykład na moim laptopie Pi zajmuje Ethernet, ale host jest również podłączony do Internetu za pośrednictwem Wi-Fi.
Kabel krosowany nie jest wymagany, jeśli karta sieciowa hosta obsługuje Auto MDI-X . Dotyczy to najnowszego sprzętu, w tym na przykład testowanego przeze mnie Lenovo T430 2012, który ma „Intel® 82579LM Gigabit Network Connection”, który dokumentuje obsługę Auto MDI-X .
Teraz możesz także:
Konwerter szeregowy USB UART
Jest to alternatywa dla SSH, jeśli chcesz po prostu uzyskać powłokę na Pi: https://en.wikipedia.org/wiki/Serial_port
Nie używa to SSH ani samego sieci, ale raczej starszy, prostszy, bardziej bezpośredni, bardziej niezawodny, mniejszą przepustowość, niższy interfejs szeregowy. Dzięki tej metodzie Pi nie będzie miało dostępu do Internetu.
Komputery stacjonarne nadal mają port szeregowy, który można podłączyć bezpośrednio do drutu za pomocą Pi, ale są one ukryte w większości laptopów, dlatego musimy kupić tani adapter USB. Tutaj użyłem: https://www.amazon.co.uk/gp/product/B072K3Z3TL Zobacz także: https://unix.stackexchange.com/questions/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ć:
enable_uart=1
jak wyjaśniono na stronie : https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=141195
Ta pierwsza partycja zawiera bootloader, pliki konfiguracyjne i jądro (Linux / your), które config.txt
są jednym z nich. Druga partycja zawiera rzeczywisty główny system plików Linux.
Teraz podłącz swój komputer do Pi jako:
Musisz tylko podłączyć 3 kable:
- Z ziemi na ziemię
- Tx na Pi do Rx na USB do portu szeregowego
- Rx na Pi do Tx na tye USB na port szeregowy
Jest to również udokumentowane na stronie : https://www.raspberrypi.org/documentation/usage/gpio/README.md
Uważaj, aby nie połączyć uziemienia z napięciem 5 V. W ten sposób spaliłem już 2 układy UART do układów USB!
Nie musisz w ogóle podłączać 5 V do 5 V. 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 hosta i uzyskaj powłokę z:
sudo apt install screen
sudo usermod -a -G dialout $USER
screen /dev/ttyUSB0 115200
Wyjdź z Ctrl-A \
.
Oto wideo Adafruit pokazujące to: https://www.youtube.com/watch?v=zUBPeoLW16Q