Merhabalar. Raspberry Pi’nin yeni Pi Zero modelinde bildiğimiz üzere Ethernet ve tam boy USB bağlantıları bulunmuyor. Bu eksiklik Pi Zero’muzu internete bağlamak istediğimiz durumda bize oldukça zahmetli bir bağlantı süreci olarak karşımıza çıkıyor. Bu yazıda sizlere GPIO pinlerini kullanarak bağlanan ENC28J60 Ethernet modülünü Raspberry Pi ile kullanmayı anlatacağım.
ENC28J60 modülü, SPI üzerinden haberleşmeye sahiptir. Uygun fiyatı sebebiyle Arduino projelerinde shield ve modül formunda sıkça kullanılmaktadır. Üzerinde Microchip firmasının üretmiş olduğu ENC28J60 Ethernet kontrolcü entegresi mevcuttur.
Bu yazıyı hazırlarken elimde Pi Zero bulunmadığı için modülü Raspberry Pi 2 kullanarak denedim. Pi Zero ile Pi 2’nin GPIO dizilimi aynı olduğundan ve her iki kart ta Raspbian işletim sistemini kullandığından modül tüm Raspberry Pi modelleri ile çalışacaktır. Bu yazıyı yazdığım sırada en güncel Raspbian sürümü 21 Kasım 2015 tarihinde yayımlanan Jessie sürümü idi. Ethernet modülünün çalışabilmesi için güncel bir Raspbian sürümü kullanmamız gerekli. Ayrıca her zaman en güncel Raspbian sürümünü kullanmanız sizin faydanıza olacaktır. Eğer Raspbian sürümünüz eski ise
sudo aptitude update && sudo aptitude upgrade
komutu ile işletim sistemi paketlerini güncelleyebilirsiniz. Paketleri güncelledikten sonra, çekirdeği güncellemek için
sudo rpi-update
komutunu veriyoruz. Bu işlem bittikten sonra Raspberry Pi’miz yeniden başlatılıyor ve en güncel çekirdeğe sahip oluyoruz. Daha sonra, Raspberry Pi’mizin SPI arabirimi açık değil ise
sudo raspi-config
komutunu vererek Advanced Options altından SPI‘ı aktif hale getiriyoruz ve çekirdek modüllerinin otomatik olarak yüklenmesini sağlıyoruz:
Bu işlemleri tamamladıktan sonra
sudo nano /boot/config.txt
komutunu vererek bu dosyanın en alt kısmına
dtoverlay=enc28j60,int_pin=25
satırını ekliyoruz.
Satırı ekledikten sonra sırasıyla Ctrl+O, Enter ve Ctrl+X yaparak dosyayı kaydederek kapatıyoruz. Daha sonra Raspberry Pi’mizin gücünü keserek Ethernet modülünün bağlantısını aşağıdaki gibi yapıyoruz:
ENC - RPi ======= VCC - 3.3V GND - GND CS - CE0 (GPIO 8) SI - MOSI (GPIO 10) SCK - SCKL (GPIO 11) SO - MISO (GPIO 9) IRQ - GPIO 25
Bağlantıyı düzgün yaptıysanız, Ethernet modülünüz aktif hale gelecektir. Benim kullandığım kart Raspberry Pi 2 olduğundan, dahili Ethernet portu eth0 olarak geçmekte. Modül ise eth1 olarak görünüyor:
İpucu: Eğer Raspberry Pi Zero kullanıyorsanız ve bu modül hariç başka bir bağlantı imkanınız yoksa, güncel Raspbian sürümünü SD kartınıza yazdıktan sonra bilgisayarınızı kullanarak doğrudan modül için gerekli kurulumu yapabilirsiniz. Windows kullanıyorsanız Notepad++ programını indirip yükleyin. Raspbian imajını yazdığınız SD kart sürücünüze girerek burada bulunan config.txt dosyasını Notepad++ ile açın ve
dtparam=spi=on dtoverlay=enc28j60,int_pin=25
satırlarını en alt kısma ekleyin. Dosyayı kaydedip kapattığınızda, Raspberry Pi Zero’nuza SD kartı takıp modülün bağlantısını yaparak doğrudan Ethernet bağlantısına sahip olabilirsiniz.
#ÜretmektenKorkma
Bu modülün arduino ile nasıl kullanıldığınıda anlatır mısınız