Talaan ng mga Nilalaman:

Magdagdag ng isang WIZ820io / USR-ES1 - Wiznet W5500 Network Port sa Iyong Raspberry Pi .: 10 Hakbang
Magdagdag ng isang WIZ820io / USR-ES1 - Wiznet W5500 Network Port sa Iyong Raspberry Pi .: 10 Hakbang

Video: Magdagdag ng isang WIZ820io / USR-ES1 - Wiznet W5500 Network Port sa Iyong Raspberry Pi .: 10 Hakbang

Video: Magdagdag ng isang WIZ820io / USR-ES1 - Wiznet W5500 Network Port sa Iyong Raspberry Pi .: 10 Hakbang
Video: Paano Magdagdag ng Isang Item para sa Retail Business 2024, Nobyembre
Anonim
Magdagdag ng isang WIZ820io / USR-ES1 - Wiznet W5500 Network Port sa Iyong Raspberry Pi
Magdagdag ng isang WIZ820io / USR-ES1 - Wiznet W5500 Network Port sa Iyong Raspberry Pi

Bahagyang dahil sa aking interes sa paggawa ng isang bagay tulad nito, at bahagyang dahil sa aking interes sa Codesys naisip ko ito sandali upang subukan at ikonekta ang isang pangalawang port ng Network Interface sa isang Raspberry Pi. Kaya't habang gumagawa ng iba pang mga proyekto naisip ko, binabasa, pinaghahambing, pinaplano at namimili upang sa wakas ay magpatuloy ako at makabuo ng isang bagay.

Yeah - I know.. may ilang "turn-key" na handa nang pumunta sa mga system na magagamit doon kung ano ang gagawa ng katulad na bagay, ngunit talagang wala sa kanila ang nakakaakit ng sapat na paghiwalayin ako sa aking pera.

Sa katotohanan, mayroon akong mababang antas ng kaalaman at karanasan sa Raspberry Pi at Linux / Raspberry Pi IOS (Raspian) (mas mahusay akong nagawa sa mga mundo ng Windows at Android), walang malalim na kaalaman sa Networking (maaari kong gumana ang mga bagay at bumuo ng mga network, ngunit lampas doon ay medyo nasa ulo na ako), at nagsimula lang akong gumawa ng Circuit Boards. For sure, hindi ako programmer.

Sa sandaling napagpasyahan kong tuluyang sumulong sa ideyang ito ng pagbuo ng isang bagay, at nagpasyang gamitin ang WIZ820io / USR-ES1 module, na batay sa Wiznet - W5500 integrated Circuit. Ang modyul na ito ay maaaring makipag-usap sa Raspberry Pi (at iba pang mga MCU) gamit ang karaniwang SPI bus. Bilang karagdagan, nagpapatakbo ito ng 3.3 VDC, kaya't nagpapose ito ng ZERO na mga panganib sa pinsala sa aking Raspberry Pi.

Sa pagdidisenyo ng circuit board, pinili ko itong itayo sa isang tamang pagsasaayos ng "HAT" (hugis at kakayahan), at bilang karagdagan sa pagdaragdag ng circuitry para sa "WIZ820io module ay nagdagdag din ako ng maraming iba pang mga item na HINDI ginagamit dito proyekto sa networking, ngunit kung saan maaari ko at magagamit para sa iba pang mga proyekto sa hinaharap.

Ang board na aking dinisenyo / binuo ay may mga sumusunod na item dito.

1 - Isang socket upang hawakan ang Wiznet - WIZ820io - Ethernet port module (gumawa ako ng pasadyang Eagle Footprint para dito).

2 - Isang 30 mm - 5 VDC fan fan para sa Raspberry Pi CPU (gumawa ako ng pasadyang Eagle Footprint para dito).

3 - Isang "CAT24C32" Memory Chip upang mapanatili ang mga kinakailangan sa pagiging tugma ng HAT (hindi ko pa ito nai-program) (Gumawa ako ng isang pasadyang Block ng Eagle Design para dito).

4 - Isang mini MAX3232 - UART - TTL sa RS-232 Level Converter na konektado sa UART0 (Gumawa ako ng pasadyang Eagle Footprint para dito).

5 - Isang Pulang LED (GPIO24), Isang Dilaw na LED (GPIO23) at isang Green LED (GPIO22) na magagamit para sa Traffic Light - Mga pagsasanay sa programa sa Python.

6 - Isang Green LED (GPIO18) at isang Green LED (GPIO27) - para sa mga pagsasanay sa programa at pag-troubleshoot.

