Networking: Pin the Tail na bezgłowym Raspberry Pi

Chętnie, aby pogrążyć się do robotyki po zanurzaniu moich palców w wodzie z moim droidem BB-8, kupiłem Raspberry PI 3 model B. Pierwszym krokiem było połączenie do tego. Ale podczas gdy wbudowany 802.11n bezprzewodowy, początkowo nie miałem bezprzewodowego punktu dostępowego, choć w końcu dostałem jeden. Wskazało, że przeszedłem różne sposoby znalezienia go i łączenia z nim z moim komputerem stacjonarnym. Zdecydowanie istnieją inni, którzy szukają tego samego, więc spójrzmy na tajne zakłócenia używane do podłączenia PI do komputera bezpośrednio i pośrednio.

Dlaczego połącz się z PI z mojego komputera stacjonarnego? W końcu są małe monitory i klawiatury, które często używają laptopów Pi i tabletki Pi. Odkąd zamierzałem osadzić PI w różnych robotach, nie widziałem żadnej potrzeby zakupu osobnego monitora i klawiatury, ale wyglądałem trochę w to.

Mój monitor mojego pulpitu wykorzystuje złącze VGA, ale adapter VGA-to-HDMI, który dostałem wraz z PI nie działał. Również starożytna klawiatura Keytronic My Desktop wykorzystuje złącze PS / 2, aby również nie było użyteczne. Chociaż istnieją adaptery PS / 2-to-USB, moje badania wykazały, że potrzebuję tego, który był w niej Smarts USB, ponieważ moja klawiatura przewiduje USB i nie ma takiej własnej elektroniki. (Ale ma słodkie, głębokie klucze dotykowe!) Mój Pi pozostanie bezgłowy, abym go zaprogramował, łącząc się z nim z komputera stacjonarnego.

Podłączanie bezpośrednio za pomocą kabla Ethernet

Mój modem domowy był również starożytny, bez bezprzewodowego. Miał tylko jeden port Ethernet. To wskazało, że mógłbym podłączyć komputer stacjonarny do modemu lub do malin PI, ale nie oba jednocześnie. Tak więc na Unboxing PI, jedynym sposobem na połączenie go na mój komputer był odłączenie przewodu Ethernet z modemu i zamiast tego podłączyć go do PI. To wskazało, że nie ma dostępu do Internetu podczas pracy z PI, prawie idealny, ale wystarczająco dobry, aby zobaczyć, czy w ogóle działało Pi.

Ale dla mojego komputera, aby porozmawiać z PI, potrzebowałem adresu IP PI. Dla tych, których nie znają adresów IP składają się one z 4 liczb od 0 do 255 oddzielone kropkami. Na przykład:

169.254.95.208.

To naprawdę 32-bitowy numer, ale jest napisany w ten sposób do czytelności.

Centrum sieci i udostępniania w oknach
Adres IP i maska ​​podsieci

Idąc do panelu sterowania systemu Windows na moim pulpicie, a następnie w sieci i centrum udostępniania, widziałem, że teraz istnieje sieć.

Kliknięcie statusu widoku i głębiej znalazłem pewne korzystne informacje. Pierwszy był adres IP komputera stacjonarnego, 169.254.95.208. IPv4 mówi mi, że korzysta z wersji protokołu internetowego 4. Adresy IP w IPv6 różnią się przynajmniej w tym, że są cztery razy tak długo.

Ponadto obecność Maski podsieci IPv4, 255.255.0.0 powiedział mi, że podsieci lub podsieci, została utworzona między dwoma maszynami. Podsieć jest grupą maszyn tworzących mniejszą sieć, która może lub nie może być częścią większej. Ich adresy IP wszystkie zaczynają się od tych samych wartości binarnych, choć jak wiele bitów na początku, które mają wspólnego. Skąd wiesz, które bity są powszechne?

Korzystanie z maski podsieci
Właśnie tam pojawia się maska ​​podsieci. Aby dowiedzieć się, które bity, weź maskę podsieci i zrobić bitw i z adresem IP producenta na tym podsieci. Jak pokazuje diagram, wynik w moim przypadku wynosił 169.254.0.0, co wskazuje, że adres IP PI musi rozpocząć się od 169.254. Innym sposobem na pisanie maski podsieci jest w notacji CIDR. W notacji CIDR Adres IP następuje a / a następnie liczba wspólnych bitów. W tym przypadku byłoby to 169,254.0.0/16. Ostatnie dwie liczby są zerami, ale nie muszą rozważać, że 16 mówi ci, co zachować. Ta notacja CIDR wkrótce pojawi się pomocna.

Chociaż 109.254 został udostępniony, który nadal pozostał 65.536 (256 × 256) możliwych kombinacji dla dwóch pozostałych liczb. Aby zeskanować sieć, przechodząc przez każdą możliwą kombinację liczb, używałem NMAP, do pobrania z nmap.org.

Wyniki skanowania “NMAP -SN”
Jak pokazano w migawce, prowadziłem go w oknie cygwina, ale także dostępne są wersje GUI. Użyłem następującego wiersza poleceń.

Nmap -sn 169.254.0.0/16.

Należy pamiętać, że maska ​​podsieci jest podana przy użyciu notacji CIDR. Sekcja o Raspberry PI, którą widzisz w migawce, pojawił się po około 10 minutach, co wskazuje, że przeskanuje tę długą skanowanie z 169.254.0.0 do 169.254.37.77, adres IP PI. Nawet chodziło o to, czego szukałem, opuściłem go i tak i pełne skanowanie trwało nieco ponad czterdzieści cztery minuty. W tym czasie znalazł także komputer stacjonarny, gospodarz, z którego robiło skanowanie. Gdyby adres IP PI był 169.254.255.255, wtedy zrobiłoby to pełne czterdzieści cztery minuty przed znalezieniem go.

Adres IP PI nadal wynosił 169.254.37.77 W całym zamknięciu i więc skanowanie ponownie nie było konieczne.

Uruchamianie terminalu i pulpitu VNCPutty for SSH Terminal
Desktop VNC.

Teraz, gdy miałem to związane, potrzebowałem terminalu prowadzącego bezpieczną skorupę (SSH) w PI na komputerze stacjonarnym. Konfigurowanie terminalu było po prostu kwestią pobierania popularnego programu Putty i uruchomienie go. W sekcji Sesji wypełniłem adres IP PI, port 22 i upewnił się, że został wybrany SSH. Który otworzył okno terminala z monitu logowania. Domyślna nazwa użytkownika to PI, a hasło to malina. Oczywiście pierwszą rzeczą, jaką zrobiłem, został uruchomiony narzędzie PASWD, aby zmienić hasło.

Alternatywnie można uzyskać terminal graficzny za pomocą VNC. Jest to graficzny pulpit, który działa w oknie na komputerze stacjonarnym, ale jest naprawdę terminalem do PI.

Podłączanie za pomocą Ethernet za pomocą routera bezprzewodowego

Nie było długo po uzyskaniu PI, że podjęłam decyzję o przejściu na bezprzewodowy router / kombinacja modemu włókienowego. Jako bonus ten aktualizacja zawiera również wiele portów Ethernet. Skonfigurowałem mój komputer na pulpit, aby korzystać z bezprzewodowego, ale nie mogłem jeszcze zrobić tego samego dla Pi. Musiałem zrobić konfigurację na PI, aby skonfigurować bezprzewodową, a więc musiałem po raz pierwszy połączyć się za pomocą Ethernet.

Informacje o sieci routera w przeglądarce
Łączenie z routerem z Ethernet był znacznie łatwiejszy niż metoda bezpośrednia przyłączeniowa objęta, biorąc pod uwagę, że nie zaangażowano skanowania. Po podłączeniu PI za pomocą kabla Ethernet, po prostu wychowałem przeglądarkę na moim komputerze stacjonarnym i wpisałem adres IP routera do baru URL przeglądarki na górze. Jest to adres podobny do 192.168.1.1 lub 192.168.2.1, ale z http: // przed nim, choć niektóre przeglądarki nie potrzebują http: //. Sprawdź podręcznik routera / modemu.

To, co widzisz, zależy od twojego modemu, ale mój wyświetlany jest wykres sieciowy na dole z adresem IP PI, 192.168.2.14. Z tym udało mi się wywołać terminal za pomocą Putty, jak opisano powyżej.

Jeśli chcesz pozostać przy użyciu Ethernet między PI a modemem, to skończysz. Ale chciałem iść bezprzewodowo, aby moje roboty mogły wędrować bez końca kabla Ethernet. Teraz, kiedy miałem terminal w PI, mógłbym przejść do następnego kroku.

Podłączanie bezprzewodowo.

Model Raspberry PI 3 Model B ma bezprzewodowe wbudowane, ale jeśli masz wersję bez bezprzewodowej, możesz również uzyskać sprzęt sprzętowy, który podłącza się do jednego z portów USB PI. Zanim znajdziesz bezprzewodowo połączyć się z bezgłowym PI, nadal będziesz musiał połączyć się z nim za pomocą jednej z powyższych metod i wykonaj pewną konfigurację na PI.

Przyniosłem terminal i zalogowałem się, jak opisano powyżej. Musiałem umieścić moją nazwę sieci bezprzewodowej i hasła sieciowego do pliku konfiguracyjnego /etc/wpa_supplicant/wpa_supplicant.conf. Ale ze względów bezpieczeństwa nie chciałem, aby hasło było w zwykłym tekście.

Korzystanie z WPA_pasphrase i edycji WPA_Supplicant.conf
Edycja WPA_Supplicant.conf.
Więc prowadziłem WPA_Pasphrase “BobsNetName” “BobsnetSpassword” i podkreślił wyjście, które w tym terminalu kopiuje podświetlony tekst do schowka. “BobsNetName” i “BobsnetPassword” są oczywiście fikcyjne.

Następnie edytowałem /etc/wpa_supplicant/wpa_supplicant.conf i wklejony z schowka klikając prawym przyciskiem myszy. Wklejony tekst nadal zawiera linię z hasłem w jasnym tekście. To było skomentowane, ale mimo to widoczne, więc usunęłam to.

Po zapisaniu i wyjściu z edytora odłączyłem kabel Ethernet. Działający program o nazwie WPA-suplikant powinien przyjąć tylko kilka sekund po zmianie pliku, aby go zauważyć i uzyskać bezprzewodową. I tak po czekanie kilka sekund, pobiegłem ping google.com. Zadziałało. PI był bezprzewodowo połączony.

Gdyby nie było tego wtedy mogłem ponownie uruchomić go ręcznie, biegając Sudo WPA_CLI Reconfigure. Zgłasza to również nazwę interfejsu, WLAN0 w moim przypadku.

Bieganie “IfConfig WLAN0”
Aby go dodatkowo przetestować i uzyskać adres IP PI, pobiegł IFConfig WLAN0 i szukałem adresu IP obok addr inetr. Było tam i mogłem połączyć się z PI i rozpocząć programowanie robotów.

Były to moje doświadczenia w łączeniu się z moim Raspberry PI, ale wiemy, że na Hackaday jest wielu użytkowników Raspberry PI. Jakie metody użyłeś, jakie pułapki znalazłeś i jakie pomysły masz na wyjście z nich? Daj nam znać w komentarzach, aby inni też nie wpadli w nich.