Mündəricat:

Raspberry Pi -yə WIZ820io / USR -ES1 - Wiznet W5500 Şəbəkə Portu əlavə edin: 10 addım
Raspberry Pi -yə WIZ820io / USR -ES1 - Wiznet W5500 Şəbəkə Portu əlavə edin: 10 addım

Video: Raspberry Pi -yə WIZ820io / USR -ES1 - Wiznet W5500 Şəbəkə Portu əlavə edin: 10 addım

Video: Raspberry Pi -yə WIZ820io / USR -ES1 - Wiznet W5500 Şəbəkə Portu əlavə edin: 10 addım
Video: W5100S는 가성비 Hardwired TCP/IP 칩이다! 2024, Noyabr
Anonim
Raspberry Pi -yə WIZ820io / USR -ES1 - Wiznet W5500 Şəbəkə Portu əlavə edin
Raspberry Pi -yə WIZ820io / USR -ES1 - Wiznet W5500 Şəbəkə Portu əlavə edin

Qismən belə bir şey etmək marağımdan və qismən də Codesys -ə olan marağımdan dolayı bir müddətdir ikinci Şəbəkə Arayüzü portunu Raspberry Pi -yə bağlamağa çalışdım. Başqa layihələr həyata keçirərkən düşündüm, oxudum, müqayisə etdim, planlaşdırdım və alış -veriş etdim ki, nəhayət davam edim və bir şeylər qurum.

Bəli - bilirəm.. orada oxşar bir şey edə biləcək bir neçə "açar açar" sistemi var, amma əslində heç biri məni pulumdan ayıracaq qədər cazibədar deyildi.

Əslində, Raspberry Pi və Linux / Raspberry Pi IOS (Raspian) haqqında aşağı səviyyəli bilik və təcrübəmə sahibəm (Windows və Android dünyalarında daha yaxşı işləyirəm), Şəbəkələşmə haqqında dərin biliklərə malik deyiləm (işlərimi həll edə bilərəm) və şəbəkələr qururam, amma bunun xaricində bir az da başımın üstündəyəm) və yalnız yeni dövrələr lövhələri düzəltməyə başladım. Əlbəttə ki, mən proqramçı deyiləm.

Bir dəfə nəhayət bir şey qurmaq fikri ilə irəliləməyə qərar verdim və Wiznet - W5500 inteqrasiya edilmiş dövrə əsaslanan WIZ820io / USR -ES1 modulundan istifadə etməyi seçdim. Bu modul, standart SPI avtobusundan istifadə edərək Raspberry Pi (və digər MCU) ilə əlaqə qura bilər. Əlavə olaraq, 3.3 VDC -dən tükənir, buna görə Raspberry Pi -yə sıfır zərər riski yaradır.

Elektron lövhəni tərtib edərkən, onu düzgün "HAT" konfiqurasiyasında (forma və qabiliyyət) qurmağı seçdim və "WIZ820io modulu" üçün dövrə əlavə etməklə yanaşı, burada istifadə edilməyən bir sıra digər əşyalar da əlavə etdim. şəbəkə layihəsi, amma gələcəkdə digər layihələr üçün istifadə edə biləcəyim və istifadə edəcəyəm.

Hazırladığım / qurduğum lövhənin üzərində aşağıdakı maddələr var.

1 - Wiznet - WIZ820io - Ethernet port modulunu tutmaq üçün bir yuva (bunun üçün xüsusi Eagle Footprint hazırladım).

2 - Raspberry Pi CPU üçün 30 mm - 5 VDC soyutma fanı (bunun üçün xüsusi Eagle Footprint hazırladım).

3 - HAT uyğunluq tələblərini qorumaq üçün "CAT24C32" Yaddaş Çipi (bu hələ mənim tərəfimdən proqramlaşdırılmamışdır) (bunun üçün xüsusi Qartal Dizayn Bloku hazırlamışam).

4 - UART0 -a qoşulmuş mini MAX3232 - UART - RS -232 Səviyyə Dönüştürücüsündən TTL (bunun üçün xüsusi Qartal Ayaq İzi hazırladım).

5 - Qırmızı LED (GPIO24), Sarı LED (GPIO23) və Yaşıl LED (GPIO22) - Svetofor üçün istifadə ediləcək - Python proqramlaşdırma təlimləri.

6 - Yaşıl LED (GPIO18) və Yaşıl LED (GPIO27) - proqramlaşdırma təlimləri və problemlərin həlli üçün.

7 - GPIO25 -ə qoşulmuş toxunma açarı - proqramlaşdırma məşqləri və problemlərin həlli üçün (bunun üçün xüsusi Qartal Ayaq İzi hazırladım). Qeyd edək ki, bu GPIO WIZ820io ilə də istifadə olunacaq.

