Daftar Isi:

Tambahkan WIZ820io / USR-ES1 - Port Jaringan Wiznet W5500 ke Raspberry Pi Anda.: 10 Langkah
Tambahkan WIZ820io / USR-ES1 - Port Jaringan Wiznet W5500 ke Raspberry Pi Anda.: 10 Langkah

Video: Tambahkan WIZ820io / USR-ES1 - Port Jaringan Wiznet W5500 ke Raspberry Pi Anda.: 10 Langkah

Video: Tambahkan WIZ820io / USR-ES1 - Port Jaringan Wiznet W5500 ke Raspberry Pi Anda.: 10 Langkah
Video: Tambahkan Cinta ( Tune Wai Kasie ) - Lagu Acara Papua 2020 2024, November
Anonim
Tambahkan WIZ820io / USR-ES1 - Port Jaringan Wiznet W5500 ke Raspberry Pi Anda
Tambahkan WIZ820io / USR-ES1 - Port Jaringan Wiznet W5500 ke Raspberry Pi Anda

Sebagian karena minat saya untuk melakukan sesuatu seperti ini, dan sebagian karena minat saya pada Codesys, saya sudah memikirkannya untuk sementara waktu sekarang untuk mencoba dan menghubungkan port Antarmuka Jaringan kedua ke Raspberry Pi. Jadi saat mengerjakan proyek lain, saya telah berpikir, membaca, membandingkan, merencanakan, dan berbelanja sehingga akhirnya saya dapat melanjutkan dan membangun sesuatu.

Ya - saya tahu.. ada beberapa sistem "turn-key" siap pakai yang tersedia di luar sana yang akan melakukan hal serupa, tetapi sebenarnya tidak ada yang cukup menarik untuk memisahkan saya dari uang saya.

Pada kenyataannya, saya memiliki tingkat pengetahuan dan pengalaman yang rendah tentang Raspberry Pi dan Linux / Raspberry Pi IOS (Raspian) (saya lebih baik di dunia Windows dan Android), tidak ada pengetahuan mendalam tentang Jaringan (saya dapat membuat semuanya bekerja dan membangun jaringan, tetapi di luar itu saya sedikit berlebihan), dan saya baru saja mulai membuat Papan Sirkuit. Yang pasti, saya bukan seorang programmer.

Suatu ketika saya akhirnya memutuskan untuk bergerak maju dengan ide membangun sesuatu ini, dan memilih untuk menggunakan modul WIZ820io / USR-ES1, yang didasarkan pada Sirkuit terintegrasi Wiznet - W5500. Modul ini dapat berkomunikasi dengan Raspberry Pi (dan MCU lainnya) menggunakan bus SPI standar. Selain itu, ia menjalankan 3,3 VDC, sehingga menimbulkan risiko kerusakan NOL pada Raspberry Pi saya.

Saat mendesain papan sirkuit, saya memilih untuk membuatnya dalam konfigurasi "HAT" yang tepat (bentuk dan kemampuan), dan selain menambahkan sirkuit untuk modul "WIZ820io, saya juga menambahkan sejumlah item lain yang TIDAK digunakan dalam ini. proyek jaringan, tetapi yang saya dapat dan akan digunakan untuk proyek lain di masa depan.

Papan yang saya rancang / buat memiliki item berikut di atasnya.

1 - Soket untuk menahan Wiznet - WIZ820io - modul port Ethernet (Saya membuat Eagle Footprint khusus untuk ini).

2 - Kipas pendingin 30 mm - 5 VDC untuk CPU Raspberry Pi (Saya membuat Eagle Footprint khusus untuk ini).

3 - Chip Memori "CAT24C32" untuk mempertahankan persyaratan kompatibilitas HAT (ini belum diprogram oleh saya) (Saya membuat Blok Desain Elang khusus untuk ini).

4 - Konverter Level MAX3232 mini - UART - TTL ke RS-232 yang terhubung ke UART0 (Saya membuat Jejak Elang khusus untuk ini).

5 - LED Merah (GPIO24), LED Kuning (GPIO23) dan LED Hijau (GPIO22) untuk digunakan pada Traffic Light - latihan pemrograman Python.