7 - Isang Tactile Switch na konektado sa GPIO25 - para sa mga pagsasanay sa programa at pag-troubleshoot (gumawa ako ng pasadyang Eagle Footprint para dito). TANDAAN na ang GPIO na ito ay gagamitin din sa WIZ820io.

Kaya't tulad ng dati kong nabanggit, ang Instructable na ito ay makikipag-usap lamang sa Item # 1 sa listahang ito. Ang lahat ng iba pang mga item na naidagdag ko sa board ay naroroon para sa iba pang mga kadahilanang hindi nauugnay sa proyekto sa Network Interface na ito.

Mga gamit

Raspberry Pi - Gumamit ako ng mas matandang Raspberry Pi 3B. Walang mali doon.. Ang minahan ay may patay na port ng HDMI, kaya pinapatakbo ko ito ng "walang ulo" gamit ang TeamViewer upang ma-access ito. Gumagana siya. Masidhi kong hinala na ang karamihan sa mga bersyon ng Raspberry Pi's ay gagana sa Instructable PROVIDING na ito na maaari nilang patakbuhin ang mga pinakabagong bersyon ng Raspberry Pi IOS (Raspian).

Bago simulan ang lahat ng ito, syempre na-update ko ang operating system:

sudo apt-get update

sudo apt-get upgrade

WIZ820io / USR-ES1 - Ang dokumentasyon para dito ay magagamit online mula sa OEM

PC Board - Gumamit ako ng Autodesk Eagle upang idisenyo ang PCB sa, at bumuo ng mga Gerber file na kinakailangan para sa JLCPCB upang maitayo ang circuit board. Tulad ng naunang nabanggit, nagdagdag din ako ng "CAT24C32" Memory Chip upang mapanatili ang kinakailangan sa pagiging tugma ng HAT.

Hakbang 1: Raspberry Pi 3b

Raspberry Pi 3b
Raspberry Pi 3b

Tulad ng para sa Raspberry Pi, ginawa ko ang proyektong ito gamit ang isang karaniwang Raspberry Pi 3b, kasama ang pinakabagong bersyon ng Raspberry Pi IOS (Raspian) na maaari kong i-download at mai-install.

Walang espesyal doon. Nagmamay-ari ako ng yunit na iyon sa loob ng ilang taon, at nagtrabaho ito nang maayos para sa akin (mabuti - ang output ng video ng HDMI ay patay kaya napilitan akong magpatakbo ng walang ulo gamit ang TeamViewer). Hindi mo dapat kailangan gawin ito.

Pinaghihinalaan ko na ang anumang RPi ay dapat na makakonekta sa isang WIZ820io / USR-ES1 - Wiznet W5500 at gawin ang gawaing ito, pati na rin ang maraming iba pang mga tatak na nakikipagkumpitensya sa parehong merkado (Beagle Bone, Orange, Tinker, atbp) at gumamit ng katulad modelo ng Linux batay sa OS.

Mayroon akong karanasan na ZERO sa alinman sa mga iyon. Mayroon akong maliit na karanasan sa Raspberry - tingnan kung saan nakuha ako:)

Hakbang 2: Pag-interfacing ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus

Ang pagitan ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus
Ang pagitan ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus
Ang pagitan ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus
Ang pagitan ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus
Ang pagitan ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus
Ang pagitan ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus

Suriin ang nakalakip na mga imahe.

Ang Wiznet WIZ820io module ay nagbibigay ng dalawang mga hilera ng 6 na mga pin bawat sa interface sa.

Ang mga hilera ay may label na "J1 at" J2 "ayon sa pagkakabanggit.

Ang Data Sheet na ibinibigay nila ay may napakagandang kulay na naka-code na diagram ng bawat pin. Ang diagram na ito ay inilaan upang tulungan ka sa pagkonekta sa mga pin sa iyong mga pin ng Raspberry PI GPIO. Ang mga ito ay medyo mahusay na isang PANGALAN para sa pagtutugma ng NAME.

Maaari ba niyang makita ang pinout ng Raspberry Pi dito: pinout.xyz

Ikinonekta ko ang mga pin na ito tulad ng sumusunod (tingnan ang kalakip na imahe):

Siyempre, dahil gumawa ako ng isang aktwal na circuit board, lahat ng Mga Grounds (GND) ay magkakakonekta. Ang parehong napupunta sa sa mga 3.3V na pin - ang aking circuit board ay konektado sa mga magkasama.