Daha əvvəl qeyd etdiyim kimi, bu Təlimat yalnız bu siyahıdakı 1 -ci maddə ilə məşğul olacaq. Lövhədə əlavə etdiyim bütün digər maddələr, bu Şəbəkə Arayüzü layihəsi ilə əlaqəli olmayan digər səbəblərdəndir.

Təchizat

Raspberry Pi - Daha köhnə bir Raspberry Pi 3B istifadə etdim. Bunun heç bir problemi yoxdur.. Mənimki ölü bir HDMI portuna malikdir, buna görə daxil olmaq üçün TeamViewer istifadə edərək "başsız" işlədərəm. İşləyir. Raspberry Pi -nin əksər versiyalarının Raspberry Pi IOS -un (Raspian) daha yeni versiyalarını işlədə bildikləri üçün bu Təlimatlı TƏMİNAT ilə işləyəcəyindən şübhələnirəm.

Bütün bunlara başlamazdan əvvəl, əlbəttə ki, əməliyyat sistemini yenilədim:

sudo apt-get yeniləməsi

sudo apt-get yeniləmə

WIZ820io / USR -ES1 - Bunun sənədləri OEM -dən onlayn olaraq əldə edilə bilər

PC lövhəsi - PCB ilə dizayn etmək və JLCPCB -nin elektron lövhəni qurması üçün lazım olan Gerber fayllarını yaratmaq üçün Autodesk Eagle -dən istifadə etdim. Daha əvvəl qeyd edildiyi kimi, HAT uyğunluq tələbini qorumaq üçün "CAT24C32" Yaddaş Çipini də əlavə etdim.

Addım 1: Raspberry Pi 3b

Moruq Pi 3b
Moruq Pi 3b

Raspberry Pi -yə gəldikdə, bu layihəni yükləyə və quraşdıra biləcəyim Raspberry Pi IOS (Raspian) ən son versiyası ilə birlikdə standart Raspberry Pi 3b istifadə edərək hazırladım.

Orada xüsusi bir şey yoxdur. Bir neçə ildir ki, bu qurğuya sahibəm və mənim üçün çox yaxşı işləyir (yaxşı ki - HDMI video çıxışı ölüdür, buna görə də TeamViewer istifadə edərək başsız işləməyə məcbur oluram). Bunu etmək lazım deyil.

Şübhə edirəm ki, hər hansı bir RPi WIZ820io / USR -ES1 - Wiznet W5500 -ə qoşula və bu işi edə bilər, eləcə də bir çox digər markalar eyni bazarda rəqabət aparırlar (Beagle Bone, Orange, Tinker və s.) Linux əsaslı əməliyyat sistemi.

Bunlardan heç biri ilə sıfır təcrübəm yoxdur. Moruqla bağlı az təcrübəm var - bax bu məni haradan əldə etdi:)

Addım 2: Wiznet WIZ820io Modulunu Raspberry Pi GPIO Bus ilə əlaqələndirmək

Wiznet WIZ820io Modulunu Raspberry Pi GPIO Avtobusuna bağlamaq
Wiznet WIZ820io Modulunu Raspberry Pi GPIO Avtobusuna bağlamaq
Wiznet WIZ820io Modulunu Raspberry Pi GPIO Avtobusuna bağlamaq
Wiznet WIZ820io Modulunu Raspberry Pi GPIO Avtobusuna bağlamaq
Wiznet WIZ820io Modulunu Raspberry Pi GPIO Avtobusuna bağlamaq
Wiznet WIZ820io Modulunu Raspberry Pi GPIO Avtobusuna bağlamaq

Əlavə edilmiş şəkilləri nəzərdən keçirin.

Wiznet WIZ820io modulu, interfeys üçün hər biri 6 pinli iki sıra təmin edir.

Satırlar sırasıyla "J1 və" J2 "olaraq etiketlənir.

Verdikləri Məlumat Vərəqində hər bir pin üçün çox gözəl rəng kodlu bir diaqram var. Bu diaqram, bu pinləri Raspberry PI GPIO pinlərinizə bağlamaqda sizə kömək etmək üçündür. NAME oyunu üçün olduqca yaxşı bir NAME.

Raspberry Pi pinoutunu burada tapa bilər: pinout.xyz

Bu pinləri aşağıdakı kimi bağladım (əlavə şəklə baxın):

Əlbəttə ki, faktiki bir devre kartı hazırladığım üçün bütün Grounds (GND) bir -birinə bağlı idi. Eyni şey 3.3V -ə qədər olan sancaqlar ilə əlaqədardır - mənim devre kartım onları bir -birinə bağladı.

Bir neçə məqama diqqət yetirin..

1 -ci - J2 Pin #5 - RSTn - Bunu RPi GPIO #17 -yə bağladım (Pin #11) - Bu xəbərdarlıq idi. İstifadə olunmasına inanmıram.

2 -ci - J1 Pin # 6 - INTn - GPIO25 -ə bağlıdır (Pin # 22). Bu tələb olunur, çünki Raspberry Pi IOS konfiqurasiya addımında buna müraciət edəcəyik.

3 -cü - J1- Pin # 5 - SCNn - Raspberry Pi "CS0" ilə əlaqəlidir (Pin # 24). Effektiv olaraq bu modula RPi SPI Avtobusundakı "Modul 0" un ünvanını verir. Yenə də Raspberry Pi IOS konfiqurasiya addımında buna müraciət edəcəyik.

Addım 3: Mənim Dövrə Kartım

Mənim Dövrə lövhəm
Mənim Dövrə lövhəm
Mənim Dövrə lövhəm
Mənim Dövrə lövhəm
Mənim Dövrə lövhəm
Mənim Dövrə lövhəm

Gerber Dosyalarını hazırladığım və hazırladığım Eagle "Point to Point" sxeminə əlavə olunur.

Bu layihə üçün hazırladığım "Dövrə Kartı" nın şəkilləri də əlavə olunur.

Bu lövhə WIZ820io üslubunda bir çox fərqli Wiznet məhsulunu qəbul edəcək.

Addım 4: Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - "Çəkmə" Qovluğuna girişlər

Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası

Raspberry Pi -nin SPI avtobusunda yeni quraşdırılmış WIZ820io modulunu "görməsi" üçün IOS -u xəbərdar etmək lazımdır, buna görə də "BOOT Up" zamanı bununla məşğul ola bilər.

Bunu etmək üçün sadəcə iki sətir əlavə edəcəyik:../../boot/config.txt

Birincisi.. Terminal bölməsini / pəncərəsini istifadə edərək ==> ls

cd../boot,../boot -a gedin və qovluğu (ls) siyahıya salın

Əlavə edilmiş görüntüyə istinad edin.. Orada iki girişin varlığını axtarmalı və təsdiq etməlisiniz - Mən onları qırmızı rənglə yuvarlaqlaşdırdım.

Biri: "config.txt" adlı bir fayl

İkincisi, "bindirmeler" adlı bir qovluqdur

== == == ==

Bu girişlərin hər ikisinin olduğunu təsdiqlədikdən sonra növbəti addıma davam edə bilərsiniz

Addım 5: Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - "bindirmələr" Kataloğundakı qeydlər

Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası

Kataloqu "bindirmələr" qovluğuna dəyişdirin

Növ: cd bindirmələri

"Giriş" düyməsini vurduqdan sonra sizi "bindirmələr" qovluğuna aparacaqsınız (əlavə olunmuş şəklə baxın).

Kataloqun məzmununu sadalayın.

Növ: ls

"Giriş" düyməsini vurduqdan sonra, bu kataloqun məzmununun uzun bir siyahısını görməlisiniz. Siyahı əlifba sırası ilə ola bilər.

(əlavə şəkillərə baxın (2 -dən)). Demək olar ki, bütün fayllar: *.dtbo uzantısı ilə adlandırıldığına diqqət yetirin: *.dtb

Bunlar BÜTÜN "Cihaz Ağacı" bindirmə sənədləridir

İki "bindirmə" faylının olduğunu təsdiq etməlisiniz (əlavə olunmuş şəkil fayllarına baxın).

1 -ci - anyspi.dtbo adlı bir fayl (bunun üçün yuxarıya doğru dönmək və əlifba sırası ilə anyspi.dtbo tapmaq üçün pəncərənin sağ kənarındakı sürüşmə çubuğundan istifadə etməyiniz lazım ola bilər).

2 -ci - w5500.dtbo adlı bir fayl

== == ==

Bu faylların hər ikisinin olduğunu təsdiqləyə bilsəniz, yaxşı vəziyyətdə olduğunuzu və../boot qovluğuna qayıda biləcəyinizi söyləyə bilərsiniz.

Yazın: cd../ ENTER düyməsini vurduqdan sonra yenidən / boot qovluğuna aparılmalıdır.

Təsdiq etmək üçün qovluğu qeyd edin: ls yazın və ENTER düyməsini vurun

Addım 6: Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - Adlı Fayl Düzəliş edin: Config.txt

Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - Adlandırılmış Faylı Düzəliş: Config.txt
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - Adlandırılmış Faylı Düzəliş: Config.txt
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - Adlandırılmış Faylı Düzəldin: Config.txt
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - Adlandırılmış Faylı Düzəldin: Config.txt
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - Adlandırılmış Faylı Düzəliş: Config.txt
Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - Adlandırılmış Faylı Düzəliş: Config.txt

../Boot qovluğunda, indi adlı faylda bir neçə kiçik düzəliş etmək üçün işləyə bilərik: config.txt

Əvvəlcə "nano" redaktorunu "super istifadəçi" olaraq çağıracağıq (sudo)

sudo = 'super istifadəçi'

nano istifadə edəcəyimiz mətn redaktorudur

və qeyd edildiyi kimi, config.txt redaktə etmək istədiyimiz fayldır.

Yazın: sudo nano config.txt və ENTER vurun.

Bu redaktoru açacaq və config.txt faylının məzmununu göstərəcək. Redaktor açılmırsa və ya boş açılırsa, çıxın (nanoda varsa) və yazımınızı iki dəfə yoxlayın.

Hər şey qaydasındadırsa, əlavə edilmiş ikinci şəkildəki kimi bir şey görməlisiniz. "nano" faylın ən "üstünü" göstərəcək. ən aşağıya doğru hərəkət etməlisiniz.

Faylın ən aşağı hissəsinə aşağıdakı iki "dtoverlay ifadəsi" ni əlavə edin:

dtoverlay = anyspi, spi0-0, dev = "w5500", sürət = 30000000dtoverlay = w5500

Bütün yazımları iki dəfə yoxlayın və uyğun gəlsə, çıxmaq üçün "Ctrl-x" iki düyməsini basın.. saxlamaq və çıxmaq üçün uyğun cavab verin.

== == == ==

Növbəti açılışda (və sonrakı bütün açılışlar üçün bu iki ifadə orada qalarsa) əməliyyat sistemi artıq "anyspi" və "w5500" adlı örtüyü də çağıracaq.

"Anyspy" üst-üstə düşməsi, əməliyyat sistemini SPI0-0 avtobusundan istifadə etməyə hazırlayır (əvvəllər WIZ820io-nu fiziki olaraq bağladığımız yerdir. "-0", "0" ünvanını istifadə etməyi nəzərdə tutur-əvvəllər WIZ820io pinini bağladığımızı xatırlayın) #J1-6, RPi GIPO "CEO" ya (Pin #24).

