Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Raspberry Pi 3b
- Hakbang 2: Pag-interfacing ng Wiznet WIZ820io Module sa Raspberry Pi GPIO Bus
- Hakbang 3: Ang Aking Circuit Board
- Hakbang 4: Pag-configure ng Raspberry Pi IOS (dating Raspian) - Mga Entries sa "boot" Folder
- Hakbang 5: Pag-configure ng Raspberry Pi IOS (dating Raspian) - Mga Entries sa Direktoryo ng "overlay"
- Hakbang 6: Pag-configure ng Raspberry Pi IOS (dating Raspian) - I-edit ang File na Pinangalanang: Config.txt
- Hakbang 7: Nag-boot ulit Kami. Sana Ngumingiti Ka
- Hakbang 8: Pag-configure ng Raspberry Pi IOS (dating Raspian) - Pagtatakda ng IP Address
- Hakbang 9: Konklusyon
- Hakbang 10: Mga File ng DTBO
Video: Magdagdag ng isang WIZ820io / USR-ES1 - Wiznet W5500 Network Port sa Iyong Raspberry Pi .: 10 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
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
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
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
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
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"
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
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
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:
Paano Magdagdag ng isang E-Ink Display sa Iyong Project: 12 Hakbang (na may Mga Larawan)
Paano Magdagdag ng isang E-Ink Display sa Iyong Project: Maraming mga proyekto ang may kasamang pagsubaybay sa ilang uri ng data, tulad ng data sa kapaligiran, na madalas na gumagamit ng isang Arduino para sa kontrol. Sa aking kaso, nais kong subaybayan ang antas ng asin sa aking pampalambot ng tubig. Maaaring gusto mong i-access ang data sa iyong home network,
Magdagdag ng isang Power Button sa Iyong Pag-install ng LibreELEC sa isang Raspberry Pi: 6 na Hakbang
Magdagdag ng isang Power Button sa Iyong Pag-install ng LibreELEC sa isang Raspberry Pi: Sa sumusunod ay matututunan namin kung paano magdagdag ng isang power button sa LibreELEC na tumatakbo sa isang Raspberry Pi. Gumagamit kami ng isang PowerBlock upang hindi lamang magdagdag ng isang pindutan ng kuryente, ngunit isang LED status din na nagpapahiwatig ng katayuan ng kuryente ng iyong pag-install ng LibreELEC. Para sa mga ito
Magdagdag ng isang USB Port sa isang Lampara: 5 Hakbang (na may Mga Larawan)
Magdagdag ng isang USB Port sa isang Lampara: Nang nahanap ko ang lampara ng desk na ito ng electrix na gansa sa leeg ay napagtanto ko na ito ay isang lampara ng gansa sa leeg na hindi ako mabubuhay nang wala, kaya binili ko ito. Pagkatapos naisip ko na magiging mas cool kung mayroon itong isang USB port sa base nito. Lumiliko, ito ay isang patas
Magdagdag ng isang Rapid-fire Button sa Iyong Mouse Gamit ang isang 555 Timer: 5 Hakbang (na may Mga Larawan)
Magdagdag ng isang Rapid-fire Button sa Iyong Mouse Gamit ang isang 555 Timer: Madali bang mapagod ang iyong daliri habang naglalaro ng mga video game? Kailanman nais na maaari mong pwn n00bs nang mas mabilis kaysa sa bilis ng ilaw nang hindi kailanman nabasag ang isang pawis? Ipapakita sa iyo ng Tagubilin na ito kung paano
Magdagdag ng isang Pc Sync Jack sa isang Nikon Sc-28 Ttl Cable (gumamit ng Mga Setting ng Auto para sa isang sa Camera Flash at Trigger Off Camera Flashes !!): 4 na Hakbang
Magdagdag ng isang Pc Sync Jack sa isang Nikon Sc-28 Ttl Cable (gumamit ng Mga Setting ng Auto para sa isang Camera ng Flash at Trigger Off Camera Flashes !!): sa itinuturo na ito ay ipapakita ko sa iyo kung paano alisin ang isa sa mga pesky na pagmamay-ari na 3pin TTL na konektor sa ang gilid ng isang Nikon SC-28 off camera TTL cable at palitan ito ng isang karaniwang konektor sa pag-sync ng PC. papayagan ka nitong gumamit ng isang nakatuong flash, s