Ilang bagay na tandaan..

Ika-1 - J2 Pin # 5 - RSTn - Ikinonekta ko iyon sa RPi GPIO # 17 (Pin # 11) - Nag-iingat iyon. Hindi ako naniniwala na ginagamit ito.

Ika-2 - J1 Pin # 6 - INTn - Nakakonekta iyon sa GPIO25 (Pin # 22). Kailangan ito, dahil sa hakbang ng pagsasaayos ng Raspberry Pi IOS, mag-refer kami dito.

Ika-3 - J1- Pin # 5 - SCNn - Nakakonekta iyon sa Raspberry Pi "CS0" (Pin # 24). Mabisa na nagbibigay sa modyul na ito ng address ng "Modyul 0" sa RPi SPI Bus. Muli, sa hakbang ng pagsasaayos ng Raspberry Pi IOS, sasangguniin namin ito.

Hakbang 3: Ang Aking Circuit Board

Ang aking Circuit Board
Ang aking Circuit Board
Ang aking Circuit Board
Ang aking Circuit Board
Ang aking Circuit Board
Ang aking Circuit Board

Nakalakip ang Eagle na "Point to Point" na eskematiko na ginawa ko at kung saan nabuo ko ang Gerber Files.

Nakalakip din ang mga imahe ay ng "Circuit Board" na aking ginawa para sa proyektong ito.

Tatanggap ang board na ito ng isang bilang ng iba't ibang mga produkto ng Wiznet ng istilong WIZ820io.

Hakbang 4: Pag-configure ng Raspberry Pi IOS (dating Raspian) - Mga Entries sa "boot" Folder

Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa
Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa

Upang "makita" ng Raspberry Pi ang bagong na-install na module na WIZ820io sa SPI bus na ito, kailangang maipaalam ang IOS, kaya't makikitungo ito sa "BOOT Up".

Upang magawa ito, magdagdag lang kami ng dalawang linya sa:../../boot/config.txt

Una.. Paggamit ng isang Terminal pane / window ==> ls

cd../boot, i-navigate ang iyong paraan sa../boot at ilista (ls) ang direktoryo

Sanggunian ang naka-attach na imahe.. Doon kailangan mong hanapin at kumpirmahin ang pagkakaroon ng dalawang mga entry - Inilibot ko ang mga ito sa pula.

Ang isa ay isang file na pinangalanang: "config.txt"

Ang pangalawa ay isang folder na pinangalanang: "overlay"

== == == ==

Kapag nakumpirma mo na ang pagkakaroon ng pareho ng mga entry na ito, maaari kang magpatuloy sa susunod na hakbang

Hakbang 5: Pag-configure ng Raspberry Pi IOS (dating Raspian) - Mga Entries sa Direktoryo ng "overlay"

Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa
Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa
Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa
Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa
Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa
Raspberry Pi IOS (dating Raspian) Configuration - Mga Entries sa

Baguhin ang Direktoryo sa direktoryo ng "overlay"

Uri: overlay ng cd

Matapos hampasin ang "ipasok" na key, dadalhin ka nito sa folder na "overlay" (tingnan ang naka-attach na imahe).

Ilista ang mga nilalaman ng direktoryo.

Uri: ls

Matapos hampasin ang "ipasok" na key, dapat mong makita ang isang mahabang listahan ng mga nilalaman ng direktoryo na iyon. Ang listahan ay maaaring ayon sa alpabeto.

(tingnan ang mga nakakabit na imahe (2 ng)). Pansinin na halos LAHAT ng mga file ay pinangalanan na may isang extension ng: *.dtbo maaari mo ring mapansin ang ilang pinangalanan na may isang extension ng: *.dtb

Ito ang LAHAT ng mga file ng overlay na "Device Tree"

Kailangan mong kumpirmahin ang pagkakaroon ng dalawang "overlay" na mga file (tingnan ang mga nakalakip na mga file ng imahe).

Ika-1 - isang file na pinangalanang: anyspi.dtbo (para sa isang ito, maaaring kailanganin mong gamitin ang scroll bar sa kanang margin ng window upang mag-scroll pabalik sa tuktok at hanapin ang alpabetikong iniutos anyspi.dtbo).

Ika-2 - isang file na pinangalanang w5500.dtbo

== == ==

Kung makumpirma mo na pareho ang mga file na ito, naroroon ka sa mabuting kalagayan at maaaring bumalik sa direktoryo ng../boot.

I-type: cd../ pagkatapos na hampasin ang ENTER key, dapat kang ibalik sa direktoryo ng / boot.

Ilista ang direktoryo upang kumpirmahin: uri: ls at hampasin ang ENTER key

Hakbang 6: Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt

Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt
Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt
Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt
Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt
Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt
Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt

Sa direktoryo ng../boot, maaari na kaming magtrabaho upang makagawa ng isang maliit na mga pag-edit sa file na pinangalanang: config.txt

Tatawag muna kami sa "nano" editor bilang isang "super user" (sudo)

sudo = 'superuser"

Si nano ang text editor na gagamitin namin

at tulad ng nabanggit, ang config.txt ay ang file na nais naming i-edit.

Uri: sudo nano config.txt at welga ENTER.

Dadalhin nito ang editor, at ipapakita ang nilalaman ng config.txt file. Kung ang editor ay hindi magbubukas, o magbubukas ng walang laman, pagkatapos ay lumabas (kung nasa nano) at i-double check ang iyong pagbaybay.

Kung naging maayos ang lahat, dapat mong makita ang isang bagay tulad ng sa pangalawang naka-attach na imahe. Ipapakita ng "nano" ang pinaka "tuktok" ng file. kakailanganin mong mag-scroll pababa sa pinakailalim.

Sa pinakailalim ng file, idagdag ang dalawang "pahayag ng dtoverlay" sa ibaba:

dtoverlay = anyspi, spi0-0, dev = "w5500", bilis = 30000000dtoverlay = w5500

I-double check ang lahat ng spelling, at kung tumutugma ito, pindutin ang dalawang mga key na "Ctrl-x" upang lumabas.. at sagutin nang naaangkop upang i-save at lumabas.

== == == ==

Sa susunod na boot-up (at para sa lahat ng mga boot-up pagkatapos kung ang dalawang pahayag na iyon ay mananatili doon) tatawagan din ng operating system ang overlay na pinangalanang "anyspi" at ang overlay na pinangalanang "w5500".

Inihahanda ng overlay na "anyspy" ang operating system upang magamit ang SPI0-0 bus (doon namin dati na pisikal na naidugtong ang WIZ820io. Tinutukoy ito ng "-0" upang magamit ang address na "0" - alalahanin na dati naming kinonekta ang WIZ820io pin # J1-6 sa RPi GIPO "CEO" (Pin # 24).

Ang overlay na "w5500" ay nagsasabi sa operating system kung paano makitungo sa W5500 integrated circuit na matatagpuan sa WIZ820io module. Tinutukoy din nito ang paggamit ng RPi GPIO25 (Pin # 22) bilang signal ng INTn. Alalahanin ulit na dati naming ginawa ang koneksyon na ito.

Ang ganitong uri ng impormasyon ay matatagpuan sa iba't ibang mga file, tulad ng isang halimbawang ito na matatagpuan sa Github.

== == ==

Oras upang i-reboot ang RPI, at magkabisa ang lahat ng ito.

Hakbang 7: Nag-boot ulit Kami. Sana Ngumingiti Ka

Nag-boot ulit kami. Sana Ngumingiti Ka
Nag-boot ulit kami. Sana Ngumingiti Ka
Nag-boot ulit kami. Sana Ngumingiti Ka
Nag-boot ulit kami. Sana Ngumingiti Ka

Kung naging maayos ang lahat, ang iyong RPi ay dapat na muling na-boot nang normal. Ngiti

Oras upang suriin kung na-load ng IOS ang dalawang bagong mga overlay file, at kung kinikilala nito ang nakalakip na module na WIZ820io.

Muli muling buksan ang isang "Command" window.

Sa oras na ito sa prompt, i-type ang ifconfig (o gamitin ang mas bagong "ip" na utos), at hampasin ang Enter key.

Marahil ay makakakuha ka ng mahabang tugon, kaya kailangan mong mag-scroll pabalik sa tuktok.

Bumalik sa tuktok, hanapin ang dalawang seksyon:

Isang pinangalanang eth0, at pangalawang pinangalanang: eth1 - tingnan ang kalakip na imahe.

Sa aking system, ang eth0 ay ang Ethernet port sa RPI. Ang eth1 ay ang bagong WIZ820io Ethernet Port.

== == ==

Kung nakikita mo ang dalawang daungan, gayun din ang RPI. Pansinin sa naka-attach na imahe, ang eth1 ay nagpadala ng mga packet, at walang mga error.

Nasubukan ko ito sa pamamagitan ng pagdidiskonekta ng orihinal na port cable, at paggamit ng browser upang pumunta sa YouTube at iba pang mga website.. Gumagana ito. "Nai-ping" ko rin ito mula sa ilang iba't ibang mga aparato at gumagana ito.

== == ==

Kung hindi mo nakikita ang eth1 (o katulad na bagay) - maliban sa eth0 sa isang RPI3 o RPi4, pagkatapos ay subukang balikan at i-double check kung maayos na na-edit at na-save ang config.txt. Siguraduhin na ang dalawang mga overlay ay nasa lugar, at ang baybay ay tama (walang mga malalaking titik kung saan wala ako sa kanila - ang mga kapitol ay mahalaga sa sistemang ito).

== == ==

Kung ang dalawang port ay naroroon, pagkatapos ay maaaring may kaunting gawain sa pagsasaayos na gagawin… sa susunod na hakbang….

Hakbang 8: Pag-configure ng Raspberry Pi IOS (dating Raspian) - Pagtatakda ng IP Address

Medyo wala na ito sa aking bahay gulong, kaya sa oras na ito hindi ako makapagbigay ng patnubay.

Basta alam na maraming mga website, video sa YouTube, at message board na nagbibigay ng ganitong impormasyon.

ngunit.. baka gusto mong mag-check on at gumawa ng ilang mga bagay dito.

1 - I-double check ang IP address na mayroon ang iyong bagong port. itinalaga ba ito ng iyong DHP server, o ito ang default IP - isang bagay sa saklaw ng: 169.254.xxx.yyy? May iba pa ba ??

2- Gusto mo ba ng isang Static (maayos) IP address o isang Dynamic IP address (na itinalaga ng iyong DHCP server).

Suriin ang switch / router kung saan nakakonekta ang iyong RPI.. nakikita ba nito ang iyong bagong port? maaari bang "Ping" ito? (tiyaking idiskonekta ang orihinal na port cable kung gagawin mo ito - kung hindi man ay lokohin ka ng RPi).

Gumamit ng ifconfig (o ang mas bagong "ip" na utos) upang makita na ang data na darating at pupunta ay "normal" (upang magsalita) at walang labis na bilang ng mga error.

== == ==

Panghuli.. Naniniwala ako na ito ang w5500.dtbo na nagtatalaga ng isang MAC address sa WIZ820io / W5500 module.. ngunit hindi ko masasabi na tiyak kung doon ito nangyayari. Hindi ko agad mahanap ang mga detalye tungkol doon.

Para sa akin lilitaw na ang isang iba't ibang mga MAC address ay nakatalaga sa bawat oras na ito bota up. Personal kong hindi gusto iyon, at dahil dito may mga bagay na maaaring magawa upang maitakda ang Mac Address (halimbawa ng program na "macchanger" o itakda ito sa pamamagitan ng ip / ifconfig utos). Kung may sinuman sa iyo na makahanap ng isang "boot-up" / "crontab" na solusyon dito, Masisiyahan akong marinig tungkol sa kung paano mo ito gagawin kung bukas ka sa pagbabahagi.

Maaari mong makita ang minahan sa imahe.. Kapag tiningnan ko ang vendor ng Mac Address para sa eth0 ==> b827eb, lumalabas ito bilang Raspberry Pi Foundation. Ang vendor para sa eth1 ==> fa9770 ay lumalabas bilang hindi kilala, kaya malinaw naman, nabuo ito sa aking Pi sa ilang mga punto..

Hakbang 9: Konklusyon

Salamat sa pag-check sa Instructable na ito.

Natutunan ko ng kaunti ang pagtatrabaho sa maliit na proyekto.

Kung mayroon kang anumang mga katanungan, o maaaring maging interesado sa pagbili ng isa sa mga board na aking ginawa (na populasyon o hindi), mayroon akong ilang mga extra na ipinagbibili at kung saan maaari nating pag-usapan.

Sa anumang kaso, hinihimok kita na mag-iwan ng mga komento, magmungkahi ng mga pagwawasto (mga typo o pamamaraan o ??)

Karamihan-tiyak, kung gagawin mo ito para sa iyong sarili, Masisiyahan ako na makita ang mga larawan kung paano mo ito hinarap, at ang iyong mga resulta / layunin sa pagtatapos.

Salamat

P. S.: Salamat sa taong ito para sa patnubay at ideya.

Hakbang 10: Mga File ng DTBO

Dalawang mga file upang idagdag sa iyong mga overlay na folder - Kailangan para sa Mga Hakbang # 4 at # 5

Inirerekumendang: