İçindekiler:
- Gereçler
- Adım 1: Ahududu Pi 3b
- Adım 2: Wiznet WIZ820io Modülünün Raspberry Pi GPIO Bus ile Arayüzlenmesi
- Adım 3: Devre Kartım
- Adım 4: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - "boot" Klasöründeki Girişler
- Adım 5: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - "Kaplamalar" Dizinindeki Girişler
- Adım 6: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - Adlı Dosyayı Düzenle: Config.txt
- Adım 7: Yeniden Başlattık. Umarım Gülersiniz
- 8. Adım: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - IP Adresini Ayarlama
- 9. Adım: Sonuç
- Adım 10: DTBO Dosyaları
Video: Raspberry Pi'nize WIZ820io / USR-ES1 - Wiznet W5500 Ağ Bağlantı Noktası Ekleyin: 10 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Kısmen böyle bir şey yapmaya olan ilgimden ve kısmen Codesys'e olan ilgimden dolayı bir süredir aklımda ikinci bir Ağ Arayüzü bağlantı noktasını bir Raspberry Pi'ye bağlamayı denemek vardı. Bu yüzden diğer projeleri yaparken düşündüm, okudum, karşılaştırdım, planladım ve alışveriş yaptım, böylece nihayet devam edip bir şeyler inşa edebildim.
Evet - biliyorum.. orada benzer bir şey yapacak birkaç "anahtar teslimi" hazır sistem var, ama gerçekten hiçbiri beni paramdan ayıracak kadar cazip değildi.
Gerçekte, Raspberry Pi ve Linux / Raspberry Pi IOS (Raspian) hakkında düşük düzeyde bilgim ve deneyimim var (Windows ve Android dünyalarında daha iyisini yapıyorum), derinlemesine Ağ Bilgisi yok (işleri çalıştırabilirim) ve ağlar kurun, ancak bunun ötesinde kafamın biraz üzerindeyim) ve Devre Kartları yapmaya daha yeni başladım. Elbette, ben bir programcı değilim.
Bir keresinde nihayet bir şeyler inşa etme fikriyle ilerlemeye karar verdim ve Wiznet - W5500 entegre Devresine dayanan WIZ820io / USR-ES1 modülünü kullanmayı seçtim. Bu modül, standart SPI veri yolunu kullanarak Raspberry Pi (ve diğer MCU'lar) ile iletişim kurabilir. Ek olarak, 3.3 VDC ile çalışır, bu nedenle Raspberry Pi'm için SIFIR hasar riski oluşturur.
Devre kartını tasarlarken, onu uygun bir "ŞAPKA" konfigürasyonunda (şekil ve yetenek) oluşturmayı seçtim ve "WIZ820io modülü için devre eklemeye ek olarak, burada kullanılmayan bir dizi başka öğe de ekledim. ağ oluşturma projesi, ancak gelecekte başka projeler için kullanabileceğim ve kullanacağım.
Tasarladığım / inşa ettiğim panonun üzerinde aşağıdaki öğeler var.
1 - Wiznet'i tutmak için bir soket - WIZ820io - Ethernet port modülü (Bunun için özel bir Eagle Footprint yaptım).
2 - Raspberry Pi CPU için 30 mm - 5 VDC soğutma fanı (Bunun için özel bir Eagle Footprint yaptım).
3 - HAT uyumluluk gereksinimlerini korumak için bir "CAT24C32" Bellek Yongası (bu henüz benim tarafımdan programlanmamıştır) (Bunun için özel bir Eagle Tasarım Bloğu yaptım).
4 - UART0'a bağlı mini bir MAX3232 - UART - TTL - RS-232 Seviye Dönüştürücü (Bunun için özel bir Eagle Footprint yaptım).
5 - Trafik Işığı - Python programlama çalışmaları için Kırmızı LED (GPIO24), Sarı LED (GPIO23) ve Yeşil LED (GPIO22) kullanılacaktır.
6 - Bir Yeşil LED (GPIO18) ve bir Yeşil LED (GPIO27) - programlama alıştırmaları ve sorun giderme için.
7 - GPIO25'e bağlı bir Dokunsal Anahtar - programlama alıştırmaları ve sorun giderme için (Bunun için özel bir Eagle Footprint yaptım). Bu GPIO'nun WIZ820io ile de kullanılacağını unutmayın.
Daha önce belirttiğim gibi, bu Eğitilebilir Tablo yalnızca bu listedeki 1. Madde ile ilgilenecektir. Tahtaya eklediğim diğer tüm öğeler, bu Ağ Arayüzü projesiyle ilgili olmayan başka nedenlerle orada.
Gereçler
Raspberry Pi - Daha eski bir Raspberry Pi 3B kullandım. Bunda yanlış bir şey yok.. Benimki ölü bir HDMI bağlantı noktasına sahip, bu yüzden erişmek için TeamViewer kullanarak "başsız" çalıştırıyorum. İşe yarıyor. Ahududu Pi'nin çoğu sürümünün, Raspberry Pi IOS'un (Raspian) daha yeni sürümlerini çalıştırabilmelerini SAĞLAYARAK bu Eğitilebilir Dosya ile çalışacağından şüpheleniyorum.
Tüm bunlara başlamadan önce elbette işletim sistemini güncelledim:
sudo apt-get güncellemesi
sudo apt-get yükseltme
WIZ820io / USR-ES1 - Bununla ilgili belgeler OEM'den çevrimiçi olarak edinilebilir
PC Kartı - PCB'yi tasarlamak için Autodesk Eagle'ı kullandım ve JLCPCB'nin devre kartını oluşturması için gerekli Gerber dosyalarını oluşturdum. Daha önce belirtildiği gibi, HAT uyumluluğu gereksinimini korumak için "CAT24C32" Bellek Yongasını da ekledim.
Adım 1: Ahududu Pi 3b
Raspberry Pi'ye gelince, bu projeyi standart bir Raspberry Pi 3b ile birlikte indirip kurabileceğim Raspberry Pi IOS'un (Raspian) en son sürümünü kullanarak yaptım.
Orada özel bir şey yok. Bu birime birkaç yıldır sahibim ve çoğunlukla benim için iyi çalıştı (pekala - HDMI video çıkışı öldü, bu yüzden TeamViewer kullanarak başsız çalıştırmak zorunda kaldım). Bunu yapmana gerek yok.
Herhangi bir RPi'nin bir WIZ820io / USR-ES1 - Wiznet W5500'e bağlanabilmesi ve bu işi yapabilmesi ve aynı pazarda rekabet eden diğer birçok markanın (Beagle Bone, Orange, Tinker, vb.) model Linux tabanlı işletim sistemi.
Bunlardan herhangi biriyle SIFIR deneyimim var. Ahududu ile çok az deneyimim var - bak bu beni nereye getirdi:)
Adım 2: Wiznet WIZ820io Modülünün Raspberry Pi GPIO Bus ile Arayüzlenmesi
Ekli resimleri inceleyiniz.
Wiznet WIZ820io modülü, her biri arabirim için iki sıra 6 pin sağlar.
Satırlar sırasıyla "J1 ve "J2" olarak etiketlenmiştir.
Sağladıkları Veri Sayfası, her pinin çok güzel bir renk kodlu şemasına sahiptir. Bu şema, bu pinleri Raspberry PI GPIO pinlerinize bağlamanıza yardımcı olmak içindir. NAME eşleşmesi için oldukça iyi bir NAME.
Raspberry Pi pinout'unu burada bulabilir: pinout.xyz
Bu pinleri aşağıdaki gibi bağladım (ekteki resme bakın):
Tabii ki gerçek bir devre kartı yaptığım için tüm Topraklar (GND) birbirine bağlıydı. Aynısı 3.3V'a kadar olan pinler için de geçerlidir - devre kartım bunları birbirine bağladı.
Dikkate alınması gereken birkaç şey..
1 - J2 Pin #5 - RSTn - Bunu RPi GPIO #17(Pin #11)'e bağladım - Bu uyarıcıydı. kullanıldığına inanmıyorum.
2. - J1 Pin #6 - INTn - GPIO25'e bağlı (Pin # 22). Bu gereklidir, çünkü Raspberry Pi IOS yapılandırma adımında buna değineceğiz.
3. - J1- Pin #5 - SCNn - Raspberry Pi "CS0"a bağlı (Pin # 24). Etkili bir şekilde bu, bu modüle RPi SPI Bus üzerindeki "Modül 0" adresini verir. Yine Raspberry Pi IOS yapılandırma adımında buna değineceğiz.
Adım 3: Devre Kartım
Ekli, oluşturduğum ve Gerber Dosyalarını oluşturduğum Eagle "Noktadan Noktaya" şemasıdır.
Ayrıca bu proje için hazırladığım "Devre Kartı" resimleri de ektedir.
Bu pano, WIZ820io stilinde bir dizi farklı Wiznet ürününü kabul edecektir.
Adım 4: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - "boot" Klasöründeki Girişler
Raspberry Pi'nin SPI veriyoluna yeni kurulan WIZ820io modülünü "görmesi" için, "BOOT Up" sırasında bununla başa çıkabilmesi için IOS'nin haberdar edilmesi gerekir.
Bunu yapmak için sadece iki satır ekleyeceğiz:../../boot/config.txt
İlk olarak.. Bir Terminal bölmesi / penceresi kullanma ==> ls
cd../boot,../boot yolunuza gidin ve dizini listeleyin (ls)
Ekli resme bakın.. Orada iki girişin varlığını aramanız ve onaylamanız gerekiyor - onları kırmızı ile daire içine aldım.
Biri, "config.txt" adlı bir dosyadır.
İkincisi, "overlays" adlı bir klasördür.
== == == ==
Bu girişlerin her ikisinin de varlığını onayladıktan sonra bir sonraki adıma geçebilirsiniz.
Adım 5: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - "Kaplamalar" Dizinindeki Girişler
Dizini "bindirmeler" dizinine değiştirin"
Tür: cd bindirmeleri
"Enter" tuşuna bastıktan sonra, bu sizi "overlays" klasörüne götürecektir (ekteki resme bakın).
Dizinin içeriğini listeleyin.
Tür: ls
"Enter" tuşuna bastıktan sonra, o dizinin içeriğinin uzun bir listesini görmelisiniz. Liste alfabetik olabilir.
(ekli resimlere bakın (2)). Hemen hemen TÜM dosyaların: *.dtbo uzantısıyla adlandırıldığına dikkat edin, ayrıca birkaçının *.dtb uzantısıyla adlandırıldığını da fark edebilirsiniz.
Bunlar TÜM "Aygıt Ağacı" bindirme dosyalarıdır
İki "bindirme" dosyasının varlığını onaylamanız gerekir (ekli resim dosyalarına bakın).
1. - adlı bir dosya: anyspi.dtbo (bunun için, en üste geri kaydırmak ve alfabetik olarak sıralanmış anyspi.dtbo'yu bulmak için pencerenin sağ kenarındaki kaydırma çubuğunu kullanmanız gerekebilir).
2. - w5500.dtbo adlı bir dosya
== == ==
Bu dosyaların her ikisinin de mevcut olduğunu onaylayabilirseniz, iyi durumdasınız ve../boot dizinine dönebilirsiniz.
Şunu yazın: cd../ ENTER tuşuna bastıktan sonra /boot dizinine geri dönmelisiniz.
Onaylanacak dizini listeleyin: ls yazın ve ENTER tuşuna basın
Adım 6: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - Adlı Dosyayı Düzenle: Config.txt
../boot dizininde, artık config.txt adlı dosyada birkaç küçük düzenleme yapmak için çalışabiliriz.
İlk önce "nano" düzenleyiciyi "süper kullanıcı" (sudo) olarak çağıracağız.
sudo = 'süper kullanıcı'
nano, kullanacağımız metin düzenleyicisidir
ve belirtildiği gibi, config.txt düzenlemek istediğimiz dosyadır.
Şunu yazın: sudo nano config.txt ve ENTER tuşuna basın.
Bu, düzenleyiciyi getirecek ve config.txt dosyasının içeriğini görüntüleyecektir. Düzenleyici açılmazsa veya boş açılırsa çıkın (nano'daysa) ve yazımınızı iki kez kontrol edin.
Her şey yolunda giderse, ekteki ikinci resimdeki gibi bir şey görmelisiniz. "nano", dosyanın en "üst" kısmını görüntüleyecektir. en alta kaydırmanız gerekecek.
Dosyanın en altına, aşağıdaki iki "dtoverlay ifadesini" ekleyin:
dtoverlay=anyspi, spi0-0, dev="w5500", hız=30000000dtoverlay=w5500
Tüm yazımları iki kez kontrol edin ve eğer eşleşirse, çıkmak için iki "Ctrl-x" tuşuna basın ve uygun şekilde yanıtlayarak kaydedip çıkın.
== == == ==
Bir sonraki açılışta (ve bu iki ifade orada kalırsa daha sonraki tüm açılışlarda) işletim sistemi artık "anyspi" adlı kaplamayı ve "w5500" adlı kaplamayı da çağıracaktır.
"Anyspy" kaplaması, işletim sistemini SPI0-0 veri yolunu kullanmaya hazırlar (bu, daha önce WIZ820io'yu fiziksel olarak bağladığımız yerdir. "-0", "0" adresini kullanmasını belirtir - daha önce WIZ820io pinini bağladığımızı hatırlayın #J1-6, RPi GIPO "CEO"suna (Pin #24).
"w5500" yerleşimi, işletim sistemine WIZ820io modülünde bulunan W5500 entegre devresi ile nasıl başa çıkılacağını anlatır. Ayrıca INTn sinyali olarak RPi GPIO25'in (Pin #22) kullanımını tanımlar. Bu bağlantıyı daha önce yaptığımızı bir kez daha hatırlayın.
Bu tür bilgiler, GITHub'da bulunan bu örnek gibi çeşitli dosyalarda bulunabilir.
== == ==
RPI'yi yeniden başlatma ve tüm bunların yürürlüğe girmesini sağlama zamanı.
Adım 7: Yeniden Başlattık. Umarım Gülersiniz
Her şey yolunda giderse, RPI'niz normal şekilde yeniden başlatılmış olmalıdır. Gülümsemek.
IOS'nin iki yeni bindirme dosyasını yükleyip yüklemediğini ve bağlı WIZ820io modülünü tanıyıp tanımadığını kontrol etme zamanı.
Bir kez daha bir "Komut" penceresi açın.
Bu sefer komut istemine ifconfig yazın (veya daha yeni "ip" komutunu kullanın) ve Enter tuşuna basın.
Muhtemelen uzun bir yanıt alacaksınız, bu nedenle en üste geri kaydırmanız gerekecek.
En üstte, iki bölümü arayın:
Biri eth0, diğeri eth1 adında - ekteki resme bakın.
Sistemimde eth0, RPI üzerindeki Ethernet portudur. eth1, yeni WIZ820io Ethernet Bağlantı Noktasıdır.
== == ==
İki bağlantı noktasını görüyorsanız, RPI de öyle. Ekli resimde dikkat edin, eth1 paketleri gönderdi ve hatasız.
Bunu, orijinal bağlantı noktası kablosunu çıkararak ve tarayıcıyı kullanarak YouTube'a ve diğer web sitelerine gitmek için test ettim. Çalışıyor. Ayrıca birkaç farklı cihazdan "ping" yaptım ve işe yarıyor.
== == ==
Bir RPI3 veya RPi4'te eth0 dışında eth1 (veya benzeri bir şey) görmüyorsanız, geri dönüp config.txt dosyasının düzgün şekilde düzenlenip kaydedildiğini iki kez kontrol etmeyi deneyin. İki bindirmenin yerinde olduğundan ve yazımın doğru olduğundan emin olun (bunların olmadığı yerde büyük harf yok - bu sistemde büyük harfler önemlidir).
== == ==
İki bağlantı noktası mevcutsa, bir sonraki adıma geçmek için biraz daha yapılandırma işi olabilir….
8. Adım: Raspberry Pi IOS (eski adıyla Raspian) Yapılandırması - IP Adresini Ayarlama
Bu benim tekerlek evimin biraz dışında, bu yüzden şu anda rehberlik sağlayamıyorum.
Bu tür bilgileri sağlayan sayısız web sitesi, YouTube videosu ve mesaj panosu olduğunu bilin.
ama.. kontrol etmek ve burada birkaç şey yapmak isteyebilirsiniz.
1 - Yeni bağlantı noktanızın şu anda sahip olduğu IP adresini iki kez kontrol edin. DHP sunucunuz tarafından mı atandı, yoksa varsayılan IP mi - 169.254.xxx.yyy aralığında bir şey mi? başka bir şey mi??
2- Statik (sabit) bir IP adresi mi yoksa Dinamik bir IP adresi mi (DHCP sunucunuz tarafından atanan) istiyorsunuz.
RPI'nizin bağlı olduğu anahtarı/yönlendiriciyi kontrol edin.. yeni bağlantı noktanızı görüyor mu? "Ping" yapabilir mi? (Bunu yaparsanız orijinal bağlantı noktası kablosunu çıkardığınızdan emin olun - aksi takdirde RPI sizi kandırabilir).
Gelen ve giden verilerin "normal" (deyim yerindeyse) ve aşırı sayıda hata olmadan göründüğünü görmek için ifconfig (veya daha yeni "ip" komutunu) kullanın.
== == ==
Son olarak.. W5500.dtbo'nun WIZ820io / W5500 modülüne bir MAC adresi ataması olduğuna inanıyorum.. ama bunun olduğu yer olup olmadığını kesin olarak söyleyemem. Bununla ilgili ayrıntıları hemen bulamadım.
Bana göre her açılışta farklı bir MAC adresi atanıyor. Şahsen bundan hoşlanmıyorum ve sonuç olarak Mac Adresini ayarlamak için yapılabilecek şeyler var (örneğin "macchanger" programı veya ip / ifconfig komutları aracılığıyla ayarlama). Herhangi biriniz buna bir "boot-up" / "crontab" çözümü bulursa, paylaşıma açıksanız nasıl yaptığınızı duymaktan memnuniyet duyarım.
Benimkini resimde görebilirsiniz.. eth0 ==> b827eb için Mac Adresi satıcısına baktığımda Raspberry Pi Vakfı olarak çıkıyor. eth1 ==> fa9770 için satıcı bilinmeyen olarak çıkıyor, bu yüzden açıkçası, bir noktada Pi'mde oluşturuldu.
9. Adım: Sonuç
Bu Eğitilebilir Tabloyu kontrol ettiğiniz için teşekkür ederiz.
Bu küçük projeyle çalışırken biraz öğrendim.
Herhangi bir sorunuz varsa veya oluşturduğum (doldurulmuş veya doldurulmamış) panolardan birini satın almakla ilgilenirseniz, satılık ve tartışabileceğimiz bazı ekstralar var.
Her durumda, yorum bırakmanızı, düzeltmeler önermenizi rica ediyorum (yazım hataları veya yöntemler veya??)
Kesinlikle, bunu kendiniz için yaparsanız, bununla nasıl başa çıktığınızı ve nihai sonuçlarınızı / amacınızı görmekten çok memnun olurum.
Teşekkürler.
Not: Bu arkadaşa rehberlik ve fikirler için teşekkürler.
Adım 10: DTBO Dosyaları
"Kaplamalar klasörünüze eklenecek iki dosya - 4. ve 5. Adımlar için Gereklidir"
Önerilen:
Raspberry Pi -> Wifi Bağlantı Noktası: 10 Adım
Raspberry Pi -> Wifi Hotspot: Hiç wifi olmayan bir yere gittiniz ve arkadaşlarınızın hotspot vermediği oldu mu? Bende var ve bu talimatlarda size adım adım Raspberry Pi'nizi bir kablosuz erişim noktasına nasıl dönüştüreceğinizi göstereceğim. Daha da iyisi, bu proje size daha az mal olacak
Raspberry Pi'de Ethernet Bağlantı Noktası ile WiFi Paylaşın: 7 Adım (Resimlerle)
Ahududu Pi'de Ethernet Bağlantı Noktası ile WiFi Paylaşın: Hala harika çalışan ancak wifi uyumlu olmayan eski bir lazer yazıcınız veya tarayıcınız var mı? Veya ağınızda yedekleme aygıtı olarak harici bir sabit sürücü bağlamak istiyorsunuz ve ev yönlendiricinizdeki ethernet bağlantı noktalarınız tükendi. Bu enstr
IPod Mini'nize Daha Fazla GB Ekleyin: 8 Adım (Resimlerle)
IPod Mini'nize Daha Fazla GB Ekleyin: Ablam doğum günü için yeni Nano'yu aldı, ben 2. nesil ile kaldım ve eski mini'si odasında toz topluyor! Yeni bir iPod aldı çünkü Mini'si çalışıyor, değil şarj oluyor ve hemen hemen hiç çalışmıyor. Karar verdim
IPod 4G'nize DAHİLİ Bluetooth Özelliği Ekleyin: 7 Adım (Resimlerle)
IPod 4G'nize DAHİLİ Bluetooth Yeteneği Ekleyin: Eğer benim gibiyseniz, Apple'ın iPod serisine neden yerel Bluetooth özelliğini eklemediğini sık sık kendinize sormuşsunuzdur. iPhone bile yalnızca mono Bluetooth'u destekler! Elbette, iPod'un dock konektörüne takılan çok sayıda adaptör vardır
LG Env2'nize Ücretsiz Oyunlar Ekleyin: 5 Adım
LG Env2'nize Ücretsiz Oyunlar Koyun: LG env2'niz var ama bir oyuna para harcamak istemiyor musunuz? işte telefonunuza oyunları nasıl koyacağınıza dair bir talimat