Obsah:

Přidejte ke svému Raspberry Pi síťový port WIZ820io / USR -ES1 - Wiznet W5500: 10 kroků
Přidejte ke svému Raspberry Pi síťový port WIZ820io / USR -ES1 - Wiznet W5500: 10 kroků

Video: Přidejte ke svému Raspberry Pi síťový port WIZ820io / USR -ES1 - Wiznet W5500: 10 kroků

Video: Přidejte ke svému Raspberry Pi síťový port WIZ820io / USR -ES1 - Wiznet W5500: 10 kroků
Video: Jak monitorovat síť pomocí Raspberry PI | Zabbix 2024, Listopad
Anonim
Přidejte ke svému Raspberry Pi síťový port WIZ820io / USR -ES1 - Wiznet W5500
Přidejte ke svému Raspberry Pi síťový port WIZ820io / USR -ES1 - Wiznet W5500

Čá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

Raspberry Pi 3b
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

Propojení modulu Wiznet WIZ820io se sběrnicí GPIO Raspberry Pi
Propojení modulu Wiznet WIZ820io se sběrnicí GPIO Raspberry Pi
Propojení modulu Wiznet WIZ820io se sběrnicí GPIO Raspberry Pi
Propojení modulu Wiznet WIZ820io se sběrnicí GPIO Raspberry Pi
Propojení modulu Wiznet WIZ820io se sběrnicí GPIO Raspberry Pi
Propojení modulu Wiznet WIZ820io se sběrnicí GPIO Raspberry Pi

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

Moje obvodová deska
Moje obvodová deska
Moje obvodová deska
Moje obvodová deska
Moje obvodová deska
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“

Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru
Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru

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í“

Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru
Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru
Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru
Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru
Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru
Konfigurace Raspberry Pi IOS (dříve Raspian) - položky v souboru

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

Konfigurace Raspberry Pi IOS (dříve Raspian) - Upravit soubor s názvem: Config.txt
Konfigurace Raspberry Pi IOS (dříve Raspian) - Upravit soubor s názvem: Config.txt
Konfigurace Raspberry Pi IOS (dříve Raspian) - Upravit soubor s názvem: Config.txt
Konfigurace Raspberry Pi IOS (dříve Raspian) - Upravit soubor s názvem: Config.txt
Konfigurace Raspberry Pi IOS (dříve Raspian) - Upravit soubor s názvem: Config.txt
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áš

Znovu jsme spustili. Doufám, že se usmíváš
Znovu jsme spustili. Doufám, že se usmíváš
Znovu jsme spustili. Doufám, že se usmíváš
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

Doporučuje: