Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Raspberry Pi 3b
- Krok 2: Połączenie modułu Wiznet WIZ820io z magistralą GPIO Raspberry Pi
- Krok 3: Moja płytka drukowana
- Krok 4: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - Wpisy w folderze "boot"
- Krok 5: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - Wpisy w katalogu "nakładek"
- Krok 6: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - Edytuj plik o nazwie: Config.txt
- Krok 7: Uruchomiliśmy ponownie. Mam nadzieję, że się uśmiechasz
- Krok 8: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - ustawianie adresu IP
- Krok 9: Wniosek
- Krok 10: Pliki DTBO
Wideo: Dodaj port sieciowy WIZ820io / USR-ES1 - Wiznet W5500 do swojego Raspberry Pi.: 10 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Częściowo z powodu mojego zainteresowania zrobieniem czegoś takiego, a częściowo z powodu mojego zainteresowania Codesysem od jakiegoś czasu miałem na myśli, aby spróbować podłączyć drugi port interfejsu sieciowego do Raspberry Pi. Więc robiąc inne projekty myślałem, czytałem, porównywałem, planowałem i robiłem zakupy, żeby w końcu móc coś zbudować.
Tak - wiem.. jest kilka gotowych do użycia gotowych systemów, które zrobiłyby coś podobnego, ale tak naprawdę żaden z nich nie był wystarczająco kuszący, by oddzielić mnie od moich pieniędzy.
W rzeczywistości mam niski poziom wiedzy i doświadczenia na temat Raspberry Pi i Linux / Raspberry Pi IOS (Raspian) (lepiej radzę sobie w światach Windows i Android), brak dogłębnej znajomości sieci (potrafię sprawić, by wszystko działało i buduję sieci, ale poza tym jestem trochę przesadzony) i dopiero zacząłem tworzyć płytki drukowane. Na pewno nie jestem programistą.
Kiedyś w końcu zdecydowałem się pójść naprzód z tym pomysłem zbudowania czegoś i zdecydowałem się na użycie modułu WIZ820io / USR-ES1, który jest oparty na układzie scalonym Wiznet - W5500. Ten moduł może komunikować się z Raspberry Pi (i innymi MCU) za pomocą standardowej magistrali SPI. Dodatkowo, działa na 3,3 VDC, więc stanowi ZEROWE ryzyko uszkodzenia mojego Raspberry Pi.
Projektując płytkę drukowaną, zdecydowałem się zbudować ją w odpowiedniej konfiguracji „HAT” (kształt i możliwości), a oprócz dodania obwodów dla modułu „WIZ820io” dodałem również szereg innych elementów, które NIE są używane w tym projekt sieciowy, ale który mogę i będę wykorzystywał w innych projektach w przyszłości.
Na planszy, którą zaprojektowałem/zbudowałem, znajdują się następujące elementy.
1 - Gniazdo do przechowywania Wizneta - WIZ820io - moduł portu Ethernet (zrobiłem do tego własny Eagle Footprint).
2 - Wentylator chłodzący 30 mm - 5 VDC dla procesora Raspberry Pi (zrobiłem do tego niestandardowego Eagle Footprint).
3 - Układ pamięci "CAT24C32" w celu zachowania zgodności z wymaganiami HAT (nie jest to jeszcze zaprogramowane przeze mnie) (zrobiłem w tym celu niestandardowy blok projektowy Eagle).
4 - Konwerter poziomów mini MAX3232 - UART - TTL na RS-232 podłączony do UART0 (zrobiłem do tego własny Eagle Footprint).
5 - Czerwona dioda LED (GPIO24), Żółta dioda LED (GPIO23) i Zielona dioda LED (GPIO22) do wykorzystania w ćwiczeniach z programowania w języku Traffic Light - Python.
6 - Zielona dioda LED (GPIO18) i zielona dioda LED (GPIO27) - do ćwiczeń programowania i rozwiązywania problemów.
7 - Przełącznik dotykowy podłączony do GPIO25 - do ćwiczeń programowania i rozwiązywania problemów (zrobiłem w tym celu niestandardowy Eagle Footprint). Zwróć uwagę, że to GPIO będzie również używane z WIZ820io.
Tak więc, jak wcześniej zauważyłem, ten Instruktaż będzie dotyczył tylko elementu nr 1 na tej liście. Wszystkie inne elementy, które dodałem na płycie, są tam z innych powodów niezwiązanych z tym projektem interfejsu sieciowego.
Kieszonkowe dzieci
Raspberry Pi - użyłem starszego Raspberry Pi 3B. Nie ma w tym nic złego… Mój ma martwy port HDMI, więc uruchamiam go „bez głowy”, używając TeamViewer, aby uzyskać do niego dostęp. To działa. Podejrzewam, że większość wersji Raspberry Pi będzie działać z tą instrukcją, POD warunkiem, że mogą uruchamiać nowsze wersje Raspberry Pi IOS (Raspian).
Przed rozpoczęciem tego wszystkiego oczywiście zaktualizowałem system operacyjny:
aktualizacja sudo apt-get
sudo apt-get upgrade
WIZ820io / USR-ES1 - dokumentacja do tego jest dostępna online u producenta OEM
Płytka PC - użyłem Autodesk Eagle do zaprojektowania płytki drukowanej i wygenerowania plików Gerber niezbędnych do zbudowania płytki drukowanej przez JLCPCB. Jak wcześniej wspomniano, dodałem również układ pamięci „CAT24C32”, aby zachować wymagania zgodności HAT.
Krok 1: Raspberry Pi 3b
Jeśli chodzi o Raspberry Pi, ten projekt wykonałem używając standardowego Raspberry Pi 3b wraz z najnowszą wersją Raspberry Pi IOS (Raspian), którą mogłem pobrać i zainstalować.
Nic specjalnego. Posiadam to urządzenie od kilku lat i działało w większości dobrze dla mnie (no cóż - wyjście wideo HDMI jest martwe, więc jestem zmuszony pracować bez głowy za pomocą TeamViewer). Nie powinieneś tego robić.
Podejrzewam, że każdy RPi powinien być w stanie połączyć się z WIZ820io / USR-ES1 - Wiznet W5500 i sprawić, że to zadziała, podobnie jak wiele innych marek konkurujących na tym samym rynku (Beagle Bone, Orange, Tinker itp.) i używać podobnego model systemu operacyjnego opartego na systemie Linux.
Mam ZERO doświadczenia z którymkolwiek z nich. Mam niewielkie doświadczenie z Maliną - zobacz, gdzie mnie to zaprowadziło:)
Krok 2: Połączenie modułu Wiznet WIZ820io z magistralą GPIO Raspberry Pi
Przejrzyj załączone obrazy.
Moduł Wiznet WIZ820io zapewnia dwa rzędy po 6 pinów każdy, z którymi można się połączyć.
Wiersze są oznaczone odpowiednio „J1 i „J2”.
Arkusz danych, który dostarczają, zawiera bardzo ładny schemat każdego pinu oznaczony kolorami. Ten schemat ma pomóc w podłączeniu tych pinów do pinów GPIO Raspberry PI. Są całkiem niezłym meczem NAME dla NAME.
Pinout Raspberry Pi można znaleźć tutaj: pinout.xyz
Połączyłem te piny w następujący sposób (patrz załączony obrazek):
Oczywiście, odkąd zrobiłem prawdziwą płytkę drukowaną, wszystkie masy (GND) były ze sobą połączone. To samo dotyczy pinów do 3,3 V - moja płytka drukowana połączyła je ze sobą.
Kilka ważnych rzeczy…
1. - J2 Pin #5 - RSTn - Podłączyłem to do RPi GPIO #17 (Pin #11) - To było ostrzeżenie. Nie wierzę, że jest używany.
2-gi - J1 Pin #6 - INTn - Podłączony do GPIO25 (Pin #22). Jest to wymagane, ponieważ w kroku konfiguracji Raspberry Pi IOS będziemy się do tego odnosić.
3. - J1- Pin #5 - SCNn - Podłączony do Raspberry Pi "CS0" (Pin #24). W efekcie daje to temu modułowi adres „Moduł 0” na magistrali RPi SPI. Ponownie, w kroku konfiguracji Raspberry Pi IOS, odniesiemy się do tego.
Krok 3: Moja płytka drukowana
W załączniku znajduje się schemat Eagle "Point to Point", który wymyśliłem i za pomocą którego wygenerowałem pliki Gerber.
Załączam również zdjęcia "Płytki obwodowej", którą przygotowałem do tego projektu.
Ta tablica akceptuje wiele różnych produktów Wiznet w stylu WIZ820io.
Krok 4: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - Wpisy w folderze "boot"
Aby Raspberry Pi "zobaczyło" nowo zainstalowany moduł WIZ820io na swojej magistrali SPI, IOS musi zostać poinformowany, aby mógł sobie z tym poradzić podczas "BOOT Up".
Aby to zrobić, dodamy po prostu dwie linie do:../../boot/config.txt
Po pierwsze… Korzystanie z panelu / okna terminala ==> ls
cd../boot, przejdź do../boot i wyświetl (ls) katalog
Odwołaj się do załączonego obrazka. Tam musisz poszukać i potwierdzić obecność dwóch wpisów - zakreśliłem je na czerwono.
Jednym z nich jest plik o nazwie: „config.txt”
Drugi to folder o nazwie: „overlays”
== == == ==
Po potwierdzeniu obecności obu tych wpisów możesz przejść do następnego kroku
Krok 5: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - Wpisy w katalogu "nakładek"
Zmień katalog na katalog „nakładek”
Typ: nakładki cd
Po naciśnięciu klawisza „enter”, który przeniesie Cię do folderu „overlays” (patrz załączony obrazek).
Wymień zawartość katalogu.
Typ: ls
Po naciśnięciu klawisza „enter” powinieneś zobaczyć długą listę zawartości tego katalogu. Lista może być alfabetyczna.
(patrz załączone obrazy (2 z)). Zauważ, że prawie WSZYSTKIE pliki mają nazwy z rozszerzeniem: *.dtbo, możesz również zauważyć, że kilka z nich ma rozszerzenie: *.dtb
Są to WSZYSTKIE pliki nakładek „Drzewo urządzeń”
Musisz potwierdzić obecność dwóch plików „nakładek” (patrz załączone pliki graficzne).
1. - plik o nazwie: anyspi.dtbo (w tym przypadku może być konieczne użycie paska przewijania na prawym marginesie okna, aby przewinąć do góry i znaleźć alfabetycznie uporządkowany anyspi.dtbo).
2. - plik o nazwie w5500.dtbo
== == ==
Jeśli możesz potwierdzić, że oba te pliki są obecne, oznacza to, że jesteś w dobrej formie i możesz wrócić do katalogu../boot.
Wpisz: cd../ po naciśnięciu klawisza ENTER powinieneś wrócić do katalogu /boot.
Wymień katalog, aby potwierdzić: wpisz: ls i naciśnij klawisz ENTER
Krok 6: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - Edytuj plik o nazwie: Config.txt
W katalogu../boot możemy teraz wykonać kilka drobnych zmian w pliku o nazwie: config.txt
Najpierw wywołamy edytor „nano” jako „super użytkownik” (sudo)
sudo = 'superużytkownik'
nano to edytor tekstu, którego będziemy używać
i jak już wspomniano, config.txt to plik, który chcemy edytować.
Wpisz: sudo nano config.txt i naciśnij ENTER.
Spowoduje to wywołanie edytora i wyświetlenie zawartości pliku config.txt. Jeśli edytor nie otwiera się lub otwiera się pusty, wyjdź (jeśli jest w nano) i dwukrotnie sprawdź pisownię.
Jeśli wszystko poszło dobrze, powinieneś zobaczyć coś takiego jak na drugim załączonym obrazku. „nano” będzie wyświetlać samą „górę” pliku. musisz przewinąć na sam dół.
Na samym dole pliku dodaj dwie „instrukcje dtoverlay” poniżej:
dtoverlay=anyspi, spi0-0, dev="w5500", prędkość=30000000dtoverlay=w5500
Dokładnie sprawdź pisownię, a jeśli pasuje, naciśnij dwa klawisze "Ctrl-x", aby wyjść.. i odpowiedz odpowiednio, aby zapisać i wyjść.
== == == ==
Przy następnym uruchomieniu (i dla wszystkich późniejszych uruchomień, jeśli te dwie instrukcje pozostaną tam) system operacyjny wywoła teraz również nakładkę o nazwie „anyspi” i nakładkę o nazwie „w5500”.
Nakładka „anyspy” przygotowuje system operacyjny do korzystania z magistrali SPI0-0 (czyli do której wcześniej fizycznie podłączyliśmy WIZ820io. „-0” określa go do używania adresu „0” – przypomnijmy, że wcześniej podłączyliśmy pin WIZ820io #J1-6 do RPi GIPO "CEO" (Pin #24).
Nakładka „w5500” mówi systemowi operacyjnemu, jak postępować z układem scalonym W5500 znajdującym się w module WIZ820io. Definiuje również użycie RPi GPIO25 (Pin #22) jako sygnału INTn. Przypomnijmy raz jeszcze, że wcześniej nawiązaliśmy to połączenie.
Tego rodzaju informacje można znaleźć w różnych plikach, takich jak ten przykład znaleziony na GITHub.
== == ==
Czas zrestartować RPI i wprowadzić to wszystko w życie.
Krok 7: Uruchomiliśmy ponownie. Mam nadzieję, że się uśmiechasz
Jeśli wszystko poszło dobrze, twoje RPi powinno zostać ponownie uruchomione normalnie. Uśmiechnij się.
Czas sprawdzić, czy IOS załadował dwa nowe pliki nakładek i czy rozpoznaje dołączony moduł WIZ820io.
Ponownie otwórz okno „Polecenie”.
Tym razem w wierszu polecenia wpisz ifconfig (lub użyj nowszego polecenia „ip”) i naciśnij klawisz Enter.
Prawdopodobnie otrzymasz długą odpowiedź, więc musisz przewinąć do góry.
Na górze poszukaj dwóch sekcji:
Jeden o nazwie eth0, a drugi o nazwie: eth1 - patrz załączony obrazek.
W moim systemie eth0 to port Ethernet w RPI. eth1 to nowy port Ethernet WIZ820io.
== == ==
Jeśli widzisz dwa porty, to tak samo jest z RPI. Zauważ na załączonym obrazku, że eth1 wysłał pakiety i to bez błędów.
Przetestowałem to, odłączając oryginalny kabel portu i używając przeglądarki, aby przejść do YouTube i innych stron internetowych. To działa. Ja też "pingowałem" go z kilku różnych urządzeń i działa.
== == ==
Jeśli nie widzisz eth1 (lub czegoś podobnego) - innego niż eth0 na RPI3 lub RPi4, spróbuj wrócić i dwukrotnie sprawdzić, czy plik config.txt został poprawnie edytowany i zapisany. Upewnij się, że obie nakładki są na swoim miejscu i pisownia jest poprawna (żadnych wielkich liter tam, gdzie ich nie mam - duże znaczenie w tym systemie).
== == ==
Jeśli oba porty są obecne, może być trochę więcej pracy konfiguracyjnej do wykonania… do następnego kroku….
Krok 8: Konfiguracja Raspberry Pi IOS (dawniej Raspian) - ustawianie adresu IP
To trochę poza moją sterówką, więc w tej chwili nie jestem w stanie udzielić wskazówek.
Po prostu wiedz, że istnieje niezliczona ilość stron internetowych, filmów na YouTube i forów dyskusyjnych, które dostarczają tego rodzaju informacji.
ale.. możesz sprawdzić i zrobić kilka rzeczy tutaj.
1 - Dokładnie sprawdź adres IP, który aktualnie posiada twój nowy port. czy został on przypisany przez serwer DHP, czy jest to domyślny adres IP - coś z zakresu: 169.254.xxx.yyy ? Czy to coś innego?
2- Czy chcesz mieć statyczny (stały) adres IP, czy dynamiczny adres IP (przypisany przez serwer DHCP).
Sprawdź przełącznik/router, do którego podłączony jest twój RPI.. czy widzi twój nowy port? czy może to "pingować"? (pamiętaj, aby odłączyć oryginalny kabel portu, jeśli to zrobisz - w przeciwnym razie RPi może cię oszukać).
Użyj ifconfig (lub nowszego polecenia "ip"), aby zobaczyć, że dane przychodzące i wychodzące wyglądają "normalnie" (że tak powiem) i bez nadmiernej liczby błędów.
== == ==
Na koniec.. Uważam, że to w5500.dtbo przypisuje adres MAC do modułu WIZ820io / W5500.. ale nie mogę powiedzieć na pewno, czy tak się dzieje. Nie mogłem od razu znaleźć szczegółów na ten temat.
Wydaje mi się, że przy każdym uruchomieniu przypisywany jest inny adres MAC. Osobiście mi się to nie podoba, a co za tym idzie są rzeczy, które można zrobić, aby ustawić adres Mac (na przykład program "macchanger" lub ustawienie go za pomocą poleceń ip / ifconfig). Jeśli ktoś z was znajdzie na to rozwiązanie typu „boot-up” / „crontab”, chętnie usłyszę o tym, jak to robisz, jeśli jesteś otwarty na udostępnianie.
Możesz zobaczyć mój na obrazku.. Kiedy szukam dostawcy adresu Mac dla eth0 ==> b827eb, pojawia się jako Raspberry Pi Foundation. Sprzedawca eth1 ==> fa9770 jest nieznany, więc oczywiście został wygenerowany na moim Pi w pewnym momencie..
Krok 9: Wniosek
Dziękujemy za sprawdzenie tego Instruktażowego.
Nauczyłem się sporo pracując przez ten mały projekt.
Jeśli masz jakieś pytania lub jesteś zainteresowany kupnem jednej z przygotowanych przeze mnie desek (zapełnionych lub nie), mam kilka dodatków, które są na sprzedaż i które możemy omówić.
W każdym razie zachęcam do zostawiania komentarzy, sugerowania poprawek (literówki czy metody czy??)
Z pewnością, jeśli zrobisz to dla siebie, będę bardzo zadowolona, widząc zdjęcia, jak sobie z tym poradziłeś i jakie są rezultaty końcowe / cel.
Dziękuję.
PS: Dziękuję temu koledze za wskazówki i pomysły.
Krok 10: Pliki DTBO
Dwa pliki do dodania do „folderu nakładek - potrzebne do wykonania kroków #4 i #5
Zalecana:
Dodaj Bluetooth do swojego starego samochodowego zestawu stereo: 5 kroków
Dodaj Bluetooth do swojego starego samochodowego zestawu stereo: Cześć wszystkim! To mój pierwszy raz, kiedy dzielę się niektórymi z tych projektów. Mam nadzieję, że znajdziesz przynajmniej kilka pomysłów na przywrócenie do życia twojego starego samochodowego stereo. Moim ojczystym językiem nie jest angielski, więc przepraszam, jeśli moja ortografia lub gramatyka są takie nie poprawnie
Dodaj Bluetooth do swojego starego samochodowego zestawu stereo: 11 kroków
Dodaj Bluetooth do swojego starego samochodowego zestawu stereo: Mam zestaw stereo w moim samochodzie, ale nie ma Bluetooth, więc dobrze, dlaczego go nie dodać?
Dodaj zasilane porty USB do swojego samochodu: 5 kroków (ze zdjęciami)
Dodaj zasilane porty USB do swojego samochodu: To pokaże Ci, jak dodać zasilane porty USB do samochodu (w tym przypadku yaris) i podłączyć jeden z nich do zasilania telefonu z deski rozdzielczej, aby używać go jako GPS w przedniej szybie. robię to w yaris, ale dotyczy to każdego samochodu. Pokażę ci, jak 1
Dodaj więcej GB do swojego iPoda Mini: 8 kroków (ze zdjęciami)
Dodaj więcej GB do swojego iPoda Mini: Moja siostra otrzymała nowe Nano na urodziny, ja zostałem z drugą generacją, a jej stare mini leżało w jej pokoju, zbierając kurz! Otrzymała nowego iPoda, ponieważ jej Mini się zachowywał, nie ładowanie i prawie w ogóle nie działa. Zdecydowałem
Dodaj zasilacz sieciowy do urządzenia zasilanego bateryjnie: 9 kroków
Dodaj zasilacz sieciowy do urządzenia zasilanego bateryjnie: Wraz z narodzinami dziecka nabywamy zadziwiającą liczbę urządzeń zasilanych bateryjnie – dmuchane fotele, huśtawki, skoczki do aktywności, telefony komórkowe,… – i przepalają się jeszcze więcej zadziwiająca ilość baterii. Teraz wiem, dlaczego Costco sprzedaje te ogromne