"W5500" örtüyü, əməliyyat sisteminə WIZ820io modulunda yerləşən W5500 inteqral dövrə ilə necə davranılacağını izah edir. INTn siqnalı olaraq RPi GPIO25 (Pin #22) istifadə etməyi də təyin edir. Bir daha xatırladırıq ki, əvvəllər bu əlaqəni qurmuşduq.

Bu cür məlumatlar GITHub -da olan bir nümunə kimi müxtəlif sənədlərdə tapıla bilər.

== == ==

RPI -ni yenidən başlatmağın və bütün bunların qüvvəyə minməsinin vaxtıdır.

Addım 7: Yenidən başladıq. Ümid edirəm gülümsəyirsən

Yenidən yüklədik. Ümid edirəm gülümsəyirsən
Yenidən yüklədik. Ümid edirəm gülümsəyirsən
Yenidən yüklədik. Ümid edirəm gülümsəyirsən
Yenidən yüklədik. Ümid edirəm gülümsəyirsən

Hər şey yaxşı olsaydı, RPi normal olaraq yenidən başlamalı idi. Gülümsəyin.

IOS -un iki yeni üst -üstə düşmə faylını yükləyib yükləmədiyini və əlavə edilmiş WIZ820io modulunu tanıdığını yoxlamaq vaxtıdır.

Yenə "Əmr" pəncərəsini açın.

Bu dəfə istəyinə ifconfig yazın (və ya daha yeni "ip" əmrindən istifadə edin) və Enter düyməsini vurun.

Yəqin ki, uzun bir cavab alacaqsınız, buna görə yenidən yuxarıya doğru hərəkət etməlisiniz.

Üst tərəfdə, iki bölməni axtarın:

Birinin adı eth0, ikincisinin adı isə: eth1 - əlavə olunmuş şəklə baxın.

Sistemimdə, eth0, RPI üzərindəki Ethernet portudur. eth1, yeni WIZ820io Ethernet Portudur.

== == ==

İki limanı görürsünüzsə, RPI də belədir. Əlavə edilmiş şəkildəki xəbərdarlıq, eth1 paketləri səhvsiz göndərdi.

Bunu orijinal port kabelini ayıraraq və YouTube və digər veb saytlara getmək üçün brauzerdən istifadə edərək sınadım.. İşləyir. Bir neçə fərqli cihazdan da "ping" etdim və işləyir.

== == ==

Bir RPI3 və ya RPi4 -də eth0 -dan başqa eth1 (və ya buna bənzər bir şey) görmürsənsə, geri qayıtmağa çalışın və config.txt -in düzgün redaktə edildiyini və saxlanıldığını iki dəfə yoxlayın. İki bindirmənin yerində olduğundan və yazımın düzgün olduğundan əmin olun (əlimdə olmayan böyük hərflər yoxdur - bu sistemdə böyük hərflərin əhəmiyyəti yoxdur).

== == ==

İki port varsa, bir az daha çox konfiqurasiya işi ola bilər … növbəti mərhələyə keçmək üçün ….

Addım 8: Raspberry Pi IOS (əvvəllər Raspian) Konfiqurasiyası - IP ünvanını təyin etmək

Bu mənim təkər evimdən bir qədər uzaqdır, buna görə də hazırda rəhbərlik edə bilmirəm.

Sadəcə bilin ki, bu cür məlumat verən saysız -hesabsız veb saytlar, YouTube videoları və mesaj lövhələri var.

amma.. burada yoxlamaq və bir neçə iş görmək istəyə bilərsiniz.

1 - Yeni portunuzun hazırda olduğu IP ünvanını iki dəfə yoxlayın. DHP serveriniz tərəfindən təyin edilmişdi, yoxsa standart IP - 169.254.xxx.yyy aralığında olan bir şeydir? Başqa bir şeydi ??

2- Statik (sabit) bir IP ünvanı və ya Dinamik bir IP ünvanı (DHCP serveriniz tərəfindən təyin edilmiş) istəyirsinizmi?

RPI -nin bağlı olduğu açarı / yönləndiricini yoxlayın.. yeni portunuzu görürmü? "Ping" edə bilərmi? (bunu etsəniz, orijinal port kabelini ayırdığınızdan əmin olun - əks halda RPi sizi aldada bilər).

Gələn və gedən məlumatların "normal" (belə demək mümkünsə) və çox sayda səhv olmadan göründüyünü görmək üçün ifconfig (və ya daha yeni "ip" əmri) istifadə edin.

== == ==

Nəhayət.. İnanıram ki, w5500.dtbo WIZ820io / W5500 moduluna MAC ünvanı təyin edir.. amma bunun harada baş verdiyini dəqiq deyə bilmərəm. Bununla bağlı təfərrüatları dərhal tapa bilmədim.

Mənim üçün hər açıldıqda fərqli bir MAC ünvanı təyin edildiyi görünür. Şəxsən mən bunu sevmirəm və buna görə də Mac ünvanını təyin etmək üçün edilə biləcək işlər var (məsələn, "macchanger" proqramı və ya ip / ifconfig əmrləri ilə qurmaq). Əgər sizdən kimsə bunun üçün "açılış" / "crontab" həlli tapsa, paylaşmağa açıqsınızsa bunu necə edəcəyinizi eşitməkdən məmnun olaram.

Şəkildə mənimki görə bilərsiniz.. Et0 ==> b827eb üçün Mac Ünvan satıcısına baxdığımda, Raspberry Pi Vəqfi olaraq gəlir. Eth1 ==> fa9770 üçün satıcı naməlum olaraq ortaya çıxır, buna görə bir anda Pi -də yaradıldı.

Addım 9: Nəticə

Bu Təlimatı yoxladığınız üçün təşəkkürlər.

Bu kiçik layihə üzərində işləyərkən çox şey öyrəndim.

Hər hansı bir sualınız varsa və ya hazırladığım lövhələrdən birini almaqla maraqlanırsınızsa (məskunlaşmış və ya olmasaydı), satışda olan və müzakirə edə biləcəyim bəzi əlavələrim var.

Hər halda, şərh yazmağınızı, düzəlişlər təklif etməyinizi xahiş edirəm (səhvlər və ya metodlar və ya ??)

Əlbəttə ki, bunu özünüz üçün etsəniz, bunu necə həll etdiyinizə dair fotoşəkilləri və son nəticələrinizi / məqsədinizi görməkdən çox məmnun olaram.

Təşəkkürlər.

P. S.: Rəhbərliyə və fikirlərə görə bu insana təşəkkür edirəm.

Addım 10: DTBO Faylları

Yer paylaşımları qovluğuna əlavə etmək üçün iki fayl - 4 və 5 nömrəli addımlar üçün lazımdır

Tövsiyə: