Obsah:
- Zásoby
- Krok 1: Raspberry Pi 3b
- Krok 2: Propojení modulu Wiznet WIZ820io se sběrnicí Raspberry Pi GPIO Bus
- Krok 3: Moje obvodová deska
- Krok 4: Konfigurace Raspberry Pi IOS (dříve Raspian) - položky ve složce „boot“
- Krok 5: Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v adresáři „překrytí“
- Krok 6: Konfigurace Raspberry Pi IOS (dříve Raspian) - Upravit soubor s názvem: Config.txt
- Krok 7: Znovu jsme spustili. Doufám, že se usmíváš
- Krok 8: Konfigurace Raspberry Pi IOS (dříve Raspian) - Nastavení IP adresy
- Krok 9: Závěr
- Krok 10: Soubory DTBO
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Částečně kvůli mému zájmu o něco takového a částečně kvůli mému zájmu o Codesys jsem to měl na mysli už nějakou dobu, abych zkusil připojit druhý port síťového rozhraní k Raspberry Pi. Takže při dalších projektech jsem přemýšlel, četl, porovnával, plánoval a nakupoval, abych konečně mohl pokračovat a něco vybudovat.
Jo - já vím.. existuje několik systémů „na klíč“připravených k provozu, které by dělaly něco podobného, ale ve skutečnosti žádný z nich nebyl natolik lákavý, aby mě oddělil od mých peněz.
Ve skutečnosti mám nízkou úroveň znalostí a zkušeností s Raspberry Pi a Linux / Raspberry Pi IOS (Raspian) (daří se mi lépe ve světě Windows a Android), nemám žádné hluboké znalosti o práci v síti (mohu zajistit, aby vše fungovalo) a budovat sítě, ale kromě toho jsem trochu nad hlavou) a teprve jsem začal vyrábět obvodové desky. Určitě nejsem programátor.
Jakmile jsem se konečně rozhodl pokročit s touto myšlenkou něco vybudovat, rozhodl jsem se použít modul WIZ820io / USR -ES1, který je založen na integrovaném obvodu Wiznet - W5500. Tento modul může komunikovat s Raspberry Pi (a dalšími MCU) pomocí standardní sběrnice SPI. Navíc běží na 3,3 V DC, takže představuje pro můj Raspberry Pi nulové riziko poškození.
Při navrhování desky plošných spojů jsem se rozhodl ji postavit ve správné konfiguraci „HAT“(tvar a schopnost) a kromě přidání obvodů pro „modul WIZ820io jsem také přidal řadu dalších položek, které v tomto NEJSOU použity. síťový projekt, ale který mohu a budu v budoucnu používat pro jiné projekty.
Deska, kterou jsem navrhl / postavil, obsahuje následující položky.
1 - Zásuvka pro připojení modulu Wiznet - WIZ820io - ethernetový port (vytvořil jsem pro to vlastní Eagle Footprint).
2 - A 30 mm - 5 VDC chladicí ventilátor pro CPU Raspberry Pi (pro to jsem vytvořil vlastní Eagle Footprint).
3 - Paměťový čip „CAT24C32“pro zachování požadavků na kompatibilitu HAT (toto zatím není naprogramováno mnou) (vytvořil jsem pro to vlastní Eagle Design Block).
4 - Mini převodník úrovně MAX3232 - UART - TTL na RS -232 připojený k UART0 (pro to jsem vytvořil vlastní Eagle Footprint).
5 - A Red LED (GPIO24), A Yellow LED (GPIO23) and a Green LED (GPIO22) to be used for Traffic Light - Python programovací cvičení.
6 - Zelená LED (GPIO18) a Zelená LED (GPIO27) - pro cvičení programování a odstraňování problémů.
7 - Hmatový přepínač připojený k GPIO25 - pro cvičení programování a odstraňování problémů (k tomu jsem vytvořil vlastní Eagle Footprint). UPOZORNĚNÍ, že toto GPIO bude také použito s WIZ820io.
Jak jsem již dříve poznamenal, tento Instructable se bude zabývat pouze položkou č. 1 v tomto seznamu. Všechny ostatní položky, které jsem přidal na desku, jsou tam z jiných důvodů, které nesouvisejí s tímto projektem síťového rozhraní.
Zásoby
Raspberry Pi - použil jsem starší Raspberry Pi 3B. Na tom není nic špatného.. Můj má mrtvý port HDMI, takže jej spouštím „bezhlavě“pomocí TeamVieweru, abych se k němu dostal. Funguje to. Silně mám podezření, že většina verzí Raspberry Pi bude fungovat s tímto Instructable PROVIDING, že mohou provozovat novější verze Raspberry Pi IOS (Raspian).
Před zahájením toho všeho jsem samozřejmě aktualizoval operační systém:
sudo apt-get update
sudo apt-get upgrade
WIZ820io / USR -ES1 - Dokumentace k tomuto je k dispozici online od výrobce OEM
Deska PC - Autodesk Eagle jsem použil k návrhu desky plošných spojů a generování souborů Gerber nezbytných pro JLCPCB k sestavení desky s obvody. Jak již bylo uvedeno výše, přidal jsem také paměťový čip "CAT24C32", aby byl zachován požadavek kompatibility HAT.
Krok 1: Raspberry Pi 3b
Pokud jde o Raspberry Pi, tento projekt jsem vytvořil pomocí standardního Raspberry Pi 3b spolu s nejnovější verzí Raspberry Pi IOS (Raspian), kterou jsem si mohl stáhnout a nainstalovat.
Nic zvláštního. Vlastním tuto jednotku několik let a fungovala pro mě většinou dobře (dobře - video výstup HDMI je mrtvý, takže jsem nucen běžet bez hlavy pomocí TeamViewer). Neměli byste to dělat.
Mám podezření, že jakýkoli RPi by měl být schopen se připojit k WIZ820io / USR -ES1 - Wiznet W5500 a zajistit, aby to fungovalo, stejně jako mnoho dalších značek soutěží na stejném trhu (Beagle Bone, Orange, Tinker atd.) A používat podobný model OS Linux.
S některým z nich mám NULOVOU zkušenost. S Raspberry mám jen málo zkušeností - podívejte se, kam jsem se dostal:)
Krok 2: Propojení modulu Wiznet WIZ820io se sběrnicí Raspberry Pi GPIO Bus
Prohlédněte si přiložené obrázky.
Modul Wiznet WIZ820io poskytuje dvě řady po 6 pinech, se kterými lze propojit.
Řádky jsou označeny „J1“a „J2“.
Datový list, který poskytují, má velmi pěkný barevně odlišený diagram každého kolíku. Tento diagram vám má pomoci při připojování těchto pinů k vašim pinům Raspberry PI GPIO. Jsou docela dobře zápasem NAME for NAME.
Raspberry Pi pinout může najít zde: pinout.xyz
Tyto piny jsem připojil následovně (viz přiložený obrázek):
Samozřejmě, protože jsem vytvořil skutečnou desku s obvody, všechny Grounds (GND) byly spojeny dohromady. Totéž platí pro piny na 3,3 V - moje obvodová deska je spojila.
Několik poznámek..
1. - J2 Pin #5 - RSTn - Připojil jsem to k RPi GPIO #17 (Pin #11) - To bylo varovné. Nevěřím, že se používá.
2. - J1 Pin # 6 - INTn - To je připojeno k GPIO25 (Pin # 22). Je to nutné, protože v kroku konfigurace Raspberry Pi IOS se na to budeme odkazovat.
3. - J1 - Pin # 5 - SCNn - Je připojen k Raspberry Pi „CS0“(Pin # 24). Účinně to dává tomuto modulu adresu „modulu 0“na sběrnici RPi SPI. Opět se v kroku konfigurace Raspberry Pi IOS na to budeme odkazovat.
Krok 3: Moje obvodová deska
V příloze je Eagleovo schéma „Point to Point“, které jsem vytvořil a pomocí kterého jsem generoval Gerberovy soubory.
Připojeny jsou také obrázky „obvodové desky“, kterou jsem pro tento projekt vytvořil.
Tato deska přijme řadu různých produktů Wiznet ve stylu WIZ820io.
Krok 4: Konfigurace Raspberry Pi IOS (dříve Raspian) - položky ve složce „boot“
Aby Raspberry Pi „vidělo“nově nainstalovaný modul WIZ820io na své sběrnici SPI, je třeba na to upozornit IOS, aby se s tím mohl vypořádat během „BOOT Up“.
K tomu jednoduše přidáme dva řádky do:../../boot/config.txt
Nejprve.. Pomocí podokna / okna terminálu ==> ls
cd../boot, přejděte na../boot a zadejte seznam (ls) adresáře
Odkazujte na přiložený obrázek.. Tam musíte vyhledat a potvrdit přítomnost dvou záznamů - zakroužkoval jsem je červeně.
Jedním z nich je soubor s názvem: "config.txt"
Druhá je složka s názvem: "překryvy"
== == == ==
Jakmile potvrdíte přítomnost obou těchto položek, můžete pokračovat k dalšímu kroku
Krok 5: Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v adresáři „překrytí“
Změnit adresář na adresář „překrytí“
Typ: překryvy CD
Po stisknutí klávesy „Enter“se dostanete do složky „překrytí“(viz přiložený obrázek).
Seznam obsahu adresáře.
Typ: ls
Po stisknutí klávesy „Enter“byste měli vidět dlouhý seznam obsahu daného adresáře. Výpis je možná abecední.
(viz přiložené obrázky (2 z)). Všimněte si, že téměř VŠECHNY soubory jsou pojmenovány s příponou: *.dtbo, můžete si také všimnout několika pojmenovaných s příponou: *.dtb
Toto jsou VŠECHNY překryvné soubory „Strom zařízení“
Musíte potvrdit přítomnost dvou „překryvných“souborů (viz přiložené soubory obrázků).
1st - soubor s názvem: anyspi.dtbo (u tohoto budete možná muset použít posuvník na pravém okraji okna, abyste se posunuli zpět nahoru a našli abecedně seřazené anyspi.dtbo).
2. - soubor s názvem w5500.dtbo
== == ==
Pokud můžete potvrdit, že jsou přítomny oba tyto soubory, jste v dobré kondici a můžete se vrátit do adresáře../boot.
Zadejte: cd../ po stisknutí klávesy ENTER byste měli být vráceni zpět do adresáře / boot.
Seznam potvrďte v seznamu: zadejte: ls a stiskněte klávesu ENTER
Krok 6: Konfigurace Raspberry Pi IOS (dříve Raspian) - Upravit soubor s názvem: Config.txt
V adresáři../boot nyní můžeme pracovat na několika drobných úpravách souboru s názvem: config.txt
Nejprve zavoláme editor „nano“jako „super uživatel“(sudo)
sudo = 'superuživatel'
nano je textový editor, který budeme používat
a jak již bylo uvedeno, config.txt je soubor, který chceme upravit.
Zadejte: sudo nano config.txt a stiskněte klávesu ENTER.
Zobrazí se editor a zobrazí se obsah souboru config.txt. Pokud se editor neotevře nebo se otevře prázdný, ukončete jej (pokud je v nano) a znovu zkontrolujte pravopis.
Pokud vše proběhlo dobře, měli byste vidět něco jako na druhém připojeném obrázku. „nano“bude zobrazovat samotný „vrchol“souboru. budete muset posunout dolů úplně dolů.
V dolní části souboru přidejte níže dvě „příkazy dtoverlay“:
dtoverlay = anyspi, spi0-0, dev = "w5500", rychlost = 30000000dtoverlay = w5500
Znovu zkontrolujte všechny pravopisy a pokud se shodují, stiskněte dvě klávesy „Ctrl-x“pro ukončení.. a odpovídajícím způsobem odpovězte na uložení a ukončení.
== == == ==
Při příštím spuštění (a u všech bootování později, pokud tam tyto dva příkazy zůstanou) nyní operační systém také vyvolá překrytí s názvem „anyspi“a překrytí s názvem „w5500“.
Překryvná „anyspy“připravuje operační systém na použití sběrnice SPI0-0 (na kterou jsme dříve fyzicky připojili WIZ820io. „-0“určuje, že použije adresu „0“-připomeňme, že jsme dříve připojili pin WIZ820io #J1-6 „CEO“RPi GIPO (Pin #24).
Překrytí „w5500“říká operačnímu systému, jak si poradit s integrovaným obvodem W5500 umístěným v modulu WIZ820io. Rovněž definuje použití RPi GPIO25 (pin #22) jako signálu INTn. Ještě jednou si připomeňme, že jsme toto připojení vytvořili dříve.
Tento druh informací lze nalézt v různých souborech, jako je tento příklad na GITHubu.
== == ==
Čas restartovat RPI a toto vše se projeví.
Krok 7: Znovu jsme spustili. Doufám, že se usmíváš
Pokud vše proběhlo dobře, vaše RPi by se mělo normálně restartovat. Úsměv.
Čas na kontrolu, zda IOS načetl dva nové překryvné soubory a zda rozpoznává připojený modul WIZ820io.
Znovu otevřete okno „Příkaz“.
Tentokrát na výzvu zadejte příkaz ifconfig (nebo použijte novější příkaz „ip“) a stiskněte klávesu Enter.
Pravděpodobně se dočkáte dlouhé odezvy, takže se budete muset posunout zpět nahoru.
V horní části vyhledejte dvě části:
Jeden s názvem eth0 a druhý s názvem: eth1 - viz přiložený obrázek.
V mém systému je eth0 ethernetový port na RPI. eth1 je nový ethernetový port WIZ820io.
== == ==
Pokud vidíte dva porty, pak také RPI. Všimněte si na přiloženém obrázku, eth1 odeslal pakety a bez chyb.
Vyzkoušel jsem to tak, že odpojím kabel původního portu a pomocí prohlížeče přejdu na YouTube a další weby. Funguje to. Také jsem to „pingl“z několika různých zařízení a funguje to.
== == ==
Pokud nevidíte eth1 (nebo něco podobného) - jiné než eth0 na RPI3 nebo RPi4, zkuste se vrátit a znovu zkontrolovat, zda byl soubor config.txt správně upraven a uložen. Ujistěte se, že jsou dvě překryvy na místě, a pravopis je správný (žádná velká písmena tam, kde je nemám - v tomto systému záleží na velkých písmenech).
== == ==
Pokud jsou tyto dva porty přítomny, může být nutné provést trochu více konfigurační práce… na další krok….
Krok 8: Konfigurace Raspberry Pi IOS (dříve Raspian) - Nastavení IP adresy
To je trochu mimo můj dům kol, takže v tuto chvíli nejsem schopen poskytnout vedení.
Vězte, že existuje nespočet webů, videí z YouTube a diskusních panelů, které poskytují tento druh informací.
ale.. možná budete chtít zkontrolovat a udělat pár věcí zde.
1 - Zkontrolujte IP adresu, kterou váš nový port aktuálně má. bylo přiřazeno vaším serverem DHP, nebo je to výchozí IP - něco v rozsahu: 169.254.xxx.yyy? Je to něco jiného ??
2- Chcete statickou (pevnou) IP adresu nebo dynamickou IP adresu (přiřazenou vaším serverem DHCP).
Zkontrolujte přepínač / router, ke kterému je připojen váš RPI.. vidí váš nový port? může to "Ping"? (nezapomeňte odpojit kabel původního portu, pokud to uděláte - jinak vás RPi může oklamat).
Pomocí ifconfig (nebo novějšího příkazu „ip“) zjistíte, že přicházející a odcházející data vypadají „normálně“(abych tak řekl) a bez zbytečného počtu chyb.
== == ==
Nakonec.. domnívám se, že to je to, co w5500.dtbo přiřazuje MAC adresu modulu WIZ820io / W5500.. ale nemohu s jistotou říci, zda se to stane. Nemohl jsem k tomu hned najít podrobnosti.
Pro mě to vypadá, že při každém spuštění je přiřazena jiná MAC adresa. To se mi osobně nelíbí a v důsledku toho existují věci, které lze provést pro nastavení adresy Mac (například program „macchanger“nebo nastavení pomocí příkazů ip / ifconfig). Pokud někdo z vás najde řešení „boot-up“/ „crontab“, budu rád, když se dozvíte, jak to děláte, pokud jste otevřeni sdílení.
Můj obrázek můžete vidět na obrázku.. Když vyhledám dodavatele adresy Mac pro eth0 ==> b827eb, objeví se jako Raspberry Pi Foundation. Prodejce pro eth1 ==> fa9770 je neznámý, takže očividně byl v určitém okamžiku vygenerován na mém Pi.
Krok 9: Závěr
Děkujeme, že jste si prohlédli tento Instructable.
Díky tomuto malému projektu jsem se toho docela dost naučil.
Pokud máte nějaké dotazy nebo byste mohli mít zájem o koupi jedné z desek, které jsem vytvořil (naplněné nebo ne), mám několik doplňků, které jsou na prodej a o nichž můžeme diskutovat.
V každém případě vás žádám, abyste zanechali komentáře, navrhli opravy (překlepy nebo metody nebo ??)
Nejvíc-určitě, pokud to uděláte pro sebe, budu velmi rád, když uvidíte fotky, jak jste to řešili, a vaše konečné výsledky / účel.
Dík.
P. S.: Děkuji tomuto člověku za vedení a nápady.
Krok 10: Soubory DTBO
Dva soubory, které chcete přidat do složky „překrývání - potřebné pro kroky č. 4 a č. 5