6 - LED Hijau (GPIO18) dan LED Hijau (GPIO27) - untuk latihan pemrograman dan pemecahan masalah.

7 - Saklar Taktil yang terhubung ke GPIO25 - untuk latihan pemrograman dan pemecahan masalah (saya membuat Jejak Elang khusus untuk ini). CATATAN bahwa GPIO ini juga akan digunakan dengan WIZ820io.

Jadi seperti yang saya catat sebelumnya, Instruksi ini hanya akan menangani Item #1 di daftar ini. Semua item lain yang saya tambahkan di papan ada karena alasan lain yang tidak terkait dengan proyek Antarmuka Jaringan ini.

Perlengkapan

Raspberry Pi - Saya menggunakan Raspberry Pi 3B yang lebih lama. Tidak ada yang salah dengan itu.. Milik saya memiliki port HDMI yang mati, jadi saya menjalankannya "tanpa kepala" menggunakan TeamViewer untuk mengaksesnya. Berhasil. Saya sangat curiga bahwa sebagian besar versi Raspberry Pi akan bekerja dengan Instructable ini MENYEDIAKAN bahwa mereka dapat menjalankan versi Raspberry Pi IOS (Raspian) yang lebih baru.

Sebelum memulai semua ini, tentu saja saya memperbarui sistem operasi:

sudo apt-get update

sudo apt-get upgrade

WIZ820io / USR-ES1 - Dokumentasi untuk ini tersedia online dari OEM

Papan PC - Saya menggunakan Autodesk Eagle untuk mendesain PCB, dan menghasilkan file Gerber yang diperlukan untuk JLCPCB untuk membuat papan sirkuit. Seperti yang disebutkan sebelumnya, saya juga menambahkan Chip Memori "CAT24C32" untuk menjaga persyaratan kompatibilitas HAT.

Langkah 1: Raspberry Pi 3b

Raspberry Pi 3b
Raspberry Pi 3b

Sedangkan untuk Raspberry Pi, project ini saya buat menggunakan standar Raspberry Pi 3b, beserta Raspberry Pi IOS (Raspian) versi terbaru yang bisa saya download dan install.

Tidak ada yang istimewa di sana. Saya telah memiliki unit itu selama beberapa tahun, dan sebagian besar bekerja dengan baik untuk saya (well - output video HDMI mati jadi saya terpaksa menjalankan tanpa kepala menggunakan TeamViewer). Anda tidak perlu melakukan ini.

Saya menduga bahwa setiap RPi harus dapat terhubung ke WIZ820io / USR-ES1 - Wiznet W5500 dan membuat ini berfungsi, serta banyak merek lain bersaing di pasar yang sama (Beagle Bone, Orange, Tinker, dll) dan menggunakan yang serupa model OS berbasis Linux.

Saya memiliki pengalaman NOL dengan semua itu. Saya memiliki sedikit pengalaman dengan Raspberry - lihat di mana itu membuat saya:)

Langkah 2: Menghubungkan Modul Wiznet WIZ820io ke Raspberry Pi GPIO Bus

Menghubungkan Modul Wiznet WIZ820io ke Raspberry Pi GPIO Bus
Menghubungkan Modul Wiznet WIZ820io ke Raspberry Pi GPIO Bus
Menghubungkan Modul Wiznet WIZ820io ke Raspberry Pi GPIO Bus
Menghubungkan Modul Wiznet WIZ820io ke Raspberry Pi GPIO Bus
Menghubungkan Modul Wiznet WIZ820io ke Raspberry Pi GPIO Bus
Menghubungkan Modul Wiznet WIZ820io ke Raspberry Pi GPIO Bus

Tinjau gambar terlampir.

Modul Wiznet WIZ820io menyediakan dua baris masing-masing 6 pin untuk antarmuka.

Baris diberi label "J1 dan "J2" masing-masing.

Lembar Data yang mereka berikan memiliki diagram kode warna yang sangat bagus dari setiap pin. Diagram ini dimaksudkan untuk membantu Anda dalam menghubungkan pin tersebut ke pin Raspberry PI GPIO Anda. Mereka cukup cocok dengan NAME untuk NAME.

Pinout Raspberry Pi dapat dia temukan di sini: pinout.xyz

Saya menghubungkan pin tersebut sebagai berikut (lihat gambar terlampir):

Tentu saja, karena saya membuat papan sirkuit yang sebenarnya, semua Ground (GND) terhubung bersama. Hal yang sama berlaku untuk pin 3.3V - papan sirkuit saya menghubungkannya bersama-sama.

Beberapa hal yang perlu diperhatikan..

1 - J2 Pin #5 - RSTn - Saya menghubungkannya ke RPi GPIO #17(Pin #11) - Itu peringatan. Saya tidak percaya bahwa itu digunakan.

2nd - J1 Pin #6 - INTn - Itu terhubung ke GPIO25 (Pin #22). Ini diperlukan, karena dalam langkah konfigurasi Raspberry Pi IOS, kami akan merujuk ke ini.

3rd - J1- Pin #5 - SCNn - Itu terhubung ke Raspberry Pi "CS0" (Pin # 24). Secara efektif yang memberikan modul ini alamat "Modul 0" pada Bus RPi SPI. Sekali lagi, dalam langkah konfigurasi Raspberry Pi IOS, kami akan merujuk ke ini.

Langkah 3: Papan Sirkuit Saya

Papan Sirkuit Saya
Papan Sirkuit Saya
Papan Sirkuit Saya
Papan Sirkuit Saya
Papan Sirkuit Saya
Papan Sirkuit Saya

Terlampir adalah skema Eagle "Point to Point" yang saya buat dan yang dengannya saya membuat File Gerber.

Juga terlampir adalah gambar dari "Papan Sirkuit" yang saya buat untuk proyek ini.

Papan ini akan menerima sejumlah produk Wiznet yang berbeda dari gaya WIZ820io.

Langkah 4: Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di Folder "boot"

Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di

Agar Raspberry Pi "melihat" modul WIZ820io yang baru diinstal pada bus SPI-nya, IOS perlu disadarkan, sehingga dapat menanganinya selama "BOOT Up".

Untuk melakukan ini, kita cukup menambahkan dua baris ke:../../boot/config.txt

Pertama.. Menggunakan panel/jendela Terminal ==> ls

cd../boot, navigasikan jalan Anda ke../boot dan daftar (ls) direktori

Referensi gambar terlampir.. Di sana Anda perlu mencari dan mengkonfirmasi keberadaan dua entri - saya telah melingkari mereka dengan warna merah.

Salah satunya adalah file bernama: "config.txt"

Yang kedua adalah folder bernama: "overlay"

== == == ==

Setelah Anda mengkonfirmasi keberadaan kedua entri ini, Anda dapat melanjutkan ke langkah berikutnya

Langkah 5: Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di Direktori "overlay"

Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Entri di

Ubah Direktori ke direktori "hamparan""

Jenis: hamparan cd

Setelah menekan tombol "enter", itu akan membawa Anda ke folder "overlay" (lihat gambar terlampir).

Daftar isi direktori.

Tipe: ls

Setelah menekan tombol "enter", Anda akan melihat daftar panjang isi direktori itu. Daftar mungkin abjad.

(lihat gambar terlampir (2 dari)). Perhatikan bahwa hampir SEMUA file diberi nama dengan ekstensi: *.dtbo Anda mungkin juga melihat beberapa bernama dengan ekstensi: *.dtb

Ini adalah SEMUA file overlay "Device Tree"

Anda perlu mengonfirmasi keberadaan dua file "overlay" (lihat file gambar terlampir).

1 - file bernama: anyspi.dtbo (untuk yang ini, Anda mungkin perlu menggunakan bilah gulir di margin kanan jendela untuk menggulir kembali ke atas dan menemukan anyspi.dtbo yang diurutkan menurut abjad).

2 - file bernama w5500.dtbo

== == ==

Jika Anda dapat mengonfirmasi bahwa kedua file ini ada, maka Anda dalam kondisi baik dan dapat kembali ke direktori../boot.

Ketik: cd../ setelah menekan tombol ENTER, Anda akan dibawa kembali ke direktori /boot.

Daftar direktori untuk konfirmasi: ketik: ls dan tekan tombol ENTER

Langkah 6: Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Edit File Named: Config.txt

Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Edit File Bernama: Config.txt
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Edit File Bernama: Config.txt
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Edit File Bernama: Config.txt
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Edit File Bernama: Config.txt
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Edit File Bernama: Config.txt
Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Edit File Bernama: Config.txt

Di direktori../boot, sekarang kita dapat bekerja untuk melakukan beberapa pengeditan kecil pada file bernama: config.txt

Pertama-tama kita akan memanggil editor "nano" sebagai "pengguna super" (sudo)

sudo = 'pengguna super"

nano adalah editor teks yang akan kita gunakan

dan seperti yang disebutkan, config.txt adalah file yang ingin kita edit.

Ketik: sudo nano config.txt dan tekan ENTER.

Ini akan memunculkan editor, dan menampilkan konten file config.txt. Jika editor tidak terbuka, atau terbuka kosong, maka keluar (jika dalam nano) dan periksa kembali ejaan Anda.

Jika semuanya berjalan dengan baik, Anda akan melihat sesuatu seperti pada gambar terlampir kedua. "nano" akan menampilkan bagian paling "atas" dari file. Anda harus menggulir ke bagian paling bawah.

Di bagian paling bawah file, tambahkan dua "pernyataan dtoverlay" di bawah ini:

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

Periksa kembali semua ejaan, dan jika cocok, tekan dua tombol "Ctrl-x" untuk keluar.. dan jawab dengan benar untuk menyimpan dan keluar.

== == == ==

Pada boot-up berikutnya (dan untuk semua boot-up setelahnya jika kedua pernyataan tersebut tetap ada) sistem operasi sekarang juga akan memanggil overlay bernama "anyspi" dan overlay bernama "w5500".

Overlay "anyspy" mempersiapkan sistem operasi untuk menggunakan bus SPI0-0 (di situlah kami sebelumnya secara fisik menghubungkan WIZ820io ke. "-0" menentukannya untuk menggunakan alamat "0" - ingat bahwa kami sebelumnya menghubungkan pin WIZ820io #J1-6 ke "CEO" RPi GIPO (Pin #24).

Hamparan "w5500" memberi tahu sistem operasi cara menangani sirkuit terpadu W5500 yang terletak di modul WIZ820io. Ini juga mendefinisikan untuk menggunakan RPi GPIO25 (Pin #22) sebagai sinyal INTn. Ingat sekali lagi bahwa kita sebelumnya membuat hubungan ini.

Informasi semacam ini dapat ditemukan di berbagai file, seperti contoh yang ada di GIThub ini.

== == ==

Saatnya mem-boot ulang RPI, dan membuat semua ini berlaku.

Langkah 7: Kami telah mem-boot ulang. Saya Harap Anda Tersenyum

Kami telah mem-boot ulang. Saya Harap Anda Tersenyum
Kami telah mem-boot ulang. Saya Harap Anda Tersenyum
Kami telah mem-boot ulang. Saya Harap Anda Tersenyum
Kami telah mem-boot ulang. Saya Harap Anda Tersenyum

Jika semuanya berjalan dengan baik, RPi Anda seharusnya melakukan boot ulang secara normal. Senyum.

Saatnya untuk memeriksa apakah IOS memuat dua file overlay baru, dan apakah itu mengenali modul WIZ820io yang terlampir.

Sekali lagi buka jendela "Perintah".

Kali ini pada prompt, ketik ifconfig (atau gunakan perintah "ip" yang lebih baru), dan tekan tombol Enter.

Anda mungkin akan mendapatkan respons yang panjang, jadi Anda harus menggulir kembali ke atas.

Kembali ke atas, cari dua bagian:

Satu bernama eth0, dan yang kedua bernama: eth1 - lihat gambar terlampir.

Di sistem saya, eth0 adalah port Ethernet pada RPI. eth1 adalah Port Ethernet WIZ820io baru.

== == ==

Jika Anda melihat dua port, maka RPI juga demikian. Perhatikan pada gambar terlampir, eth1 telah mengirim paket, dan tanpa kesalahan.

Saya telah menguji ini dengan melepaskan kabel port asli, dan menggunakan browser untuk membuka YouTube dan situs web lain.. Berhasil. Saya juga "ping'd" dari beberapa perangkat yang berbeda dan berfungsi.

== == ==

Jika Anda tidak melihat eth1 (atau yang serupa) - selain eth0 pada RPI3 atau RPi4, coba kembali dan periksa ulang apakah config.txt telah diedit dan disimpan dengan benar. Pastikan bahwa kedua overlay berada di tempatnya, dan ejaannya benar (tidak ada huruf kapital di mana saya tidak memilikinya - huruf kapital penting dalam sistem ini).

== == ==

Jika dua port ada, maka mungkin ada sedikit pekerjaan konfigurasi yang harus dilakukan… lanjut ke langkah berikutnya….

Langkah 8: Konfigurasi Raspberry Pi IOS (sebelumnya Raspian) - Mengatur Alamat IP

Ini agak keluar dari rumah kemudi saya, jadi saat ini saya tidak bisa memberikan bimbingan.

Ketahuilah bahwa ada banyak sekali situs web, video YouTube, dan papan pesan yang menyediakan informasi semacam ini.

tapi.. Anda mungkin ingin memeriksa dan melakukan beberapa hal di sini.

1 - Periksa kembali alamat IP yang dimiliki port baru Anda saat ini. apakah itu ditetapkan oleh server DHP Anda, atau apakah itu IP default - sesuatu dalam kisaran: 169.254.xxx.yyy ? Apakah itu sesuatu yang lain??

2- Apakah Anda menginginkan alamat IP Statis (tetap) atau alamat IP Dinamis (ditetapkan oleh server DHCP Anda).

Periksa sakelar / router yang terhubung dengan RPI Anda.. apakah itu melihat port baru Anda? bisa "Ping" itu? (pastikan untuk melepaskan kabel port asli jika Anda melakukan ini - jika tidak, RPi dapat menipu Anda).

Gunakan ifconfig (atau perintah "ip" yang lebih baru) untuk melihat bahwa data yang datang dan pergi terlihat "normal" (bisa dikatakan) dan tanpa kesalahan yang berlebihan.

== == ==

Terakhir.. Saya percaya bahwa w5500.dtbo memberikan alamat MAC ke modul WIZ820io / W5500.. tapi saya tidak bisa mengatakan dengan pasti jika itu terjadi. Saya tidak dapat segera menemukan detail tentang itu.

Bagi saya tampaknya alamat MAC yang berbeda diberikan setiap kali boot. Saya pribadi tidak suka itu, dan akibatnya ada hal yang bisa dilakukan untuk mengatur Mac Address (program "macchanger" misalnya atau mengaturnya melalui perintah ip/ifconfig). Jika ada di antara Anda yang menemukan solusi "boot-up" / "crontab" untuk ini, saya akan senang mendengar tentang bagaimana Anda melakukannya jika Anda mau berbagi.

Anda dapat melihat milik saya di gambar.. Ketika saya mencari vendor Alamat Mac untuk eth0 ==> b827eb, itu muncul sebagai Raspberry Pi Foundation. Vendor untuk eth1 ==> fa9770 muncul sebagai tidak dikenal, jadi jelas, itu dibuat di Pi saya di beberapa titik..

Langkah 9: Kesimpulan

Terima kasih telah memeriksa Instructable ini.

Saya belajar sedikit bekerja melalui proyek kecil ini.

Jika Anda memiliki pertanyaan, atau mungkin tertarik untuk membeli salah satu papan yang saya buat (berisi atau tidak), saya memiliki beberapa tambahan untuk dijual dan yang dapat kita diskusikan.

Bagaimanapun, saya mendorong Anda untuk meninggalkan komentar, menyarankan koreksi (salah ketik atau metode atau ??)

Yang paling pasti, jika Anda membuat ini untuk diri Anda sendiri, saya akan sangat senang melihat foto bagaimana Anda menanganinya, dan hasil/tujuan akhir Anda.

Terima kasih.

P. S.: Terima kasih kepada rekan ini atas bimbingan dan ide-idenya.

Langkah 10: File DTBO

Dua file untuk ditambahkan ke folder overlay - Diperlukan untuk Langkah #4 dan #5

Direkomendasikan: